Thread: upgrade 8.3.7 to 8.3.10 combined with ownership change
Hi
Further to David Jantzen’s post of 3/16/2010.
We have decided to try to upgrade the database software from our old custom 8.3.7 instance to the std upstream 8.3.10 version.
We have no hash indexes on interval types; we therefore anticipate that the migration will be a shutdown of the old instance, and restart on the std pgdb version, using the normal /etc/init.d/postgresql script.
The database is about 2.5Tb in size, backup takes a long time, we want to try to preserve the standby integrity.
We are currently running a warm standby, which updates using the following string in recovery.conf:
restore_command = 'pg_standby -c -d -s 10 -t /tmp/pgsql.trigger.5432 /caesius/archive %f %p %r 2>>standby.log'
-------------
PROBLEM:
Testing this now on a smaller database but with the same software setup, we experience a problem on the standby:
- The pg_standby procedure doesn’t always shutdown cleanly on the standby
o Checking active processes on the standby server following the issue of “pg_ctl stop”, the pg_standby process is still running
o If we kill the pg_standby process, it switches timeline on startup
--------------
I am sure there must be a stable activity sequence to stopping/starting the primary/standby instances for software maintenance.
We would like to avoid having to rebuild the standby from a backup if possible.
Hence this posting.
--------------
A few more details about the sequence of actions I am trying to follow:
- Install postgres via yum repo (using rpm 8.3-7 http://yum.pgsqlrpms.org/reporpms/repoview/pgdg-centos.html)
o On primary
o On standby
- Setup /etc/sysconfig/pgsql/postgresql customization file
o Point at data directory
- Under old user and software:
o Switch WAL on primary, wait for WAL to recover on the standby
o Shutdown standby (pg_ctl stop –m immediate)
o Shutdown primary (pg_ctl stop –m immediate)
- Change ownership of database files to postgres
o On primary
o On standby
- Using root “service postgresql start”
o On primary
o On standby