Migration Using an External PostgreSQL Database

Product version: 11.1

Last modified: 26 March 2026

Problem

Migration of a NAKIVO Backup & Replication instance that uses an external PostgreSQL database to a new server fails or results in an inconsistent configuration after import.

After importing the configuration backup on the new server, one or more of the following issues may occur:

  • Backup repositories are not accessible

  • Jobs or inventory are missing or incomplete

  • The system does not correctly connect to the PostgreSQL database

Background

The configuration export/import mechanism does not fully migrate the environment when an external PostgreSQL database is used:

  • The target server must be preconfigured to use the same PostgreSQL database

  • Repository paths are not automatically adjusted and may not exist on the new server

  • If PostgreSQL is not configured before import, the configuration may be partially applied or invalid

A proper migration requires preparing the target environment before importing the configuration.

Solution

Follow the steps below on the Source and Target servers to migrate the instance correctly.

1. On the Source Server:

  1. Ensure that Nakivo Backup & Replication has no jobs or activities running.

  2. Record the following information:

    • version and build number of your Nakivo Backup & Replication

    • version of the PostgreSQL

  3. Export system configuration.

2. On the Target Server:

  1. Install the same version of Nakivo Backup & Replication as is installed on the Source Server.

  2. Install the same version of PostgreSQL as on the Source Server.

  3. (Optional) If PostgreSQL is remote, update pg_hba.conf and restart to allow the Target Server access.

3. Prepare the Repository paths:

  1. If you have a local Backup Repository on the Source Server, move it to the new location.

  2. After moving the Backup Repository, edit the Backup Repository settings in the product on the Target Server so that the new settings refer to the actual Backup Repository location.

Note

If the physical configuration of your Source Server differs from that of a Target Server, a Backup Repository may become inaccessible after the bundle import is completed.

4. Switch Target Server to PostgreSQL:

  1. Open Settings > General > Database Options on the Target Server.

  2. Select PostgreSQL and enter host/port/database/user/password.

  3. Then click Test Connection.

  4. Click Apply Settings, then migrate the Target Server to the new empty external database.

5. Import the configuration:

  1. Go to Settings > System Settings > Configuration.

  2. Import the exported system configuration from the Source Server.

6. After importing the configuration, verify that the system is working correctly:

  1. Check that all components are present:

    • Jobs

    • Inventory objects

    • Transporters

    • Backup repositories

  2. Re-scan all backup repositories to ensure they are accessible and up to date.

  3. Perform basic validation tests:

    • Run an inventory refresh

    • Open a backup job and save it without changes

    • Run a small backup job

    • Perform a test recovery

  4. Confirm that all operations complete successfully without errors.

  5. After successful validation, decommission the Source Server if no longer required.

Notes

  • Configuration import does not migrate repository data automatically

  • Repository accessibility depends on correct paths and permissions on the Target Server

  • If repository paths differ between servers, manual reconfiguration may be required

  • Always validate the environment after migration before resuming production workloads