У меня есть файл pgpass.conf, который хорошо работает для моего пользователя по умолчанию. Он находится в C:/Users/myuser/AppData/Roaming/postgresql/pgpass.conf
. Это читается так;
localhost:5432:*:postgres:password1
У меня есть процесс, который работает под учетной записью администратора. Когда я бегу whoami
в рамках этого процесса я получаю nt authority/system
. Я хочу иметь доступ к базе данных из этого процесса, но он зависает, потому что ему нужен пароль. Я попытался поместить указанный выше pgpass.conf в C:/Users/Administrator/AppData/postgresql/pgpass.conf
и C:/Users/Administrator/AppData/Roaming/postgresql/pgpass.conf
Но это не работает. Это правильное место для этого файла? Могу ли я сделать это как администратор? К сожалению, я не могу изменить пользователя, от имени которого работает этот процесс.
Смотри что echo %APPDATA%
выводится, когда вы вошли под этой учетной записью.
В качестве альтернативы вы можете указать PGPASSFILE
переменную окружения в расположение файла, где бы он ни был, или даже установите PGPASSWORD
переменная окружения с самим паролем, чтобы полностью избежать этого файла.
В Переменные среды и Файл паролей разделы из документа содержат подробности.