Я не мог сделать резервную копию, потому что pg_dump показывает следующую ошибку.Ошибка авторизации пароля pg_dump с файлом pgpass.conf в Windows
pg_dump: [archiver (db)] connection to database "mydb" failed:
FATAL: password authentication failed for user "postgres"
password retrieved from file
"C:\Users\MyName\AppData\Roaming\postgresql\pgpass.conf"
Это мой файл pgpass.
localhost:5432:mydb:postgres:mypassword
Когда я удалить файл pgpass.conf и запустите файл pg_dump, он запрашивает пароль и резервное копирование выполняется должным образом.
Вот как выглядит сценарий pg_dump.
set PGPASSFILE=%APPDATA%\postgresql\pgpass.conf
%PG_BIN%pg_dump -h %PG_HOST% -p %PG_PORT% -U %PG_USER% -F c -b -v -f %BACKUP_FILE% %DB%
Это запланированная задача Windows, поэтому я не хочу, чтобы пользователь вводил пароль.
Какие значения содержат переменные '% PG_PORT%', '% PG_USER%' '% PG_HOST% и'% DB% '? –
Порт поступает из файла реестра. user - postgres, host - localhost, db - mydb – wondie
«* Это запланированная задача Windows *» - под которой пользователь Windows выполняет эту задачу? Это 'MyName'? –