archive_mode

确定何时将已完成的WAL段发送到归档存储的配置参数

archive_mode 是一个配置参数,用于确定何时将已完成的WAL段发送到归档存储。

archive_modePostgreSQL 8.3中添加。

用法

archive_mode 要求将wal_level 设置为高于minimal的值。

archive_mode 有三种可能的设置

当设置为onalways时,archive_command中定义的命令将被执行以归档每个WAL段。

on表示archive_command仅在主服务器上应用。

always表示archive_command将应用于服务器是主服务器还是备用服务器。

按PostgreSQL版本分列的详细信息

archive_mode (PostgreSQL 17)

设置 关闭
单位  
类别 预写日志 / 归档
简短描述 允许使用archive_command归档WAL文件。
额外描述  
上下文 postmaster
变量类型 枚举
来源 默认值
最小值  
最大值  
枚举值 always, on, off
启动值 关闭
重置值 关闭
源文件  
源代码行  
挂起重启 false

文档: archive_mode

archive_mode (PostgreSQL 16)

设置 关闭
单位  
类别 预写日志 / 归档
简短描述 允许使用archive_command归档WAL文件。
额外描述  
上下文 postmaster
变量类型 枚举
来源 默认值
最小值  
最大值  
枚举值 always, on, off
启动值 关闭
重置值 关闭
源文件  
源代码行  
挂起重启 false

文档: archive_mode

archive_mode (PostgreSQL 15)

设置 关闭
单位  
类别 预写日志 / 归档
简短描述 允许使用archive_command归档WAL文件。
额外描述  
上下文 postmaster
变量类型 枚举
来源 默认值
最小值  
最大值  
枚举值 always, on, off
启动值 关闭
重置值 关闭
源文件  
源代码行  
挂起重启 false

文档: archive_mode

archive_mode (PostgreSQL 14)

设置 关闭
单位  
类别 预写日志 / 归档
简短描述 允许使用archive_command归档WAL文件。
额外描述  
上下文 postmaster
变量类型 枚举
来源 默认值
最小值  
最大值  
枚举值 always, on, off
启动值 关闭
重置值 关闭
源文件  
源代码行  
挂起重启 false

文档: archive_mode

archive_mode (PostgreSQL 13)

设置 关闭
单位  
类别 预写日志 / 归档
简短描述 允许使用archive_command归档WAL文件。
额外描述  
上下文 postmaster
变量类型 枚举
来源 默认值
最小值  
最大值  
枚举值 always, on, off
启动值 关闭
重置值 关闭
源文件  
源代码行  
挂起重启 false

文档: archive_mode

archive_mode (PostgreSQL 12)

设置 关闭
单位  
类别 预写日志 / 归档
简短描述 允许使用archive_command归档WAL文件。
额外描述  
上下文 postmaster
变量类型 枚举
来源 默认值
最小值  
最大值  
枚举值 always, on, off
启动值 关闭
重置值 关闭
源文件  
源代码行  
挂起重启 false

文档: archive_mode

archive_mode (PostgreSQL 11)

设置 关闭
单位  
类别 预写日志 / 归档
简短描述 允许使用archive_command归档WAL文件。
额外描述  
上下文 postmaster
变量类型 枚举
来源 默认值
最小值  
最大值  
枚举值 always, on, off
启动值 关闭
重置值 关闭
源文件  
源代码行  
挂起重启 false

文档: archive_mode

archive_mode (PostgreSQL 10)

设置 关闭
单位  
类别 预写日志 / 归档
简短描述 允许使用archive_command归档WAL文件。
额外描述  
上下文 postmaster
变量类型 枚举
来源 默认值
最小值  
最大值  
枚举值 always, on, off
启动值 关闭
重置值 关闭
源文件  
源代码行  
挂起重启 false

文档: archive_mode

archive_mode (PostgreSQL 9.6)

设置 关闭
单位  
类别 预写日志 / 归档
简短描述 允许使用archive_command归档WAL文件。
额外描述  
上下文 postmaster
变量类型 枚举
来源 默认值
最小值  
最大值  
枚举值 always, on, off
启动值 关闭
重置值 关闭
源文件  
源代码行  
挂起重启 false

文档: archive_mode

archive_mode (PostgreSQL 9.5)

设置 关闭
单位  
类别 预写日志 / 归档
简短描述 允许使用archive_command归档WAL文件。
额外描述  
上下文 postmaster
变量类型 枚举
来源 默认值
最小值  
最大值  
枚举值 always, on, off
启动值 关闭
重置值 关闭
源文件  
源代码行  
挂起重启 false

文档: archive_mode

archive_mode (PostgreSQL 9.4)

