The setup with
all services on one
server
includes having the datamart in the same PostgreSQL instance as TeamForge as well as running it
on
a separate instance. In either case, you can move
the
PostgreSQL datamart from its own instance to a separate box in the dedicated database server
mode. However, note
that the ability to run separate PostgreSQL instances for TeamForge database and datamart on
the same server is being deprecated in TeamForge 17.11.
-
Stop TeamForge. In a distributed setup, stop
TeamForge on all the servers.
If you are upgarding from TeamForge 16.7 or earlier releases:
- /etc/init.d/collabnet stop
If you are upgrading from TeamForge 16.10, 17.1, or 17.4 release:
- /opt/collabnet/teamforge/bin/teamforge
stop
If you are upgrading from TeamForge 17.8 or later releases:
-
Create
a
dump of the PostgreSQL
datamart.
- su - postgres -c 'pg_dump -C -p <database-port >
<reports-database-name >
<path-to-dump-file>
-
Create a new datamart instance using the
datamart-pgsql-setup.sh or
use
the following commands
on
the database
server.
-
su - postgres
-
initdb -D /var/lib/pgsql/9.6/reports
-
Set the REPORTS_DATABASE_PORT
token in
site-options.conf
file.
Note: The port should use the same value as specified in
postgresql.conf as specified in the previous step.
The default
port
is
5632.
-
Provision
services.
Note:
TeamForge 17.4 (and later) installer expects the system locale to be
LANG=en_US.UTF-8. TeamForge "provision" command fails otherwise.
-
Restore the datamart into the new instance.
-
/opt/collabnet/teamforge/runtime/scripts/db.py -a restore -t reporting -f
<dump-location>
-
Copy the
postgresql-9.6 script from runtime scripts and replace
/etc/init.d/postgresql-9.6
-
Restore the datamart from the database box.
-
su - postgres -c 'psql -p <reports-database-port>
<path-to-dump-file>
Note: Restart the
PostgreSQL
service. If any warning messages are displayed, kill the service and start
again.
-
Start the
PostgreSQL service
on
the database
server.
- teamforge start -s
postgres
-
Start the services on all the servers.
-
Check your old reports for data accuracy.
-
Permanently remove the old datamart from the TeamForge instance.
- su - postgres -c 'dropdb <datamart-name> -p
<database-port>'