1. 01 Jul, 2021 1 commit
  2. 02 Jan, 2021 1 commit
  3. 01 Jan, 2020 1 commit
  4. 19 Apr, 2019 1 commit
  5. 13 Mar, 2019 1 commit
    • Michael Paquier's avatar
      Add TAP test to check consistency of minimum recovery LSN · b0825d28
      Michael Paquier authored
      c186ba13 has fixed an issue related to the updates of the minimum
      recovery LSN across multiple processes on standbys, but we never really
      had a test case able to reliably check its logic.
      
      This commit introduces a new test case to close the gap, and is designed
      to check the consistency of data based on the minimum recovery point set
      by either the startup process or the checkpointer for both an offline
      cluster (by looking at the on-disk page headers) and an online cluster
      (using pageinspect).
      
      Note that with c186ba13 reverted, this test fails badly for both the
      online and offline cases, as designed.
      
      Author: Michael Paquier, Andrew Gierth
      Reviewed-by: Andrew Gierth, Georgios Kokolatos, Arthur Zakirov
      Discussion: https://postgr.es/m/20181108044525.GA17482@paquier.xyz
      b0825d28
  6. 02 Jan, 2019 1 commit
  7. 23 Jan, 2018 1 commit
  8. 03 Jan, 2018 1 commit
  9. 16 Nov, 2017 1 commit
  10. 22 Mar, 2017 1 commit
    • Simon Riggs's avatar
      Teach xlogreader to follow timeline switches · 1148e22a
      Simon Riggs authored
      Uses page-based mechanism to ensure we’re using the correct timeline.
      
      Tests are included to exercise the functionality using a cold disk-level copy
      of the master that's started up as a replica with slots intact, but the
      intended use of the functionality is with later features.
      
      Craig Ringer, reviewed by Simon Riggs and Andres Freund
      1148e22a
  11. 03 Jan, 2017 1 commit
  12. 05 Sep, 2016 1 commit
    • Simon Riggs's avatar
      Dirty replication slots when using sql interface · d851bef2
      Simon Riggs authored
      When pg_logical_slot_get_changes(...) sets confirmed_flush_lsn to the point at
      which replay stopped, it doesn't dirty the replication slot.  So if the replay
      didn't cause restart_lsn or catalog_xmin to change as well, this change will
      not get written out to disk. Even on a clean shutdown.
      
      If Pg crashes or restarts, a subsequent pg_logical_slot_get_changes(...) call
      will see the same changes already replayed since it uses the slot's
      confirmed_flush_lsn as the start point for fetching changes. The caller can't
      specify a start LSN when using the SQL interface.
      
      Mark the slot as dirty after reading changes using the SQL interface so that
      users won't see repeated changes after a clean shutdown. Repeated changes still
      occur when using the walsender interface or after an unclean shutdown.
      
      Craig Ringer
      d851bef2
  13. 04 May, 2016 1 commit
  14. 30 Mar, 2016 1 commit
    • Alvaro Herrera's avatar
      Enable logical slots to follow timeline switches · 24c5f1a1
      Alvaro Herrera authored
      When decoding from a logical slot, it's necessary for xlog reading to be
      able to read xlog from historical (i.e. not current) timelines;
      otherwise, decoding fails after failover, because the archives are in
      the historical timeline.  This is required to make "failover logical
      slots" possible; it currently has no other use, although theoretically
      it could be used by an extension that creates a slot on a standby and
      continues to replay from the slot when the standby is promoted.
      
      This commit includes a module in src/test/modules with functions to
      manipulate the slots (which is not otherwise possible in SQL code) in
      order to enable testing, and a new test in src/test/recovery to ensure
      that the behavior is as expected.
      
      Author: Craig Ringer
      Reviewed-By: Oleksii Kliukin, Andres Freund, Petr Jelínek
      24c5f1a1
  15. 29 Feb, 2016 1 commit
  16. 26 Feb, 2016 1 commit