/
Central Server HA Migration

Central Server HA Migration

This article explains how to migrate from a Central Server HA setup (<= v6.22) that uses PostgreSQL 9.4 with BDR 1.0.x to an external PostgreSQL database cluster.

This article is only for Central Server versions <= v6.22.

The migration is completed by following the steps below.

  1. Take a backup of the Central Servers.

  2. Update Central Servers to version 6.23.0 (or later). See Central Server High Availability Installation Guide for instructions.

    • Verify that center.ha-node-name is configured in /etc/xroad/conf.d/local.ini (on each server).

  3. Create the destination database using DB super-user privileges:

    psql --host=<host> --username=<super-user, e.g. postgres> <<EOF create user centerui password '<password>'; grant centerui to postgres; -- required e.g. by AWS RDS because the managed super-user does not have full privileges create database centerui_production owner centerui; \c centerui_production create extension hstore; EOF
  4. Stop Central Servers.

    • Alternatively, one can leave the servers running but any modifications to the configuration (e.g. new Security Server registrations) during the upgrade are lost.

  5. Take a dump of the Central Server database:

    • Note the destination database version (e.g. PostgreSQL 10.10).

    • If necessary, install a version of the postgresql-client package that has the same major version as the destination database (e.g. postgresql-client-10).

    • Use the pg_dump version that has the same major version as the destination database. Do not use pg_dump from the BDR version of PostgreSQL.

      /usr/lib/postgresql/<major version>/bin/pg_dump --host=localhost --username=centerui --no-privileges --no-owner --schema=public --exclude-table=xroad_bdr_replication_info --dbname=centerui_production --format=c -f center.dmp
  6. Restore the dump to the new database:
    Use pg_restore that has the same major version as the destination database.

    /usr/lib/postgresql/<major version>/bin/pg_restore --list center.dmp | sed '/FUNCTION public get_xroad_bdr_replication_info()/d' >center.list /usr/lib/postgresql/<major version>/bin/pg_restore --host=<host> --username=centerui --dbname=centerui_production --no-owner --single-transaction --use-list=center.list center.dmp psql --host=<host> --username=centerui --dbname=centerui_production -c "select fix_sequence();"
  7. Update the configuration file /etc/xroad/db.properties with information about the new database.

  8. (Re)start Central Servers.

  9. If the local PosgreSQL is not used by other applications, stop the local instance and prevent it from starting:

Related articles

 

 

 

Related content

How the Security Server User Management Works?
How the Security Server User Management Works?
Read with this
How to Upgrade a Central Server to Ubuntu 20.04 Using a Configuration Backup?
How to Upgrade a Central Server to Ubuntu 20.04 Using a Configuration Backup?
More like this
How to Access the Security Server Postgres Database?
How to Access the Security Server Postgres Database?
Read with this
Central Server Ubuntu 18.04 to 20.04 In-place Upgrade.
Central Server Ubuntu 18.04 to 20.04 In-place Upgrade.
More like this
How to Configure Central Server (version >= 7.3.0)?
How to Configure Central Server (version >= 7.3.0)?
Read with this
Security Server Cluster Ubuntu 20.04 to 22.04 Upgrade.
Security Server Cluster Ubuntu 20.04 to 22.04 Upgrade.
More like this