WAL参数
wal_level
枚举类型。WAL(Write-Ahead Log,预写式日志)的级别。默认replica。其它可选的值包括minimal、logical。
#wal_level = replica # minimal, replica, or logical (change requires restart)
fsync
布尔类型。是否尝试确保数据已写入磁盘。默认值on。
#fsync = on # flush data to disk for crash safety (turning this off can cause unrecoverable data corruption)
full_page_writes
布尔类型。是否将整页写入到WAL日志中。默认为on。
#full_page_writes = on # recover from partial page writes
wal_compression
枚举类型。是否对WAL日志进行压缩。有效值包括off、on、pglz、lz4。默认值off。
#wal_compression = off # enables compression of full-page writes; off, on, pglz, or lz4
wal_recycle
布尔类型。是否重用WAL日志文件。默认值on。
#wal_recycle = on # recycle WAL files
min_wal_size
数值类型。WAL日志文件大小的下限,也是WAL日志空间回收后保留的最小值。默认值80MB。该参数可在运行期间设置(reload后生效)。
min_wal_size = 8GB
max_wal_size
数值类型。WAL日志文件大小的上限。在自动检查点期间,系统会尽量将WAL日志空间控制在min_wal_size与max_wal_size之间。max_wal_size默认值1GB。该参数可在运行期间设置(reload后生效)。
max_wal_size = 2GB
archive_mode
枚举类型。是否开启日志归档。有效值包括off、on、always。默认值off。该参数只能在实例启动时设置。开启归档需同时设置archive_command,可在 $PGDATA/postgresql.conf 中修改,例如:
archive_mode = on # (change requires restart)
archive_command
字符串类型。归档使用的命令。一个简单且较常用的命令类似'test ! -f <归档路径>/%f && cp %p <归档路径>/%f'。
archive_command = 'test ! -f /data/halo/archivedir/%f && cp %p /data/halo/archivedir/%f' # e.g. 'test ! -f /mnt/server/archivedir/%f && cp %p /mnt/server/archivedir/%f'