PHPackages                             cooper/postgre-cdc - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. cooper/postgre-cdc

ActiveLibrary[Database &amp; ORM](/categories/database)

cooper/postgre-cdc
==================

PostgreSQL Change Data Capture using logical replication

00PHP

Since Jun 4Pushed 11mo agoCompare

[ Source](https://github.com/myxiaoao/postgre-logical-replication)[ Packagist](https://packagist.org/packages/cooper/postgre-cdc)[ RSS](/packages/cooper-postgre-cdc/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

PostgreSQL 逻辑复制解析器
==================

[](#postgresql-逻辑复制解析器)

这个 PHP 库提供了一个简单易用的方式来监听和处理 PostgreSQL 数据库的变更，使用逻辑复制（Logical Replication）功能。它使用 wal2json 插件解析 PostgreSQL 的逻辑复制输出，并将其转换为易于使用的 PHP 数组，方便开发者实现各种 CDC（变更数据捕获）应用场景。

功能特点
----

[](#功能特点)

- 自动设置 PostgreSQL 逻辑复制槽和发布
- 使用 wal2json 插件解析 PostgreSQL 的逻辑复制输出为 JSON 格式
- 支持插入、更新、删除等操作的解析
- 自动重连和错误处理
- 可定制的日志记录
- 信号处理（优雅关闭）

系统要求
----

[](#系统要求)

- PHP 8.0+
- PostgreSQL 10+（启用了逻辑复制功能和安装了 wal2json 插件）
- PHP 扩展：
    - pdo
    - pdo\_pgsql
    - pgsql
    - pcntl（可选，用于信号处理）
- Monolog 2.0+（用于日志记录）

安装
--

[](#安装)

通过 Composer 安装：

```
composer require cooper/postgre-cdc
```

配置 PostgreSQL
-------------

[](#配置-postgresql)

确保 PostgreSQL 已启用逻辑复制功能，并安装了 wal2json 插件。在 `postgresql.conf` 中设置：

```
wal_level = logical         # 启用逻辑复制
max_replication_slots = 5   # 复制槽数量
max_wal_senders = 5         # 并发复制连接数
shared_preload_libraries = 'wal2json'  # 加载插件

```

然后重启 PostgreSQL 服务器。

基本用法
----

[](#基本用法)

```
