🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] > [github.com/2ndQuadrant/pglogical](https://github.com/2ndQuadrant/pglogical) ## 概述 - 为 PostgreSQL 数据库提供了**逻辑流复制发布和订阅的功能** - pglogical 是一个用于 PostgreSQL 的逻辑复制工具,它允许在不使用传统流复制或物理备份的情况下,在多个 PostgreSQL 数据库之间复制数据。与基于流复制的解决方案不同,pglogical 采用逻辑复制,这意味着数据更加灵活,并且可以根据需要选择要复制的表和列。 pglogical 可以用于许多应用程序,例如: 1. 数据库升级:将生产数据库升级到新的 PostgreSQL 版本时,管理员可以使用 pglogical 将数据复制到具有新版本的 PostgreSQL 实例中,从而实现零停机时间升级。 2. 数据库复制:将数据复制到远程数据中心,以实现故障转移和灾难恢复,同时保持较低的延迟和较高的性能。 3. 数据库合并:将来自不同源的数据合并到单个数据库中。 总之,pglogical 为 PostgreSQL 提供了一种可靠的、高效的数据复制方法,支持各种复制场景,并且易于设置和管理。 ## 安装 pglogical ### yum 1. 从 https://yum.postgresql.org/repopackages/ 中获取当前环境的值并赋值连接使用 yum install安装,如我的是 CentOS 7 - PPC64LE,复制此连接 ``` yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-ppc64le/pgdg-redhat-repo-latest.noarch.rpm ``` 2. 安装对应的 contrib ``` yum install postgresql15-server postgresql15-contrib ``` 3. 安装仓库 ``` curl https://techsupport.enterprisedb.com/api/repository/dl/default/release/15/rpm | bash ``` 4. 安装 pglogical ``` yum install postgresql15-pglogical ``` > postgresql15-contrib 是 PostgreSQL 数据库的一个扩展模块,包含了许多额外的插件、函数和工具,用于增强 PostgreSQL 的功能。这些插件包括全文搜索、地理空间数据处理、加密支持等等。 ## 修改配置 postgres.conf ``` wal_level = 'logical' max_worker_processes = 10 # one per database needed on provider node # one per node needed on subscriber node max_replication_slots = 10 # one per node needed on provider node max_wal_senders = 10 # one per node needed on provider node shared_preload_libraries = 'pglogical' track_commit_timestamp = on # needed for last/first update wins conflict resolution # property available in PostgreSQL 9.5+ ``` ### 添加扩展 pgsql 中执行以下sql添加扩展 ``` CREATE EXTENSION pglogical; ```