重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 551|回复: 0
打印 上一主题 下一主题

PG从WINDOWS到LINUX跨平台流复制的关键点

[复制链接]
跳转到指定楼层
楼主
发表于 2025-8-17 09:48:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 郑全 于 2025-8-17 09:59 编辑

相信大家做过PG流复制的,主要是在同平台做流复制,比如LINUX到LINUX,WINDOWS到WINDOWS,很好有人做过跨平台的流复制,比如从WINDOWS到LINUX的流复制。
实现WINDOWS到LINUX的流复制,主要解决是以前生产中安装时,直接安装到WINDOWS了,随着时间的增加,数据量也在增加,达到几百G,甚至上T,这个时候,有人提出,要迁移到LINUX。
当然,大家都知道,最简单的方法,就是使用PG_DUMP,但大家也知道,PG_DUMP导出比较慢,导入也不快,那这个时间,应用就必须等着,如果应用不重要,等个十天半月都没有问题的,那也无所谓,但有些应用,你让它停半小时,也有人不乐意,怎么办,PG_DUMP这种方式,就不行了。有人说可以逻辑复制,但逻辑复制,如果对象比较多,用户多,还是比较复杂,能否简单一点,比如使用物理复制,就是流复制,能否行呢?
答案是肯定的,使用流复制可以支持PG从WINDOWS到LINUX的复制,先搭建好从WINDOWS到LINUX的流复制,平时进行数据同步,等准备好了,找一个时间,执行一个命令,直接把LINUX下的备库激活即可。时间根据执行者的熟练程度,5分钟以内,应该是可以搞定的,你说方便不方便。
下面说说目前这个跨平台流复制,主要关注的问题,主要有两个:
1.区域问题
   WINDOWS到LINUX,字符集,基本不是事,现在基本都是使用的UTF8,但排序规则WINDOWS和LINUX下不一样,比如WINDOWS上面一般使用的是 zh-cn,注意,zh和CN之间,不是下划线,是减号,这个在LINUX下,目前还没有找到这个排序规则,在LINUX下,PG能打开,但不能使用。找不到,在LINUX下,就得做索引等得重建,非常麻烦。这个是目前最大得问题。
   如果WINDOWS在建库时,区域使用了 C , 那就简单了,在LINUX下和WINDOWS一样使用,具体得初始数据库语句如下:
   initdb -U postgres -D "C:/Program Files/PostgreSQL/16/data" -E UTF8 --locale=C -W

   成功后,如下:
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2026-4-18 00:17 , Processed in 0.260317 second(s), 23 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表