目前,我正在研究如何为HA postgresql体系结构设置流复制。但是,对于混合环境中的备份/恢复和维护,这个问题也与我们有关。
我们的“主”postgresql服务器运行在Windows机箱上。我每天使用pg_dump创建逻辑备份,使用pg\u basebackup和WAL归档创建完整备份,该备份应提供PITR(我尚未对此进行测试)。
下一步是设置一个从机,通过流复制保存副本。由于postgresql生态系统的更好支持,这个新主机运行的是Ubuntu Server 16.04 LTS。
-
pg_basebackup -h <main host> -D <datadirectory> --xlog-method=stream
我初始化了从数据目录。
-
-
standby_mode = on
-
我验证了服务器配置为
hot_standby = on
现在,我遇到了一些问题,正如博士后告诉我的那样
“数据库区域设置(English_United_States.1252,显然是Windows特定的)与操作系统不兼容”
我知道1252是Windows特定的语言环境,我应该使用en_US。Linux上的UTF8,但在这样的混合环境中,我应该:
-
在Windows上初始化我们的主数据库,也带有一个en_US。UTF8语言环境?
-
-
为什么pg_basebackup格式是特定于操作系统的,或者有一种备份格式不是特定的?
-
是否要设置任何命令行标志来转换此内容?
-
我也希望只使用Linux(甚至只使用Windows),但我担心我们的客户会在相当长一段时间内依赖这两种操作系统。