1. Решение на основе пользователя
Остерегайтесь точки .
перед именем файла!
Следующая установка работает с PG 10.12 в CentOS 7.7 и .pg_service.conf
, расположенном в каталоге $HOME
:
$ cat .pg_service.conf
[service_name]
host=localhost
port=5410
dbname=postgres
user=postgres
Затем подключитесь к PostgreSQL следующим образом;
$ psql postgresql://?service=service_name
psql (10.12)
Type "help" for help.
Проверка порта:
postgres=# show port;
port
------
5410
(1 row)
Проверка соединения:
postgres=# \c
You are now connected to database "postgres" as user "postgres".
postgres=#
2. Общесистемное решение
Вы можете ввести это, чтобы проверить путь, по которому должен находиться глобальный файл pg_service.conf
:
$ pg_config --sysconfdir
/etc/postgresql-common
Вы можете скопировать файл pg_service.conf
в этом каталог (но без точки .
здесь). Это должно быть собственностью root.
Общие советы
1) Приоритет файла
Как указано в do c;
"The Пользовательский файл имеет приоритет над общесистемным файлом. "
2) Пароль
В случае одноранговой аутентификации оба решения должны работать с пароль хранится в вашем файле .pgpass
. В этом случае вам не нужно записывать это в файл .pg_service.conf
.