我想创建一个配置来获得 PostgreSQL HA。在我的主人中,我想用这个配置一个 postgresql.conf 文件:
archive_command = 'local_backup_script.sh "%p" "%f"'
代替:
archive_command = 'cp "%p" /path/to/archive/"%f"'
然后我有一个疑问:我必须把脚本放在哪里?
我想创建一个配置来获得 PostgreSQL HA。在我的主人中,我想用这个配置一个 postgresql.conf 文件:
archive_command = 'local_backup_script.sh "%p" "%f"'
代替:
archive_command = 'cp "%p" /path/to/archive/"%f"'
然后我有一个疑问:我必须把脚本放在哪里?
你可以把它放在任何你喜欢的地方,只要
postgres
用户有执行它的权限,并且有权限 cd 到它所在的目录。我通常把它放进去,
/usr/local/bin
除非我在一个有版本化脚本存储库的系统上工作,在这种情况下它就在那里——比如/opt/mycompany-scripts/postgresql/myarchivescript.sh
.我建议使用完全合格的路径来使其位置明显,例如
(称其为“备份脚本”具有误导性;它根本不做备份,它只是归档 WAL,这可能是备份或复制过程的一部分)。
您可以将它放在 PostgreSQL 可以找到并执行它的任何地方。
我把它放在数据目录本身,因为我认为它是与postgresql.conf和pg_hba.conf等一样的配置,并希望它们一起备份。
(如果您不指定脚本的路径,这也是搜索脚本的目录。至少在 Linux 上)