Назад | Перейти на главную страницу

.pgpass файл не устанавливает имя пользователя по умолчанию для подключения как

(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, файл службы и / или псевдонимы оболочки, чтобы указать параметры соединения по умолчанию.