mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
Check slot->restart_lsn validity in a few more places
Lack of these checks could cause visible misbehavior, including
assertion failures. This was missed in commit c655077639
, whereby
restart_lsn becomes invalid when the size limit is exceeded.
Also reword some existing error messages, and add errdetail(), so that
the reported errors all match in spirit.
Author: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Reviewed-by: Álvaro Herrera <alvherre@alvh.no-ip.org>
Discussion: https://postgr.es/m/20200408.093710.447591748588426656.horikyota.ntt@gmail.com
This commit is contained in:
@ -143,7 +143,8 @@ SELECT slot_name FROM pg_create_physical_replication_slot('regression_slot3');
|
||||
SELECT pg_replication_slot_advance('regression_slot3', '0/0'); -- invalid LSN
|
||||
ERROR: invalid target WAL LSN
|
||||
SELECT pg_replication_slot_advance('regression_slot3', '0/1'); -- error
|
||||
ERROR: cannot advance replication slot that has not previously reserved WAL
|
||||
ERROR: replication slot "regression_slot3" cannot be advanced
|
||||
DETAIL: This slot has never previously reserved WAL, or has been invalidated.
|
||||
SELECT pg_drop_replication_slot('regression_slot3');
|
||||
pg_drop_replication_slot
|
||||
--------------------------
|
||||
|
Reference in New Issue
Block a user