2009-08-26 5 views
4

У меня есть PostGreSQL 8,3 дБ, установленные на коробке Линукс, вместе с пользователем Postgres pg_hba.conf читаетPostgresql не запрашивает пароль

local all   postgres       ident sameuser 
local all   all        md5 

так нет надежных соединений с локальной машины.

Однако при подключении через командную строку с psql пароль не запрашивается, и все пользователи получают доступ ко всем базам данных.

Я полностью потерял здесь ..

+0

Есть ли у вас переменные среды, начинающиеся с набора PG? (Например, PGUSER, PGHOST и т. Д.) –

+3

Или файл ~/.pgpass? –

ответ

5

Вы действительно перезагрузили или перезагрузили PostgreSQL после изменения pg_hba.conf?

Если да, то введите следующую команду из учетной записи системы Postgres (оболочки):

psql -qAt -c "show hba_file" | xargs grep -v -E '^[[:space:]]*#' 

Если это не поможет - показать нам вывод команды.

+0

Оказывается, я искал неправильный файл conf из-за странного смешивания. Обнаружен благодаря показу hba_file (не знал о команде раньше) – Ash

+0

Я воссоздал конфигурацию postgresql, и эта команда помогла мне сравнить новую конфигурацию со старой. +1 и снял вопрос. – scottyseus

0

Попробуйте

host all all 127.0.0.1/32  md5 

вместо этого.

1

Вы должны изменить обе строки для IPv4 и IPv6 в pg_hba.conf

# IPv4 local connections: 
host all   all   127.0.0.1/32   md5 
# IPv6 local connections: 
host all   all   ::1/128    md5 

перезагрузка сервера не требуется.