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
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
Thanks,
François Beausoleil