Reputation: 727
I couldn't do a backup because pg_dump shows the following error.
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"
This is what my pgpass file look like.
localhost:5432:mydb:postgres:mypassword
When I remove pgpass.conf file and run the pg_dump file, it prompts for password and the backup runs properly.
This is what the pg_dump script looks like.
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%
This is a Windows scheduled task so I don't want the user to enter the password.
Upvotes: 4
Views: 5222
Reputation: 763
I accidentally deleted the folder. What I did was create a file in the following directory
C:\Users\AppData\Roaming\postgresql
then added a file
pgpass.conf
In the file I added
localhost:5432:*:postgres:password
Upvotes: 1
Reputation: 727
I found the problem. The script that creates the pgpass.conf file created a space after the password and that space made the password - mypassword to be wrong. So when I removed the space, it works properly!
The script that created the pgpass file was:
echo %PG_HOST%:%PG_PORT%:*:%PG_USER%:%PG_PASSWORD% > %PGPASS_FILE%
I changed it to the following. See the space between PG_PASSWORD% and > is removed.
echo %PG_HOST%:%PG_PORT%:*:%PG_USER%:%PG_PASSWORD%> %PGPASS_FILE%
Upvotes: 3