Коли ви вкажете:
psql -U user
він підключається через UNIX Socket, який за замовчуванням використовує peerавтентифікацію, якщо не вказано pg_hba.confінше.
Ви можете вказати:
host database user 127.0.0.1/32 md5
host database user ::1/128 md5
щоб отримати TCP / IP-з'єднання в інтерфейсі зворотного зв'язку (і IPv4, і IPv6) для вказаних databaseі user.
Після змін вам доведеться перезапустити postgres або перезавантажити його конфігурацію. Перезапустіть, що має працювати в сучасних дистрибутивах на базі RHEL / Debian:
service postgresql restart
Перезавантаження має працювати наступним чином:
pg_ctl reload
але команда може відрізнятися залежно від конфігурації PATH - можливо, вам доведеться вказати абсолютний шлях, який може бути різним, залежно від способу встановлення постгресів.
Тоді ви можете використовувати:
psql -h localhost -U user -d database
увійти в систему з userвказаним databaseчерез TCP / IP.
md5розшифровується як зашифрований пароль, тоді як passwordпід час авторизації ви також можете вказати для простих текстових паролів. Ці 2 варіанти не повинні мати велике значення, якщо сервер бази даних доступний лише локально, без доступу до мережі.
Важлива примітка:
Порядок визначення в pg_hba.confпитаннях - правила читаються зверху вниз, як iptables, тому ви, ймовірно, хочете додати запропоновані правила над правилом:
host all all 127.0.0.1/32 ident