mirror of
https://github.com/postgres/postgres.git
synced 2025-06-29 10:41:53 +03:00
Add archive_mode='always' option.
In 'always' mode, the standby independently archives all files it receives from the primary. Original patch by Fujii Masao, docs and review by me.
This commit is contained in:
@ -86,7 +86,7 @@ int min_wal_size = 5; /* 80 MB */
|
||||
int wal_keep_segments = 0;
|
||||
int XLOGbuffers = -1;
|
||||
int XLogArchiveTimeout = 0;
|
||||
bool XLogArchiveMode = false;
|
||||
int XLogArchiveMode = ARCHIVE_MODE_OFF;
|
||||
char *XLogArchiveCommand = NULL;
|
||||
bool EnableHotStandby = false;
|
||||
bool fullPageWrites = true;
|
||||
@ -140,6 +140,24 @@ const struct config_enum_entry sync_method_options[] = {
|
||||
{NULL, 0, false}
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Although only "on", "off", and "always" are documented,
|
||||
* we accept all the likely variants of "on" and "off".
|
||||
*/
|
||||
const struct config_enum_entry archive_mode_options[] = {
|
||||
{"always", ARCHIVE_MODE_ALWAYS, false},
|
||||
{"on", ARCHIVE_MODE_ON, false},
|
||||
{"off", ARCHIVE_MODE_OFF, false},
|
||||
{"true", ARCHIVE_MODE_ON, true},
|
||||
{"false", ARCHIVE_MODE_OFF, true},
|
||||
{"yes", ARCHIVE_MODE_ON, true},
|
||||
{"no", ARCHIVE_MODE_OFF, true},
|
||||
{"1", ARCHIVE_MODE_ON, true},
|
||||
{"0", ARCHIVE_MODE_OFF, true},
|
||||
{NULL, 0, false}
|
||||
};
|
||||
|
||||
/*
|
||||
* Statistics for current checkpoint are collected in this global struct.
|
||||
* Because only the checkpointer or a stand-alone backend can perform
|
||||
@ -767,7 +785,7 @@ static MemoryContext walDebugCxt = NULL;
|
||||
#endif
|
||||
|
||||
static void readRecoveryCommandFile(void);
|
||||
static void exitArchiveRecovery(TimeLineID endTLI, XLogSegNo endLogSegNo);
|
||||
static void exitArchiveRecovery(TimeLineID endTLI, XLogRecPtr endOfLog);
|
||||
static bool recoveryStopsBefore(XLogReaderState *record);
|
||||
static bool recoveryStopsAfter(XLogReaderState *record);
|
||||
static void recoveryPausesHere(void);
|
||||
|
Reference in New Issue
Block a user