pg_dump Windows 中 pgpass.conf 文件的密码验证失败错误
pg_dump password authentication failed error with pgpass.conf file in Windows
我无法进行备份,因为 pg_dump 显示以下错误。
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计划任务,所以我不想让用户输入密码。
我发现了问题。创建 pgpass.conf 文件的脚本在密码后创建了一个 space 并且 space 使密码 - mypassword 错误。所以当我删除 space 时,它可以正常工作!
创建 pgpass 文件的脚本是:
echo %PG_HOST%:%PG_PORT%:*:%PG_USER%:%PG_PASSWORD% > %PGPASS_FILE%
我改成了下面的样子。请参阅 PG_PASSWORD% 和 > 之间的 space 已删除。
echo %PG_HOST%:%PG_PORT%:*:%PG_USER%:%PG_PASSWORD%> %PGPASS_FILE%
我无法进行备份,因为 pg_dump 显示以下错误。
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计划任务,所以我不想让用户输入密码。
我发现了问题。创建 pgpass.conf 文件的脚本在密码后创建了一个 space 并且 space 使密码 - mypassword 错误。所以当我删除 space 时,它可以正常工作!
创建 pgpass 文件的脚本是:
echo %PG_HOST%:%PG_PORT%:*:%PG_USER%:%PG_PASSWORD% > %PGPASS_FILE%
我改成了下面的样子。请参阅 PG_PASSWORD% 和 > 之间的 space 已删除。
echo %PG_HOST%:%PG_PORT%:*:%PG_USER%:%PG_PASSWORD%> %PGPASS_FILE%