Вашият pg_hba.conf
наистина трябва да изисква парола за връзки с unix сокет, но все пак има начини да я заобиколите, които трябва да проверите:
-
a
.pgpass
файл в началната директория на postgres, съдържащ паролата (проверете също PGPASSFILE променлива на средата за нестандартен път). -
PGPASSWORD може да се зададе променлива на средата.
Освен това има възможност да редактирате грешен pg_hba.conf файл. Когато сте свързани като postgres, правилният път може да бъде получен за проверка с SHOW hba_file
SQL команда.
Освен това може да искате да проверите регистрационния файл, /var/log/postgresql/postgresql-9.1-main.log
за потвърждение, че конфигурационните файлове се презареждат, когато поискате това, и потърсете всяко подозрително съобщение по време на удостоверяването.
Що се отнася до причината, поради която връзките без парола с потребителя на postgres са често срещани, debian PG-9.1 pg_hba.conf
има този коментар относно забраната им:
# DO NOT DISABLE!
# If you change this first entry you will need to make sure that the
# database superuser can access the database using some other method.
# Noninteractive access to all databases is required during automatic
# maintenance (custom daily cronjobs, replication, and similar tasks).
#
# Database administrative login by Unix domain socket
local all postgres peer
Тъй като Debian и Ubuntu използват едни и същи пакети postgres, това се отнася и за Ubuntu.