Fra*_*fka 4 postgresql backup postgresql-9.2
我正在使用 Postgres 9.2.1 并将我的可存档 WAL 保存在 NFS 共享上。
我只使用基本命令,在 postgresql.conf 中作为示例给出
test ! -f /mnt/server/archivedir/%f && cp %p /mnt/server/archivedir/%f
cp 命令是否以某种方式保护我的备份服务器,它读取 WAL 档案,不读取一半复制的 WAL 文件?我是否必须手动定义一个cp
命令,让文件以 结尾,.tmp
然后调用rename
以给它正确的名称?
有人有保存的例子archive_command
吗?
NFS 和 cp 都不会保护您免受部分写入。缓解写入原子性问题的常用方法是在复制(或写入)完成后使用临时文件和 mv。你可能会使用类似的东西:
test ! -f /mnt/server/archivedir/%f && cp %p /mnt/server/archivedir/tmp/%f && \
mv /mnt/server/archivedir/tmp/%f /mnt/server/archivedir/%f
Run Code Online (Sandbox Code Playgroud)