(Debian 8)
Мой файл .pgpass находится в моей домашней папке (администратор)
Я использую правильный формат, как указано в документации.
hostname:port:database:username:password
Те же поля, которые я там поместил, работают хорошо, если явно помещены в psql
командная строка. (естественно, мне придется вводить пароль вручную).
Однако запуск psql сам по себе выдает ошибку:
psql: FATAL: role "admin" does not exist
Обратите внимание, что мое имя пользователя postgres НЕ «admin», что является моим именем пользователя в debian.
Что я делаю не так? моя цель - получить доступ к psql
без необходимости использовать сложную командную строку, включая хост / порт / имя пользователя / базу данных
psql
по умолчанию при подключении используется ваше текущее имя пользователя unix, если вы не укажете иное.
Если вы хотите другое значение по умолчанию, вы можете установить PGUSER
переменная окружения.
Видеть https://stackoverflow.com/q/17632278/398670
.pgpass
это что psql
ищет пароль для данного хоста, имени пользователя, порта и т. д. Он не указывает, какое соединение использовать, только пароль для использования для данного соединения.
Вы можете использовать переменные env, файл службы и / или псевдонимы оболочки, чтобы указать параметры соединения по умолчанию.