2010-10-01 3 views
7

Я пытаюсь включить root (Ubuntu 8.04) для использования команды psql без приглашения пароля (для целей создания скриптов). Все отлично работало с PostGreSQL 8.3, но я перешел на PostGreSQL 8.4, и логин без пароля больше не работает.PostGreSQL без запроса пароля: .pgpass ignored

У меня есть правильный файл .pgpass (тот же, что и для 8.3), право /root/.pgpass - 0600, но вызов psql продолжает запрашивать пароль.

NB: переменная PGPASSFILE пуста, поэтому я предполагаю, что предполагается использовать файл .pgpass.

Любая блестящая идея?

Благодаря

+0

«strace -o psql ...», а затем загляните в файл журнала для «.pgpass». –

+0

Вот строки, содержащие .pgpass в stat файла журнала («/ root/.pgpass», {st_mode = S_IFREG | 0600, st_size = 37, ...}) = 0 open ("/ root/.pgpass" , O_RDONLY) = 3 stat ("/ root/.pgpass", {st_mode = S_IFREG | 0600, st_size = 37, ...}) = 0 open ("/ root/.pgpass", O_RDONLY) = 3 – AsTeR

+0

У меня также есть строка, показывающая, что pgsql нашел пароль: read (3, "localhost: 5432: dbname: usrname: passw" ..., 4096) = 37 – AsTeR

ответ

11

Try, чтобы проверить, работает ли это:

*:*:*:postgres:password_for_postgres_user 

А потом попробуйте:

VERBOSITY=verbose psql --no-password --user postgres 

Этот вопрос, вероятно, следует перенести в serverfault.com.

+0

Вы правы, это больше проблема администрирования сервера. Проблема заключалась в том, что сервер был установлен сразу после postgres 8.3, и, таким образом, установка запустила его на порт 5433 вместо 5432. Я исправил его, отредактировав postgres.conf. Благодаря ! – AsTeR

Смежные вопросы