Upgrade on new hardware: Create a single cluster for both Database and Datamart

The ability to run separate PostgreSQL instances for TeamForge database and datamart on the same server is being deprecated in TeamForge 17.11. If you have the TeamForge database and datamart on separate PostgreSQL instances on the same server and if you are upgrading on a new hardware, follow these instructions to create a dump of both the database and datamart and load them into one PostgreSQL instance on the same server.

It is assumed that you are upgrading from TeamForge 17.8 (with database and datamart on separate ports) to TeamForge 17.11 (or later) on a new hardware.

  1. Do this on the existing TeamForge Application Server where the database and datamart runs on two separate ports.
    1. Make a dump file of your site database.
      • su - postgres
      • /usr/bin/pg_dumpall > /var/lib/pgsql/9.x/backups/teamforge_data_backup.dmp
      • exit
      • mkdir /tmp/backup_dir
      • cp /var/lib/pgsql/9.x/backups/teamforge_data_backup.dmp /tmp/backup_dir/
    2. Make a dump of your datamart.
      • /usr/bin/pg_dumpall -p <reports_database_port> > /var/lib/pgsql/9.x/backups/teamforge_reporting_data_backup.dmp
  2. Do this on the new TeamForge server.
    1. Recreate the runtime environment (do not provision TeamForge directly).
      • teamforge deploy
    2. Reload the site database.
      • su - postgres
      • /usr/bin/psql < /tmp/backup_dir/teamforge_data_backup.dmp
      • exit
    3. Reload the datamart.
      • su - postgres -c "/usr/bin/psql -p <reports_database_port> < /tmp/backup_dir/teamforge_reporting_data_backup.dmp"
  3. Provision services.
    • teamforge provision
    Note:

    TeamForge 17.4 (and later) installer expects the system locale to be LANG=en_US.UTF-8. TeamForge "provision" command fails otherwise.