Почему postgres принимает пользователя компьютера в качестве логина? - PullRequest
0 голосов
/ 25 марта 2020

Я пытаюсь протестировать wal2 json в моей системе с базой данных Postgresql. Я внес изменения в мой файл postgresql .conf & pg_hba.conf, как показано по этой ссылке:

https://github.com/eulerto/wal2json

Но когда я пытаюсь создать тестовый слот, использующий команду postgres, выдает ошибку:

C:\Program Files\PostgreSQL\12\bin>pg_recvlogical -d mydatabase --slot test_slot --create-slot -P wal2json
Password:
pg_recvlogical: error: could not connect to server: FATAL:  password authentication failed for user "LENOVO"

Интересно, что ни один из моих postgres пользователей не имеет имени LENOVO. LENOVO - это логин моего ноутбука. Есть идеи, как с этим разобраться?

1 Ответ

1 голос
/ 25 марта 2020

Причина этого в том, что вы не указали имя пользователя в параметрах строки подключения к базе данных. Linux Страница man pg_recvlogical сообщает:

-U user
--username=user
User name to connect as. Defaults to current operating system user name.

Вам необходимо добавить имя пользователя базы данных в строку подключения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...