PostgreSQL database backup from Intelligent policy fails with ERR - Parser failed to issue command for PostgreSQL
Problem
PostgreSQL database backup performed from the NetBackup WebUI using a PostgreSQL Intelligent policy fails with Staus 6 and ERR - Parser failed to issue command for PostgreSQL.
Error Message
Job details status report:
Mar 20, 2023 11:58:49 AM - Info bphdb (pid) Backup started
Mar 20, 2023 11:58:49 AM - Error bpbrm (pid) from client client-name: ERR - Parser failed to issue command for PostgreSQL
Mar 20, 2023 11:58:49 AM - Error bpbrm (pid) from client client-name: ERR - Backup Failed for PostgreSQL
Mar 20, 2023 11:58:49 AM - Error bpbrm (pid) from client client-name: ERR - bphdb exit status = 6: the backup failed to back up the requested files
Mar 20, 2023 11:58:49 AM - Info bphdb (pid) done. status: 6: the backup failed to back up the requested files
the backup failed to back up the requested files(6)
BPHDB log from the client shows:
11:58:49.479 [907083.907083] <2> debuglog: <2> populatePsqlCommonParams: Found One of important Parameter empty Backup Will Fail....!
11:58:49.479 [907083.907083] <2> debuglog: <2> populatePsqlCommonParams: Client Name : <client-name>, Server Name : <primary-server>, Policy Name : <policy>, Backup Schedule : <FULL_AUTO>, Port Number : <5432>, Backup strategy : <pg_dump>, libpq Path : <>,
11:58:49.479 [907083.907083] <2> debuglog: <2> bphdb main: Command Recieved by the Parser -
11:58:49.479 [907083.907083] <2> debuglog: <16> bphdb main: Empty string recieved from Parser, BackupAgent will not run.
11:58:49.479 [907083.907083] <2> debuglog: <16> bphdb main: ERR - Parser failed to issue command for PostgreSQL
Cause
Upon examining the backup command that was sent from the BPHDB log:
11:58:49.479 [907083.907083] <2> debuglog: <2> populatePsqlCommonParams: Client Name : <client>, Server Name : <primary-server>, Policy Name : <policy>, Backup Schedule : <FULL_AUTO>, Port Number : <5432>, Backup strategy : <pg_dump>, libpq Path : <>,
The libpq library path is empty, which means the library path is missing from environment variables on the PostgreSQL client.
Solution
1. Add/export the LIB_PQ_PATH to the environment variable for the root user and the database user used for backup.
- LIB_PQ_PATH is the path which has the libpq.so file (for example /usr/pgsql-13/lib)
- LIB_PQ_PATH=/usr/pgsql-13/lib
- export LIB_PQ_PATH
2. Restart the NetBackup client services on the PostgreSQL client.
3. Run another backup to confirm the resolution of the error.
NOTE: To keep these values persistent, please add the variable to the .bash_profile OR ~/.bashrc file and restart NetBackup client services.