On 12/11/14 14:28, Ants Aasma wrote:
On Tue, Nov 11, 2014 at 11:52 PM, Maeldron T. <maeld...@gmail.com> wrote:
As far as I remember (I can’t test it right now but I am 99% sure) promoting
the slave makes it impossible to connect the old master to the new one without
making a base_backup. The reason is the timeline change. It complains.
A safely shut down master (-m fast is safe) can be safely restarted as
a slave to the newly promoted master. Fast shutdown shuts down all
normal connections, does a shutdown checkpoint and then waits for this
checkpoint to be replicated to all active streaming clients. Promoting
slave to master creates a timeline switch, that prior to version 9.3
was only possible to replicate using the archive mechanism. As of
version 9.3 you don't need to configure archiving to follow timeline
switches, just add a recovery.conf to the old master to start it up as
a slave and it will fetch everything it needs from the new master.
I took your advice and I understood that removing the recovery.conf
followed by a restart is wrong. I will not do that on my production servers.
However, I can't make it work with promotion. What did I wrong? It was
9.4beta3.
mkdir 1
mkdir 2
initdb -D 1/
<edit config: change port, wal_level to hot_standby, hot_standby to on,
max_wal_senders=7, wal_keep_segments=100, uncomment replication in hba.conf>
pg_ctl -D 1/ start
createdb -p 5433
psql -p 5433
pg_basebackup -p 5433 -R -D 2/
mcedit 2/postgresql.conf <change port>
chmod -R 700 1
chmod -R 700 2
pg_ctl -D 2/ start
psql -p 5433
psql -p 5434
<everything works>
pg_ctl -D 1/ stop
pg_ctl -D 2/ promote
psql -p 5434
cp 2/recovery.done 1/recovery.conf
mcedit 1/recovery.conf <change port>
pg_ctl -D 1/ start
LOG: replication terminated by primary server
DETAIL: End of WAL reached on timeline 1 at 0/3000AE0.
LOG: restarted WAL streaming at 0/3000000 on timeline 1
LOG: replication terminated by primary server
DETAIL: End of WAL reached on timeline 1 at 0/3000AE0.
This is what I experienced in the past when I tried with promote. The
old master disconnects from the new. What am I missing?
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers