复杂到调用一个
shell
脚本。
要 启 用
WAL
归 档 , 需 设 置
wal_level
配 置 参 数 为
replica
或 更 高 , 设 置
archive_mode
为
on
,并且使用
archive_command
配置参数指定一个
shell
命令。
实际上,这些设置总是被放置在
uxsinodb.conf
文件中。在
archive_command
中,
%p
会被将要归档的文件路径所替代,而
%f
会被文件名所替代(路径名是相对
于当前工作目录而言的,即集群的数据目录)。如果需要在命令中嵌入一个真
正的
%
字符,可以使用
%%
。最简单的命令类似于:
archive_command='test!-f/home/uxdb/uxdbinstall/dbsql/bin/archivedir/
%f&&cp%p/home/
uxdb/uxdbinstall/dbsql/bin/archivedir/%f'#Linux
archive_command='copy"%p""E:\\ProgramFiles(x86)\\uxdb\\dbsql\\bin\\archivedir\\%f"'#
Windows
它 将 把
WAL
段 拷 贝 到 目 录
/home/uxdb/uxdbinstall/dbsql/bin/archivedir/
(
Linux
)或者
E:\
\ProgramFiles(x86)\\uxdb\\dbsql\\bin\\archivedir\\
(
Windows
)(这个只是
一个例子,并非建议的方法,可能不能在所有系统上都正确运行)。在
%p
和
%f
参数被替换之后,实际被执行的命令示例如下:
test!-f/home/uxdb/uxdbinstall/dbsql/bin/archivedir/00000001000000A900000065
&&cpux_wal/00000001000000A900000065/home/uxdb/uxdbinstall/dbsql/bin/
archivedir/00000001000000A900000065
对每一个将要被归档的新文件都会生成一个类似的命令。
如果担心归档存储的尺寸过大,可以使用
gzip
来压缩归档文件:
archive_command='gzip<%p>/home/uxdb/uxdbinstall/dbsql/bin/archive/%f'
那么在恢复时将需要使用
gunzip
:
restore_command='gunzip</home/uxdb/uxdbinstall/dbsql/bin/archivedir/%f>%p'
归档命令将在运行
UXDB
服务器的同一个用户的权限下执行。因为被归档
的一系列
WAL
文件包含数据库的所有东西,所以应该确保该用户的归档数据不
评论