The setup with all services on one
server
includes having the datamart in the same PostgreSQL instance as TeamForge as well as running it in 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.
-
Stop TeamForge on the app
server.
If
you
have a distributed
setup,
stop TeamForge on all other
servers
as well.
- /etc/init.d/collabnet
stop
-
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.3/reports
-
Set the REPORTS_DATABASE_PORT
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 recommended value is 5632.
-
Recreate
the
[RUNTIME_DIR]
on
all the
servers.
- install.sh -r -d /opt/collabnet/teamforge
-
Restore the datamart into the new instance.
- [RUNTIME_DIR]/scripts/db.py
-a restore -t reporting -f
<dump-location>
-
Copy the
postgresql-9.3 script from runtime scripts and replace
/etc/init.d/postgresql-9.3
-
Restore the datamart from the database box.
-
su
- postgres -c 'psql -p <reports-database-port>
<path-to-dump-file>
Note: Restart the Postgres service. If any warning messages are displayed, kill
the service and start again.
-
Start the
PostgreSQL service
on
the database
server.
- /etc/init.d/postgresql-9.3 start
-
Start the services
on
all
servers.
- /etc/init.d/collabnet
start all
-
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>'