Symptoms

  1. The task 'Update PowerDns' fails with the error message provided below:

    Operation with storage caused error: 'dbname=powerdns user=powerdns host=10.94.45.212 Connection to database failed: FATAL: database is not accepting commands to avoid wraparound data loss in database "powerdns" HINT: Stop the postmaster and use a standalone backend to vacuum database "powerdns".'

Cause

The PostgreSQL database mentioned in the error message ('powerdns' in the case above) was not vacuum-ed for a long time.

Resolution

Do the 'VACUUM FULL' operation on the affected database mentioned in the failed task (in this case the problem database is 'powerdns').

  1. Log into the PostgreSQL server where the database is located by SSH as root (most probably it is the PowerDNS server itself and PostgreSQL database is running locally, IP address of the server is shown in the failed task).

  2. Stop the PostgreSQL server:

    /etc/init.d/postgresql stop

  3. Change from root to the 'postgres' user using the following command

    su - postgres

  4. Run postmaster in single user mode and execute VACUUM FULL on the problem database:

    $ /usr/pgsql-9.0/bin/postgres --single -D /var/lib/pgsql/9.0/data/ powerdns backend> VACUUM FULL;

    Note: replace 'powerdns' in the command above with the actual name of the problem PostgreSQL database.

  5. Run failed task in POA Task Manager.

In order to avoid such issue in the future, enable the autovacuum in the PostgreSQL server - make sure that the following option is present in the postgresql.conf file and is not commented:

autovacuum = on

Internal content