summaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/regexp.c
diff options
context:
space:
mode:
authorAndres Freund2023-04-08 09:20:01 +0000
committerAndres Freund2023-04-08 09:20:05 +0000
commit0fdab27ad68a059a1663fa5ce48d76333f1bd74c (patch)
tree3d29650901130428712f71cbb8b57cb19f738f1a /src/backend/utils/adt/regexp.c
parente101dfac3a53c20bfbf1ca85d30a368c2954facf (diff)
Allow logical decoding on standbys
Unsurprisingly, this requires wal_level = logical to be set on the primary and standby. The infrastructure added in 26669757b6a ensures that slots are invalidated if the primary's wal_level is lowered. Creating a slot on a standby waits for a xl_running_xact record to be processed. If the primary is idle (and thus not emitting xl_running_xact records), that can take a while. To make that faster, this commit also introduces the pg_log_standby_snapshot() function. By executing it on the primary, completion of slot creation on the standby can be accelerated. Note that logical decoding on a standby does not itself enforce that required catalog rows are not removed. The user has to use physical replication slots + hot_standby_feedback or other measures to prevent that. If catalog rows required for a slot are removed, the slot is invalidated. See 6af1793954e for an overall design of logical decoding on a standby. Bumps catversion, for the addition of the pg_log_standby_snapshot() function. Author: "Drouvot, Bertrand" <[email protected]> Author: Andres Freund <[email protected]> (in an older version) Author: Amit Khandekar <[email protected]> (in an older version) Reviewed-by: Andres Freund <[email protected]> Reviewed-by: FabrÃŒzio de Royes Mello <[email protected]> Reviewed-by: Amit Kapila <[email protected]> Reviewed-By: Robert Haas <[email protected]>
Diffstat (limited to 'src/backend/utils/adt/regexp.c')
0 files changed, 0 insertions, 0 deletions