设置 关闭
单位  
类别 预写日志 / 归档
简短描述 允许使用archive_command归档WAL文件。
额外描述  
上下文 postmaster
变量类型 布尔值
来源 默认值
最小值  
最大值  
枚举值  
启动值 关闭
重置值 关闭
源文件  
源代码行  

文档: archive_mode

archive_mode (PostgreSQL 9.3)

设置 关闭
单位  
类别 预写日志 / 归档
简短描述 允许使用archive_command归档WAL文件。
额外描述  
上下文 postmaster
变量类型 布尔值
来源 默认值
最小值  
最大值  
枚举值  
启动值 关闭
重置值 关闭
源文件  
源代码行  

文档: archive_mode

archive_mode (PostgreSQL 9.2)

设置 关闭
单位  
类别 预写日志 / 归档
简短描述 允许使用archive_command归档WAL文件。
额外描述  
上下文 postmaster
变量类型 布尔值
来源 默认值
最小值  
最大值  
枚举值  
启动值 关闭
重置值 关闭
源文件  
源代码行  

文档: archive_mode

archive_mode (PostgreSQL 9.1)

设置 关闭
单位  
类别 预写日志 / 归档
简短描述 允许使用archive_command归档WAL文件。
额外描述  
上下文 postmaster
变量类型 布尔值
来源 默认值
最小值  
最大值  
枚举值  
启动值 关闭
重置值 关闭
源文件  
源代码行  

文档: archive_mode

archive_mode (PostgreSQL 9.0)

设置 关闭
单位  
类别 预写日志 / 归档
简短描述 允许使用archive_command归档WAL文件。
额外描述  
上下文 postmaster
变量类型 布尔值
来源 默认值
最小值  
最大值  
枚举值  
启动值 关闭
重置值 关闭
源文件  
源代码行  

文档: archive_mode

archive_mode (PostgreSQL 8.4)

设置 关闭
单位  
类别 预写日志 / 设置
简短描述 允许使用archive_command归档WAL文件。
额外描述  
上下文 postmaster
变量类型 布尔值
来源 默认值
最小值  
最大值  
枚举值  
启动值 关闭
重置值 关闭
源文件  
源代码行  

文档: archive_mode

archive_mode (PostgreSQL 8.3)

设置  
单位  
类别 预写日志 / 设置
简短描述 允许使用archive_command归档WAL文件。
额外描述  
上下文 postmaster
变量类型 布尔值
来源 默认值
最小值  
最大值  

文档: archive_mode

更改历史记录

源代码

src/include/access/xlog.h

 /* Archive modes */
typedef enum ArchiveMode
{
        ARCHIVE_MODE_OFF = 0,           /* disabled */
        ARCHIVE_MODE_ON,                        /* enabled while server is running normally */
        ARCHIVE_MODE_ALWAYS                     /* enabled always (even during recovery) */
} ArchiveMode;
extern int      XLogArchiveMode;

src/backend/access/transam/xlog.c

/* User-settable parameters */
...
int			XLogArchiveMode = ARCHIVE_MODE_OFF;

src/backend/utils/misc/guc.c

        {
                {"archive_mode", PGC_POSTMASTER, WAL_ARCHIVING,
                        gettext_noop("Allows archiving of WAL files using archive_command."),
                        NULL
                },
                &XLogArchiveMode,
                ARCHIVE_MODE_OFF, archive_mode_options,
                NULL, NULL, NULL
        },

src/backend/postmaster/postmaster.c

		if (XLogArchiveMode > ARCHIVE_MODE_OFF && wal_level == WAL_LEVEL_MINIMAL)
		ereport(ERROR,
				(errmsg("WAL archival cannot be enabled when wal_level is \"minimal\"")));

src/backend/access/transam/xlogarchive.c

	/*
	 * Create .done file forcibly to prevent the restored segment from being
	 * archived again later.
	 */
	if (XLogArchiveMode != ARCHIVE_MODE_ALWAYS)
		XLogArchiveForceDone(xlogfname);
	else
		XLogArchiveNotify(xlogfname);

src/backend/replication/walreceiver.c

                        /*
                         * Create .done file forcibly to prevent the streamed segment from
                         * being archived later.
                         */
                        XLogFileName(xlogfname, recvFileTLI, recvSegNo, wal_segment_size);
                        if (XLogArchiveMode != ARCHIVE_MODE_ALWAYS)
                                XLogArchiveForceDone(xlogfname);
                        else
                                XLogArchiveNotify(xlogfname);

分类

备份GUC配置项复制存储WAL

另请参阅

archive_commandpg_stat_archiver

反馈

提交任何关于"archive_mode"的评论、建议或更正 此处