Replication Issues
Hi Team,
I have configured replication using slot ,But it failed by throwing the
ERROR *pg_basebackup: could not get transaction log end position from
server: ERROR: requested WAL segment 0000000100002C9D00000085 has already
been removed *, which is unexpected because i have created the slot on
master first and then issued the base backup command from slave's end
the command is
*usr/lib/postgresql/9.5/bin/pg_basebackup -U user --max-rate='150 M'
--progress --verbose --write-recovery-conf --status-interval='10 s' -D
data_dir -h host_ip -p 5433*
These are the settings on my master
archive_mode=on
archive_command='/bin/true'
wal_keep_segments=512
max_wal_senders=4
Series of steps i have followed :
1) Enabled password less authentication between master and slave
2)created slot on master (assuming it will store wal's regardless of other
settings)
3)started basebackup from slave's end
4)Issued checkpoint at master's end
Here my concern is , slave should recover WAL from replication slot but why
i got the above ERROR , Why slot removed the requested wal file , Could
you please let me know the reason why it happened or did i miss something ?
Thanks,
Bhargav K
On 28/9/18 9:00 π.μ., bhargav kamineni wrote:
Hi Team,
I have configured replication using slot ,But it failed by throwing the ERROR /pg_basebackup: could not get transaction log end position from server: ERROR: requested WAL segment
0000000100002C9D00000085 has already been removed /, which is unexpected because i have created the slot on master first and then issued the base backup command from slave's end
the command is
/usr/lib/postgresql/9.5/bin/pg_basebackup -U user --max-rate='150 M' --progress --verbose --write-recovery-conf --status-interval='10 s' -D data_dir -h host_ip -p 5433/
Either :
add "-X stream" to the pg_basebackup command
or
increase wal_keep_segments on the server.
These are the settings on my master
archive_mode=on
archive_command='/bin/true'
wal_keep_segments=512
max_wal_senders=4
Series of steps i have followed :
1) Enabled password less authentication between master and slave
2)created slot on master (assuming it will store wal's regardless of other settings)
3)started basebackup from slave's end
4)Issued checkpoint at master's endHere my concern is , slave should recover WAL from replication slot but why i got the above ERROR , Why slot removed the requested wal file , Could you please let me know the reason why it happened
or did i miss something ?Thanks,
Bhargav K
--
Achilleas Mantzios
IT DEV Lead
IT DEPT
Dynacom Tankers Mgmt
bhargav kamineni wrote:
Hi Team,
I have configured replication using slot ,But it failed by throwing the
ERROR pg_basebackup: could not get transaction log end position from server:
ERROR: requested WAL segment 0000000100002C9D00000085 has already been removed ,
which is unexpected because i have created the slot on master first
and then issued the base backup command from slave's end
the command is
usr/lib/postgresql/9.5/bin/pg_basebackup -U user --max-rate='150 M' --progress --verbose --write-recovery-conf --status-interval='10 s' -D data_dir -h host_ip -p 5433
These are the settings on my master
archive_mode=on
archive_command='/bin/true'
wal_keep_segments=512
max_wal_senders=4
Series of steps i have followed :
1) Enabled password less authentication between master and slave
2)created slot on master (assuming it will store wal's regardless of other settings)
3)started basebackup from slave's end
4)Issued checkpoint at master's endHere my concern is , slave should recover WAL from replication slot but why i
got the above ERROR , Why slot removed the requested wal file , Could you please
let me know the reason why it happened or did i miss something ?
I guess your base backup took long enough for the required WAL segments to be
removed by the time it was done.
To prevent that, create a replication slot *before* you perform pg_basebackup
and use the options "-S <slotname> -X stream" of pg_basebackup.
You then use the same slot in "recovery.conf".
That way you cannot lose any WAL.
Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com
Ee are using 9.5 version, slot option -s is not available ,can I go with -X
stream option ?
On Fri 28 Sep, 2018, 12:01 PM Laurenz Albe, <laurenz.albe@cybertec.at>
wrote:
Show quoted text
bhargav kamineni wrote:
Hi Team,
I have configured replication using slot ,But it failed by throwing the
ERROR pg_basebackup: could not get transaction log end position fromserver:
ERROR: requested WAL segment 0000000100002C9D00000085 has already been
removed ,
which is unexpected because i have created the slot on master first
and then issued the base backup command from slave's end
the command is
usr/lib/postgresql/9.5/bin/pg_basebackup -U user --max-rate='150 M'--progress --verbose --write-recovery-conf --status-interval='10 s' -D
data_dir -h host_ip -p 5433These are the settings on my master
archive_mode=on
archive_command='/bin/true'
wal_keep_segments=512
max_wal_senders=4
Series of steps i have followed :
1) Enabled password less authentication between master and slave
2)created slot on master (assuming it will store wal's regardless ofother settings)
3)started basebackup from slave's end
4)Issued checkpoint at master's endHere my concern is , slave should recover WAL from replication slot but
why i
got the above ERROR , Why slot removed the requested wal file , Could
you please
let me know the reason why it happened or did i miss something ?
I guess your base backup took long enough for the required WAL segments to
be
removed by the time it was done.To prevent that, create a replication slot *before* you perform
pg_basebackup
and use the options "-S <slotname> -X stream" of pg_basebackup.You then use the same slot in "recovery.conf".
That way you cannot lose any WAL.
Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com
On 28/9/18 1:50 μ.μ., bhargav kamineni wrote:
Ee are using 9.5 version, slot option -s is not available ,can I go with -X stream option ?
-S is intended when you plan to use the backup as a hot standby, when you must use the same replication slot.
If you plan to use the backup as a stand alone backup you don't need this option anyway.
On Fri 28 Sep, 2018, 12:01 PM Laurenz Albe, <laurenz.albe@cybertec.at <mailto:laurenz.albe@cybertec.at>> wrote:
bhargav kamineni wrote:
Hi Team,
I have configured replication using slot ,But it failed by throwing the
ERROR pg_basebackup: could not get transaction log end position from server:
ERROR: requested WAL segment 0000000100002C9D00000085 has already been removed ,
which is unexpected because i have created the slot on master first
and then issued the base backup command from slave's end
the command is
usr/lib/postgresql/9.5/bin/pg_basebackup -U user --max-rate='150 M' --progress --verbose --write-recovery-conf --status-interval='10 s' -D data_dir -h host_ip -p 5433
These are the settings on my master
archive_mode=on
archive_command='/bin/true'
wal_keep_segments=512
max_wal_senders=4
Series of steps i have followed :
1) Enabled password less authentication between master and slave
2)created slot on master (assuming it will store wal's regardless of other settings)
3)started basebackup from slave's end
4)Issued checkpoint at master's endHere my concern is , slave should recover WAL from replication slot but why i
got the above ERROR , Why slot removed the requested wal file , Could you please
let me know the reason why it happened or did i miss something ?I guess your base backup took long enough for the required WAL segments to be
removed by the time it was done.To prevent that, create a replication slot *before* you perform pg_basebackup
and use the options "-S <slotname> -X stream" of pg_basebackup.You then use the same slot in "recovery.conf".
That way you cannot lose any WAL.
Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com
--
Achilleas Mantzios
IT DEV Lead
IT DEPT
Dynacom Tankers Mgmt