WAL归档配置

确保WAL信息记录级别配置正确

说明

WAL(Write Ahead Log)即预写式日志,是数据库用于恢复事务持久性的一种机制。wal_level决定了写入WAL的信息量。为了在备机上开启只读查询,wal_level需要在主机上设置成hot_standby,并且备机设置hot_standby参数为on

实现

检查方法:

检查wal_level参数是否为默认值hot_standby,如果不是则失败。

openGauss=# show wal_level;
 wal_level
-----------
 hot_standby
(1 row)

修复方法:

设置参数wal_level值为hot_standby,并重启数据库使设置生效。

gs_guc set -Z datanode -N all -I all -c "wal_level=hot_standby"
gs_om -t stop && gs_om -t start

确保开启归档模式

说明

参数archive_mode用于设置是否开启归档模式,该参数通常只建议当wal_level参数设置为archive时使用。当wal_level参数设置为minimal时,archive_mode参数无法使用。如果设置archive_mode参数为on,需要同时设置archive_command参数以指定归档WAL日志的命令。

实现

检查方法:

  1. 先检查wal_level参数是否为archive
  2. 如果wal_levelarchive,则检查archive_mode参数值是否为on
  3. 如果wal_level配置为hot_standby,则无需检查archive_mode
openGauss=# show wal_level;
wal_level
-----------
hot_standby
(1 row)

openGauss=# show archive_mode;
archive_mode
------------
off
(1 row)

修复方法:

wal_level参数为archive时,设置参数archive_modeon,同时设置archive_command为归档WAL日志的命令,archive_command参数的值仅供参考,其中--remove-destination选项作用为拷贝前如果目标文件已存在,会先删除已存在的目标文件,然后执行拷贝操作。

gs_guc reload -Z datanode -N all -I all -c "archive_mode=on"
gs_guc reload -Z datanode -N all -I all -c "archive_command='cp --remove-destination %p /mnt/server/archive/%f'"
意见反馈
编组 3备份
    openGauss 2024-12-10 00:55:52
    取消