13.8.2. Migrating from an Embedded Database to an External PostgreSQL Database

The requirements to migrate from Embedded to an External PostgreSQL Database:

Procedure 13.3. Migrating to an External PostgreSQL Database

  1. Shut down all services on the Red Hat Satellite server, but start the Embedded Database with db-control:
    [root@satellite ~]# rhn-satellite stop
    [root@satellite ~]# db-control start
    
  2. Remove the rhn-upgrade if it exists on your server:
    [root@satellite ~]# yum remove rhn-upgrade
    
  3. Update your database to the latest schema version:
    [root@satellite ~]# yum update satellite-schema
    [root@satellite ~]# spacewalk-schema-upgrade
    
    This ensures that your database version matches the latest version on the External PostgreSQL Database.
  4. Create a directory to hold your database snapshot.
    [root@satellite ~]# mkdir ~/dbbackup
    [root@satellite ~]# cd ~/dbbackup
    
  5. Export the database using spacewalk-dump-schema:
    [root@satellite dbbackup]# spacewalk-dump-schema --to=postgresql > migrate-to-postgresql.sql
    
  6. Stop the Embedded Database:
    [root@satellite dbbackup]# db-control stop
    
  7. Use spacewalk-setup to populate the External PostgreSQL Database:
    [root@satellite dbbackup]# spacewalk-setup --db-only --external-postgresql
    
    The script asks for your database details so Satellite can connect and populate the database. Enter your External PostgreSQL Database details:
    ** Database: Setting up database connection for PostgreSQL backend.
    Hostname (leave empty for local)? postgresql.example.com
    Port [5432]?
    Database? myextdb
    Username? root
    Password?
    
    The script populates the database.
  8. When the script completes database population, restore the database schema
    [root@satellite dbbackup]# spacewalk-sql -i < migrate-to-postgresql.sql
    
  9. Remove the postgresql92-server and spacewalk-dobby packages from the Satellite server.
    [root@satellite ~]# yum remove postgresql92-server spacewalk-dobby
    
  10. Start Red Hat Satellite.
    [root@satellite ~]# rhn-satellite start
    
The database is now migrated from an Embedded Database to an External PostgreSQL Database.