PostgreSQL:什么情况会触发 WAL 日志归档?

方法一:手动切换 WAL 日志

PostgreSQL 提供 pg_switch_xlog() 函数可以手工切换 WAL 日志,如下:

–手动归档

[pg93@redhatB ~]$ psql
shpsql (9.3.0)
Type “help” for help.

postgres=# select pg_switch_xlog();
pg_switch_xlog

0/87000000
(1 row)

备注:执行 pg_switch_xlog() 后,WAL 会切换到新的日志,这时会将老的 WAL日志归档,这里归档到
/archive/pg93 目录。

方法二:WAL 日志写满后触发归档

WAL 日志被写满后会触发归档,文档在说明配置参数 archive_command 时的第一句说就说明了这点,
WAL 日志文件默认为 16MB,这个值可以在编译 PostgreSQL 时通过参数 “–with-wal-segsize” 更改,编
译后不能修改。

方法三:设置 archive_timeout

 另外可以设置archive 超时参数 archive_timeout ,假如设置 archive_timeout=60 ,那么每 60 s ,

会触发一次 WAL 日志切换,同时触发日志归档,这里有个隐含的假设: 当前 WAL 日志中仍有未归档的 WAL
日志内容,有兴趣的朋友可以自己测试下。

你可能感兴趣的:(postgresql)