Error backing up Endura Mapping Database using Endura Utilities

Issue

Not able to backup Endura Mapping database.

Product Line

Pelco Video Management

Environment

  • Pelco Endura SM5000 version 1.03.0023+
  • Pelco Endura Mapping version 2.3+
  • Pelco Endura Utilities version 2.3+

Cause

Endura Utilities has insufficient privileges to backup mapping database using postgresql database user "pelco".

Resolution

*NOTE: Here are the steps to perform an SM Backup and correct an error you will see if Endura Mapping is installed
and the postgresql "pelco" database user does not have the correct user permissions set.

 

When you are running Endura Utilities and want to backup the SM5000, right-click on the Endura Basic System Manager
and select "System Manager Actions-->SM Backup..." as shown here:

 
Select any location that you want to store your backup file to and click "OK".
 
 
Once the SM Backup is complete, you will see the output as shown here:
 
*NOTE: The section identified in RED above shows the errors that occurred when Endura Utilities
tried to backup the Endura Mapping Database.
 
 
All SM5000 units imaged to version 01.04.0035 (SM service will show as version 01.04.0027) are configured
with the "pelco" postgresql database user set with "superuser" permissions and will not have this error.

All SM5000 units imaged to version 01.03.0023 and earlier were not configured with the "pelco" postgresql
database user set with "superuser" permissions which is the cause of this error.
 
*NOTE: Even if you update the software on an SM5000 that was originally imaged to version 01.03.0023,
the "pelco" postgresql database user will never get promoted to be a "superuser" of the postgresql database
since none of the SM software updates change the permissions of the postgresql database users.
 
 
To check the current postgresql user permissions, right-click the Endura Basic System Manager
and select "Scripts-->One-time script" as shown here:
 
 
 
Enter the following command:
 
/usr/local/pgsql/bin/psql -U postgres -d DeviceManager -c "\du;"
 
into the "One-time Script" as shown here and click "OK":
 
 
 
As shown here, the user "pelco" is not a "superuser" of the postgresql database management system:
 
 
*NOTE: In order for Endura Utilities to be able to backup the Endura Mapping database, change the "pelco"
user permissions so that user "pelco" is also a "superuser".
 
This is done by right-clicking Endura Basic System Manager,
selecting "One-time script", and entering the following command:
 
/usr/local/pgsql/bin/psql -U postgres -d DeviceManager -c "alter user pelco createuser;"
 
as shown here:
 
 
You can now repeat the previous steps to verify the current postgresql user permissions and the
output should now show this:
 
 
Log Type:      Information
IP Address:    192.168.5.10
Friendly Name: Endura Basic System Manager
Description:   which: no EnduraBackup in (/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin)
Backing up DeviceManager Database...
Backing up Script Database...
Backing up Mapping Database...
pg_dump: SQL command failed
pg_dump: Error message from server: ERROR:  permission denied for schema pelco
pg_dump: The command was: LOCK TABLE pelco.test IN ACCESS SHARE MODE
Backing up Public and Private xml files...
Backing up ScriptManager Scripts...
Backing up VirtualAlarmArray Configuration...
Backing up EventArbiter Configuration...
Backing up Mapping Images...
Backing up Pelco Resource Configuration...
Backing up DHCP Configuration...
Backing up DHCP Leases...
Backing up Network settings...
Compressing backup configuration...
Removing temporary files...
 
 
Finally, you can now run the "System Manager Actions-->SM Backup..." again and the output should look like this:
 
 
*NOTE: There are now no errors listed after "Backing up Mapping Database..."
 
 
 
 
 
"alter user pelco
 
 
createuser;"log into SM
database as "postgres"
user and run this command:
"alter user pelco createuser;"