kafgres
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
kafgres | 0.3.1 | SIM | Elastic-2.0 | Rust |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 9440 | kafgres | 否 | 是 | 是 | 是 | 否 | 否 | - |
Preload/restart; broker readiness required; replicate/archive segment data separately.
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 0.3.1 | 1817161514 | kafgres | - |
| RPM | PIGSTY | 0.3.1 | 1817161514 | kafgres_$v | - |
| DEB | PIGSTY | 0.3.1 | 1817161514 | postgresql-$v-kafgres | - |
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | N/A | N/A | PIGSTY 0.3.1 el8.x86_64.pg16 : kafgres_16 kafgres_16-0.3.1-1PGSTY.el8.x86_64.rpm
| N/A | N/A |
| el8.aarch64 | N/A | N/A | PIGSTY 0.3.1 el8.aarch64.pg16 : kafgres_16 kafgres_16-0.3.1-1PGSTY.el8.aarch64.rpm
| N/A | N/A |
| el9.x86_64 | N/A | N/A | PIGSTY 0.3.1 el9.x86_64.pg16 : kafgres_16 kafgres_16-0.3.1-1PGSTY.el9.x86_64.rpm
| N/A | N/A |
| el9.aarch64 | N/A | N/A | PIGSTY 0.3.1 el9.aarch64.pg16 : kafgres_16 kafgres_16-0.3.1-1PGSTY.el9.aarch64.rpm
| N/A | N/A |
| el10.x86_64 | N/A | N/A | PIGSTY 0.3.1 el10.x86_64.pg16 : kafgres_16 kafgres_16-0.3.1-1PGSTY.el10.x86_64.rpm
| N/A | N/A |
| el10.aarch64 | N/A | N/A | PIGSTY 0.3.1 el10.aarch64.pg16 : kafgres_16 kafgres_16-0.3.1-1PGSTY.el10.aarch64.rpm
| N/A | N/A |
| d12.x86_64 | N/A | N/A | PIGSTY 0.3.1 d12.x86_64.pg16 : postgresql-16-kafgres postgresql-16-kafgres_0.3.1-1PGSTY~bookworm_amd64.deb
| N/A | N/A |
| d12.aarch64 | N/A | N/A | PIGSTY 0.3.1 d12.aarch64.pg16 : postgresql-16-kafgres postgresql-16-kafgres_0.3.1-1PGSTY~bookworm_arm64.deb
| N/A | N/A |
| d13.x86_64 | N/A | N/A | PIGSTY 0.3.1 d13.x86_64.pg16 : postgresql-16-kafgres postgresql-16-kafgres_0.3.1-1PGSTY~trixie_amd64.deb
| N/A | N/A |
| d13.aarch64 | N/A | N/A | PIGSTY 0.3.1 d13.aarch64.pg16 : postgresql-16-kafgres postgresql-16-kafgres_0.3.1-1PGSTY~trixie_arm64.deb
| N/A | N/A |
| u22.x86_64 | N/A | N/A | PIGSTY 0.3.1 u22.x86_64.pg16 : postgresql-16-kafgres postgresql-16-kafgres_0.3.1-1PGSTY~jammy_amd64.deb
| N/A | N/A |
| u22.aarch64 | N/A | N/A | PIGSTY 0.3.1 u22.aarch64.pg16 : postgresql-16-kafgres postgresql-16-kafgres_0.3.1-1PGSTY~jammy_arm64.deb
| N/A | N/A |
| u24.x86_64 | N/A | N/A | PIGSTY 0.3.1 u24.x86_64.pg16 : postgresql-16-kafgres postgresql-16-kafgres_0.3.1-1PGSTY~noble_amd64.deb
| N/A | N/A |
| u24.aarch64 | N/A | N/A | PIGSTY 0.3.1 u24.aarch64.pg16 : postgresql-16-kafgres postgresql-16-kafgres_0.3.1-1PGSTY~noble_arm64.deb
| N/A | N/A |
| u26.x86_64 | N/A | N/A | PIGSTY 0.3.1 u26.x86_64.pg16 : postgresql-16-kafgres postgresql-16-kafgres_0.3.1-1PGSTY~resolute_amd64.deb
| N/A | N/A |
| u26.aarch64 | N/A | N/A | PIGSTY 0.3.1 u26.aarch64.pg16 : postgresql-16-kafgres postgresql-16-kafgres_0.3.1-1PGSTY~resolute_arm64.deb
| N/A | N/A |
构建
您可以使用 pig build 命令构建 kafgres 扩展的 RPM / DEB 包:
安装
您可以直接安装 kafgres 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
使用 pig 或者是 apt/yum/dnf 安装扩展:
预加载配置:
创建扩展:
用法
来源:
kafgres 在 PostgreSQL 中提供 Kafka 协议代理。上游 0.3.1 构建并测试 PostgreSQL 13–18。需要超级用户安装、共享预加载及重启,许可为 Elastic License 2.0。
启用代理
Kafka 客户端连接配置的代理端口,SQL 消息生产参与调用者的事务。将监听器暴露到受信任本地环境之外前,应配置 TLS、身份认证和访问控制。
存储与变更捕获
kafgres.storage_engine 默认为 segment,日志保存在独立文件中,需要使用扩展自己的复制与归档流程。依赖 segment 保留和恢复能力前,应配置 kafgres.segment_archive_command 并监控 kafgres_archive_status()。普通 PostgreSQL WAL/PITR 无法覆盖整个 segment 日志。table 引擎将日志保存在 PostgreSQL 表内;切换引擎不会迁移已有记录。
CDC 还需要 wal_level = logical;部分 PostgreSQL 构建另外要求配置 output_plugin_libraries 白名单。0.3.0 支持带投影和过滤的 SQL CDC 映射。部署前应审阅映射与恢复流程;标签中的 CI 矩阵及发行产物覆盖 PostgreSQL 13–18。
持久性设置
0.3.0 默认开启 kafgres.fsync_before_ack,默认关闭 kafgres.relaxed_produce_commit。放宽前者可能在断电时丢失已经确认的分段记录;放宽后者可能在崩溃后丢失最新的幂等生产者状态,使重试产生重复记录。这些参数的作用范围小于事务性 SQL 生产,并不统一作用于表引擎。应保留严格默认值,直到明确接受对应的持久性取舍。
0.3.0 升级
安装匹配的 0.3.0 库并重启后,在 broker 数据库执行 ALTER EXTENSION kafgres UPDATE。SQL 升级收紧管理函数授权,并固定生产函数的 search_path。段存储引擎首次启动时会移除 0.2.0 的旧时间戳索引;旧段仍可通过扫描读取,新段生成当前格式的索引。
0.3.1 的 CDC 安装边界
CDC 需要 wal_level = logical。若 PostgreSQL 构建启用了输出插件允许列表,且代理报告不能把 kafgres 用作输出插件,应将其加入 output_plugin_libraries 并重载配置。库预加载仍需重启。已有事务式段记录应按上游 0.3.1 升级说明处理;单纯替换库不是存储迁移。
这个页面对您有帮助吗?
感谢反馈,我们会据此改进这篇文档。
哪里没有解决?(可选)