目前我正在研究如何为HA postgresql架构设置流复制。但是这个问题对于我们在混合环境中的备份/恢复和维护也很重要。
我们的"主要" postgresql服务器正在Windows机器上运行。我每天都在使用pg_dump来创建逻辑备份,并使用pg_basebackup和WAL归档来创建一个应该提供PITR的完整备份(我还没有测试过)。
下一步是设置一台通过流复制保存副本的从机。由于postgresql生态系统的支持更好,这个新主机运行的是Ubuntu Server 16.04 LTS。
pg_basebackup -h <main host> -D <datadirectory> --xlog-method=stream
我初始化了slave datadirectory。 standby_mode = on
和connectioninfo hot_standby = on
并启动了守护程序现在我遇到了问题,因为postgres告诉我,&#34;数据库区域设置(English_United_States.1252,显然是Windows特定的)与操作系统&#34;
嗯,我知道,1252是Windows特定的语言环境,我应该在Linux上使用en_US.UTF8,但在这样的混合环境中,我应该:
答案 0 :(得分:2)
您无法恢复pg_basebackup
在其他架构上创建的文件系统备份,例如从Linux上的Windows还原备份。
在这种情况下也无法进行流媒体复制。
从PostgreSQL v10开始,您可能会考虑进行逻辑复制。