Похоже, вы используете систему Ubuntu с установленной postgresql-client-common
. pg_dump
перегружен pg_wrapper
, но .pgpass
должен работать (я попробовал это на моей тестовой системе, и это нормально). Кажется, что ваш системный администратор, возможно, сделал что-то (возможно, с Perl?), Что побочным эффектом делает вас неспособным использовать .pgpass
с pg_dump
.
Один из возможных способов узнать, что происходит, -выполните perl -e "exec env"
и посмотрите, на что установлена переменная $HOME
(или, возможно, она была очищена). Вы также можете, возможно, сделать strace pg_dump
и посмотреть, какие каталоги затронуты - это будет генерировать много выходных данных, поэтому вам может быть трудно работать с ним.
В конечном счете, вам, вероятно, понадобится 1) поговорите со своим системным администратором и посмотрите, можно ли исправить среду, чтобы вы могли использовать .pgpass
с псевдо- pg_dump
pg_wrapper
, или 2) использовать pg_dump
напрямую (обычно это будетв /usr/lib/postgresql/<version_number>/bin/pg_dump
, но вы, вероятно, должны найти его с помощью find /usr -name "pg_dump"
)