Hi, I have the following recovery.conf (Ubuntu 12.04): standby_mode = on restore_command = '/usr/local/omnipitr/bin/omnipitr-restore -D /var/lib/postgresql/9.1/main/ --source gzip=/var/backups/seevibes/wal/dbanalytics.production/ --remove-unneeded --temp-dir /var/tmp/omnipitr -l /var/log/omnipitr/restore.log --error-pgcontroldata hang --pgcontroldata-path /usr/lib/postgresql/9.1/bin/pg_controldata "%f" "%p"' trigger_file = '/var/lib/postgresql/9.1/main/recovery.done' archive_cleanup_command = '/usr/local/omnipitr/bin/omnipitr-cleanup --log /var/log/omnipitr/cleanup.log --archive gzip=/var/backups/seevibes/wal/dbanalytics.production "%r"' I can't seem to promote the slave: $ sudo -u postgres touch /var/lib/postgresql/9.1/main/recovery.done # log is silent $ sudo -u postgres /usr/lib/postgresql/9.1/bin/pg_ctl promote -D /var/lib/postgresql/9.1/main server promoting # log is silent The postgresql around the time I attempted the promotions is: 2013-06-06 16:21:51.030 UTC - @ 26434 (00000) 2013-06-06 16:20:42 UTC - LOG: restored log file "0000000400001658000000CB" from archive 2013-06-06 16:22:35.324 UTC - @ 26411 (00000) 2013-06-06 16:20:41 UTC - LOG: received SIGHUP, reloading configuration files 2013-06-06 16:22:51.457 UTC - @ 26434 (00000) 2013-06-06 16:20:42 UTC - LOG: restored log file "0000000400001658000000CC" from archive 2013-06-06 16:24:51.034 UTC - @ 26434 (00000) 2013-06-06 16:20:42 UTC - LOG: restored log file "0000000400001658000000CD" from archive The SIGHUP occurred because recovery.conf wasn't owned by user postgres (using Puppet and configuration reloads on any change). A quick scan of the data directory reveals nothing out of the ordinary: $ sudo ls -la /var/lib/postgresql/9.1/main/ total 108 drwx------ 13 postgres postgres 4096 Jun 6 16:27 . drwxr-xr-x 3 700 postgres 17 May 31 15:46 .. -rw------- 1 postgres postgres 184 May 22 12:10 backup_label.old drwx------ 12 postgres postgres 130 Apr 18 17:33 base drwx------ 2 postgres postgres 8192 Jun 6 16:32 global drwx------ 2 postgres postgres 4096 May 31 20:57 pg_clog drwx------ 4 postgres postgres 34 Jan 12 2012 pg_multixact drwx------ 2 postgres postgres 17 Jun 6 16:20 pg_notify drwx------ 2 postgres postgres 6 Jan 12 2012 pg_serial drwx------ 2 postgres postgres 24 Jun 6 16:20 pg_stat_tmp drwx------ 2 postgres postgres 17 Jun 6 08:32 pg_subtrans drwx------ 2 postgres postgres 6 Jan 12 2012 pg_tblspc drwx------ 2 postgres postgres 6 Jan 12 2012 pg_twophase -rw------- 1 postgres postgres 4 Jan 12 2012 PG_VERSION drwxr-xr-x 3 postgres postgres 45056 Jun 6 16:34 pg_xlog -rw------- 1 postgres postgres 350 Jun 6 16:20 postmaster.opts -rw------- 1 postgres postgres 93 Jun 6 16:20 postmaster.pid -rw-r--r-- 1 postgres postgres 591 Jun 6 16:20 recovery.conf lrwxrwxrwx 1 postgres postgres 36 Dec 2 2012 server.crt -> /etc/ssl/certs/ssl-cert-snakeoil.pem lrwxrwxrwx 1 postgres postgres 38 Dec 2 2012 server.key -> /etc/ssl/private/ssl-cert-snakeoil.key I also attempted to restart the slave, with and without recovery.done, to no avail. I must be missing something. Someone has an idea? I did read http://www.postgresql.org/docs/9.1/static/warm-standby-failover.html very carefully. I believe I did everything I was supposed to do. Thanks, François Beausoleil |
<<attachment: smime.p7s>>