#postgresql #authentication #pgadmin-4 #connexion
#postgresql #аутентификация #pgadmin-4 #подключение
Вопрос:
У меня установлен PostgreSQL 12 и используется Windows 10. Моя цель — подключиться к postgre через php, потому что это не сработало, я пробовал с plsql, но это тоже не сработало, я всегда получаю (как с plsql, так и с php с использованием PDO):
FATAL: password authentication failed for user "postgres"
Однако при попытке через pgAdmin4 я могу подключиться и получить доступ к своим базам данных. Сначала я использую свой пароль root, а затем когда-нибудь свой пользовательский postgres, поэтому я уверен, что мой пароль работает.
Вот мой файл pg_hba.conf: файл pg_hba.conf
У меня есть установленный пароль для postgres, который был установлен vua pgAdmin4.
Я не понимаю, почему это будет работать так, а не иначе, кто-нибудь может мне помочь?
Комментарии:
1. Попробуйте ввести другой пароль через pgAdmin4. ИЗМЕНИТЕ ПАРОЛЬ ПОЛЬЗОВАТЕЛЯ postgres ‘NewPassword’;
2. @является ли ALTERROLE и ALTER USER одинаковыми? Я все равно сделал и то, и другое, и это применялось и работало для pgAdmin4, но не для plsql. Другое дело, что при запуске pgAdmin с моим навигатором по умолчанию (Opera) я могу открыть некоторые базы данных, но не ту, которую я хочу (внутренняя ошибка Uknown), тогда как с Firefox я могу открыть все
3. На самом деле я нашел проблему, я опубликую ответ, спасибо в любом случае!
Ответ №1:
Итак, после нескольких попыток я обнаружил, что ошибка plsql и php была вызвана неправильным адресом порта.
По умолчанию используется 5432, но по какой-то причине в моей конфигурации использовался 5433. Вы можете найти эту информацию в pgAdmin4, открыв свойства PostgreSQL 12, а затем перейдя на вкладку подключение.
Чтобы изменить используемый порт в plsql, я использовал:
psql -U postgres -p 5433
Измените 5433 на свой настроенный порт, если у вас такая же проблема, вам также необходимо указать порт при использовании PDO php.