mirror of
https://github.com/postgres/postgres.git
synced 2025-09-09 13:09:39 +03:00
Merge wal_level "archive" and "hot_standby" into new name "replica"
The distinction between "archive" and "hot_standby" existed only because at the time "hot_standby" was added, there was some uncertainty about stability. This is now a long time ago. We would like to move forward with simplifying the replication configuration, but this distinction is in the way, because a primary server cannot tell (without asking a standby or predicting the future) which one of these would be the appropriate level. Pick a new name for the combined setting to make it clearer that it covers all (non-logical) backup and replication uses. The old values are still accepted but are converted internally. Reviewed-by: Michael Paquier <michael.paquier@gmail.com> Reviewed-by: David Steele <david@pgmasters.net>
This commit is contained in:
@@ -121,25 +121,24 @@ extern int XLogArchiveMode;
|
||||
typedef enum WalLevel
|
||||
{
|
||||
WAL_LEVEL_MINIMAL = 0,
|
||||
WAL_LEVEL_ARCHIVE,
|
||||
WAL_LEVEL_HOT_STANDBY,
|
||||
WAL_LEVEL_REPLICA,
|
||||
WAL_LEVEL_LOGICAL
|
||||
} WalLevel;
|
||||
extern int wal_level;
|
||||
|
||||
/* Is WAL archiving enabled (always or only while server is running normally)? */
|
||||
#define XLogArchivingActive() \
|
||||
(XLogArchiveMode > ARCHIVE_MODE_OFF && wal_level >= WAL_LEVEL_ARCHIVE)
|
||||
(AssertMacro(XLogArchiveMode == ARCHIVE_MODE_OFF || wal_level >= WAL_LEVEL_REPLICA), XLogArchiveMode > ARCHIVE_MODE_OFF)
|
||||
/* Is WAL archiving enabled always (even during recovery)? */
|
||||
#define XLogArchivingAlways() \
|
||||
(XLogArchiveMode == ARCHIVE_MODE_ALWAYS && wal_level >= WAL_LEVEL_ARCHIVE)
|
||||
(AssertMacro(XLogArchiveMode == ARCHIVE_MODE_OFF || wal_level >= WAL_LEVEL_REPLICA), XLogArchiveMode == ARCHIVE_MODE_ALWAYS)
|
||||
#define XLogArchiveCommandSet() (XLogArchiveCommand[0] != '\0')
|
||||
|
||||
/*
|
||||
* Is WAL-logging necessary for archival or log-shipping, or can we skip
|
||||
* WAL-logging if we fsync() the data before committing instead?
|
||||
*/
|
||||
#define XLogIsNeeded() (wal_level >= WAL_LEVEL_ARCHIVE)
|
||||
#define XLogIsNeeded() (wal_level >= WAL_LEVEL_REPLICA)
|
||||
|
||||
/*
|
||||
* Is a full-page image needed for hint bit updates?
|
||||
@@ -153,7 +152,7 @@ extern int wal_level;
|
||||
#define XLogHintBitIsNeeded() (DataChecksumsEnabled() || wal_log_hints)
|
||||
|
||||
/* Do we need to WAL-log information required only for Hot Standby and logical replication? */
|
||||
#define XLogStandbyInfoActive() (wal_level >= WAL_LEVEL_HOT_STANDBY)
|
||||
#define XLogStandbyInfoActive() (wal_level >= WAL_LEVEL_REPLICA)
|
||||
|
||||
/* Do we need to WAL-log information required only for logical replication? */
|
||||
#define XLogLogicalInfoActive() (wal_level >= WAL_LEVEL_LOGICAL)
|
||||
|
Reference in New Issue
Block a user