跳至主要内容

Postgres

Airbyte 的认证 Postgres 连接器提供以下功能

  • 复制表、视图和物化视图中的数据。其他数据对象(如索引、权限)不会复制到目标位置。
  • 多种保持数据新鲜的方法,包括 变更数据捕获 (CDC) 和使用 xmin 系统列 进行复制。
  • 所有可用的 同步模式,为将数据传递到目标位置提供了灵活性。
  • 通过 检查点 和数据库读取分块,可靠地复制任何大小的表。

以下内容包括“快速入门”指南、高级设置步骤和参考信息(数据类型映射和变更日志)。请参阅 此处 以解决 Postgres 连接器的问题。

请注意,此连接器的最低平台版本要求为 v0.58.0。

快速入门

以下是配置 Postgres 连接器的最低必要步骤

  1. 创建一个专用的只读 Postgres 用户,并具有复制数据的权限
  2. 在 Airbyte UI 中创建一个新的 Postgres 源,使用 xmin 系统列
  3. (Airbyte Cloud 仅限) 允许来自 Airbyte IP 的入站流量

完成此操作后,您将能够选择 Postgres 作为复制数据的数据源。

步骤 1:创建一个专用的只读 Postgres 用户

这些步骤创建一个专用的只读用户来复制数据。或者,您可以使用数据库中现有的 Postgres 用户。

以下命令将创建一个新用户

CREATE USER <user_name> PASSWORD 'your_password_here';

现在,为该用户提供对相关模式和表的只读访问权限。对于您希望复制数据的每个模式,重新运行此命令

GRANT USAGE ON SCHEMA <schema_name> TO <user_name>;
GRANT SELECT ON ALL TABLES IN SCHEMA <schema_name> TO <user_name>;
ALTER DEFAULT PRIVILEGES IN SCHEMA <schema_name> GRANT SELECT ON TABLES TO <user_name>;

步骤 2:在 Airbyte UI 中创建一个新的 Postgres 源

从您的 Airbyte Cloud 或 Airbyte 开源帐户,从左侧导航栏中选择 ,搜索 Postgres,然后创建一个新的 Postgres 源。

填写所需信息

  1. 输入您的 Postgres 数据库的主机名、端口号和名称。
  1. 您可以选择性地列出您想要同步的每个模式。这些区分大小写,并且可以输入多个模式。默认情况下,public 是唯一选择的模式。
  1. 输入在 步骤 1 中创建的用户名和密码。
  2. 选择一个 SSL 模式。您通常会选择 requireverify-ca。这两个选项始终需要加密。verify-ca 还需要来自您的 Postgres 数据库的证书。
  3. 从可用的复制方法中选择 Standard (xmin)。这使用 xmin 系统列 可靠地从您的数据库复制数据。
    1. 如果您的数据库特别大(> 500 GB),您将受益于 使用逻辑复制 (CDC) 配置您的 Postgres 源

步骤 3:(仅限 Airbyte Cloud)允许来自 Airbyte IP 的入站流量

如果您使用 Airbyte Cloud,则始终需要修改您的数据库配置以允许来自 Airbyte IP 的入站流量。您可以在我们的 Airbyte 安全文档 中找到需要允许列入白名单的所有 IP 的列表。

现在,单击 Airbyte UI 中的 设置源。Airbyte 现在将测试连接到您的数据库。一旦成功,您就配置了一个 Airbyte Postgres 源!

使用 CDC 的高级配置

Airbyte 使用 Postgres 预写日志 (WAL) 的 逻辑复制 来增量捕获删除,使用复制插件

  • 请参阅 此处 以了解 Airbyte 如何实现 CDC。
  • 请参阅 此处 以了解有关 Postgres CDC 要求和限制的更多信息。

我们建议在以下情况下配置使用 CDC 的 Postgres 源

  • 您需要删除记录。
  • 您有一个非常大的数据库(500 GB 或更多)。
  • 您的表有一个主键,但没有合理的游标字段用于增量同步(updated_at)。

这些是配置使用 CDC 的 Postgres 源所需的其他步骤(在遵循 快速入门 之后)

  1. 为只读用户提供额外的 REPLICATION 权限
  2. 在您的 Postgres 数据库上启用逻辑复制
  3. 在您的 Postgres 数据库上创建一个复制槽
  4. 为每个 Postgres 表创建发布和复制标识
  5. 在 Airbyte UI 中启用 CDC 复制

步骤 1:预填充您的 Postgres 源配置

我们建议遵循 快速入门 部分中的步骤,以确认 Airbyte 可以连接到您的 Postgres 数据库,然后再配置 CDC 设置。

对于 CDC,您可以连接到主/主数据库或副本。要使用副本作为源,Postgres 必须是 16.1 或更高版本,并且此连接器必须是 3.6.21 或更高版本。您还必须在数据库实例上启用其他配置(有关帮助,请参阅 Postgres 官方文档)。

步骤 2:为只读用户提供额外的权限

要为 Postgres 源连接器配置 CDC,请向在 快速入门的步骤 1 中创建的用户授予 REPLICATION 权限

ALTER USER <user_name> REPLICATION;

步骤 3:在您的 Postgres 数据库上启用逻辑复制

要启用逻辑复制,请根据您的部署环境执行以下步骤。

裸机、虚拟机和 Docker

要在裸机、虚拟机(EC2/GCE 等)或 Docker 上启用逻辑复制,请在您的 Postgres 数据库的 postgresql.conf 文件 中配置以下参数。

参数描述设置为
wal_levelPostgres 预写日志中使用的编码类型logical
max_wal_senders用于处理 WAL 更改的进程的最大数量最小:1
max_replication_slots允许流式传输 WAL 更改的复制槽的最大数量1(如果 Airbyte 是订阅 WAL 更改的唯一服务。如果还有其他服务也在从 WAL 读取,则为 1 以上)

AWS Postgres RDS 或 Aurora

  1. 转到您的 DB 集群的“配置”选项卡。
  2. 找到你的集群参数组。你可以编辑此组的参数,或者复制此参数组进行编辑。如果你创建了副本,请在重新启动集群之前更改你的集群的参数组。
  3. 在参数组页面中,搜索 rds.logical_replication。选择此行并点击“编辑参数”。将此值设置为 1
  4. 等待维护窗口自动重启实例,或手动重启实例。
注意

AWS Aurora 实现了一个 CDC 缓存层,该层与 Airbyte 的 CDC 实现不兼容。要与 AWS Aurora 一起使用 Airbyte,请禁用 CDC 缓存层。通过将 rds.logical_wal_cache 参数设置为 0 来禁用 CDC 缓存,该参数位于 AWS Aurora 参数组中。

Azure Database for Postgres

使用 Azure 门户中 PostgreSQL 实例的复制菜单,将你的 Azure Postgres 数据库的复制模式更改为 logical。或者,使用 Azure CLI 运行以下命令

az postgres server configuration set --resource-group group --server-name server --name azure.replication_support --value logical
az postgres server restart --resource-group group --name server

步骤 4:在你的 Postgres 数据库上创建一个复制槽

Airbyte 需要配置一个仅供其使用的复制槽。只有一个源应该配置为使用此复制槽。

对于此步骤,Airbyte 需要使用 pgoutput 插件。要使用 pgoutput 创建一个名为 airbyte_slot 的复制槽,请以具有新授予的 REPLICATION 角色的用户身份运行

SELECT pg_create_logical_replication_slot('airbyte_slot', 'pgoutput');

此命令的输出将包括要填充到 Airbyte 源设置页面中的复制槽名称。

步骤 5:为每个 Postgres 表创建发布和复制标识

对于你想要使用 CDC 复制的每个表,请按照以下步骤操作

  1. 添加你想要复制的每个表的复制标识(区分行的方法)
ALTER TABLE tbl1 REPLICA IDENTITY DEFAULT;

在极少数情况下,如果你的表使用支持 TOAST 的数据类型或具有非常大的字段值,请考虑改用完全复制标识类型: ALTER TABLE tbl1 REPLICA IDENTITY FULL;。确保使用非 TOAST 类型的表的主键(整数、varchar 等),并且只会略微增加资源利用率,以及增加 WAL 存储大小。

  1. 创建 Postgres 发布。你应该将所有想要复制的表都包含在发布中
CREATE PUBLICATION airbyte_publication FOR TABLE <tbl1, tbl2, tbl3>;`

发布名称是可自定义的。如果你需要在将来向发布中添加或删除表,请参阅 Postgres 文档

注意

Airbyte UI 当前允许选择任何表进行 CDC。如果选择的表不在发布中,即使选择了它也不会被复制。如果表在发布中,但没有复制标识,Airbyte 用户具有必要的权限,则会在首次运行时自动创建该复制标识。

步骤 6:在 Airbyte UI 中启用 CDC 复制

在你的 Postgres 源中,将更新方法更改为 使用变更数据捕获 (CDC) 读取更改,并输入你刚刚创建的复制槽和发布。

Postgres 复制方法

Postgres 源当前提供 3 种复制更新到目标的方法:CDC、xmin 和标准(使用用户定义的游标)。CDC 和 xmin 都是更新数据的最可靠方法

CDC

Airbyte 使用 Postgres 预写日志 (WAL) 的逻辑复制,以增量捕获删除,使用复制插件。要了解 Airbyte 如何实现 CDC,请参阅 变更数据捕获 (CDC)。我们建议在以下情况下使用 CDC 配置你的 Postgres 源

  • 您需要删除记录。
  • 您有一个非常大的数据库(500 GB 或更多)。
  • 您的表有一个主键,但没有合理的游标字段用于增量同步(updated_at)。

如果你的目标是维护目标表中数据的快照,但限制阻止你使用 CDC,请考虑使用 xmin 复制方法。

Xmin

Xmin 复制是 Postgres 的新型无游标复制方法。无游标同步能够同步新行或更新的行,而无需显式选择游标字段。xmin 系统列(在所有 Postgres 数据库中可用)用于跟踪源数据的插入和更新。

这是一个很好的解决方案,如果

  • 没有明确定义的游标候选对象可用于标准增量模式。
  • 你想替换先前配置的完全刷新同步。
  • 你的数据库没有产生大量写入,导致事务 ID 环绕。
  • 你没有复制非物化视图。xmin 复制不支持非物化视图。

通过 SSL 或 SSH 隧道连接

SSL 模式

Airbyte Cloud 默认使用 SSL。你不能在使用 Airbyte Cloud 时禁用 SSL。你通常会选择 requireverify-ca。这两个选项始终需要加密。verify-ca 还要求你的 Postgres 数据库的证书。

以下是可用 SSL 连接模式的细分

  • disable 以禁用 Airbyte 和源之间的加密通信
  • allow 以仅在源需要时启用加密通信
  • prefer 以仅在源不支持加密时允许未加密通信
  • require 以始终需要加密。注意:如果源不支持加密,连接将失败。
  • verify-ca 以始终需要加密并验证源是否具有有效的 SSL 证书
  • verify-full 以始终需要加密并验证源的身份

SSH 隧道

如果你正在使用 SSH 隧道,由于 Airbyte Cloud 需要加密通信,因此如果选择了 disableallowprefer 作为 SSL 模式,请选择 SSH 密钥身份验证密码身份验证;否则,连接将失败。

对于 SSH 隧道方法,请选择

  • 无隧道 用于直接连接到数据库
  • SSH 密钥身份验证 使用 RSA 私钥作为你的密钥来建立 SSH 隧道
  • 密码身份验证 使用密码作为你的密钥来建立 SSH 隧道

通过 SSH 隧道连接

你可以通过 SSH 隧道连接到 Postgres 实例。

使用 SSH 隧道时,你正在配置 Airbyte 连接到具有直接访问数据库权限的中间服务器(也称为 bastion 或跳跃服务器)。Airbyte 连接到 bastion,然后要求 bastion 直接连接到服务器。

要通过 SSH 隧道连接到 Postgres 实例

  1. 设置 Postgres 源连接器时,从 SSH 隧道下拉菜单中选择
    • SSH 密钥身份验证以使用私钥作为你的密钥来建立 SSH 隧道
    • 密码身份验证以使用密码作为你的密钥来建立 SSH 隧道
  2. 对于 SSH 隧道跳跃服务器主机,输入中间(bastion)服务器的主机名或 IP 地址,Airbyte 将连接到该服务器。
  3. 对于 SSH 连接端口,输入 bastion 服务器上的端口。SSH 连接的默认端口是 22。
  4. 对于 SSH 登录用户名,输入连接到 bastion 服务器时使用的用户名。注意: 这是操作系统用户名,而不是 Postgres 用户名。
  5. 对于身份验证
    • 如果你选择了 SSH 密钥身份验证,请将 SSH 私钥 设置为 用于创建 SSH 连接的私钥
    • 如果你选择了 密码身份验证,请输入用于连接到 bastion 服务器的操作系统用户的密码。注意: 这是操作系统密码,而不是 Postgres 密码。

生成用于 SSH 隧道的私钥

连接器支持任何 SSH 兼容的密钥格式,例如 RSA 或 Ed25519。例如,要生成 RSA 密钥,请运行

ssh-keygen -t rsa -m PEM -f myuser_rsa

该命令以 PEM 格式生成私钥,并且公钥保持用于 bastion 服务器上的 authorized_keys 文件的标准格式。将公钥添加到你的 bastion 主机,添加到你希望与 Airbyte 一起使用的用户。私钥通过复制粘贴提供给 Airbyte 连接器配置屏幕,以便它可以登录到 bastion 服务器。

配置 Entra 身份验证

Airbyte 源可以配置为以 Microsoft Entra 服务主体进行身份验证。这允许 Airbyte 使用短寿命身份令牌向 Azure Postgres 服务器进行身份验证。请参阅 Microsoft 关于此主题的文档,以了解有关配置服务器和其他 Entra 资源的更多详细信息。

要使用 Entra 身份验证配置 Airbyte Postgres 源,请将 用户名 设置为 Entra ID,如 Microsoft 的文档 中所述。将密码设置为你的 Entra 服务主体的客户端密钥。展开可选字段并提供 Entra 租户 ID 和 Entra 客户端(或应用)ID 的服务主体。

限制和故障排除

要查看连接器限制或排查你的 Postgres 连接器问题,请参阅更多 Postgres 排错指南

数据类型映射

根据 Postgres 文档,Postgres 数据类型在同步数据时映射到以下数据类型。你可以在 此处查看测试值示例。如果你找不到你正在寻找的数据类型或遇到任何问题,请随时添加新的测试!

Postgres 类型结果类型备注
bigint数字
bigserial, serial8数字
bit字符串固定长度位字符串(例如“0100”)。
bit varying, varbit字符串可变长度位字符串(例如“0100”)。
boolean, bool布尔值
box字符串
bytea字符串带有十六进制输出格式的可变长度二进制字符串,前缀为“\x”(例如“\x6b707a”)。
character, char字符串
character varying, varchar字符串
cidr字符串
circle字符串
日期字符串解析为 ISO8601 日期时间午夜。CDC 模式不支持纪元指示符。问题:#14590
double precision, float, float8数字Infinity-InfinityNaN 不受支持,并转换为 null。问题:#8902
hstore字符串
inet字符串
integer, int, int4数字
interval字符串
json字符串
jsonb字符串
line字符串
lseg字符串
macaddr字符串
macaddr8字符串
money数字
numeric, decimal数字Infinity-InfinityNaN 不受支持,并转换为 null。问题:#8902
path字符串
pg_lsn字符串
point字符串
polygon字符串
real, float4数字
smallint, int2数字
smallserial, serial2数字
serial, serial4数字
文本字符串
时间字符串解析为 ISO-8601 日历系统中的不带时区的字符串。
timetz字符串解析为 ISO-8601 日历系统中的带时区的字符串。
时间戳字符串解析为 ISO-8601 日历系统中的不带时区的日期时间字符串。
timestamptz字符串解析为 ISO-8601 日历系统中的带时区的日期时间字符串。
tsquery字符串
tsvector字符串
uuid字符串
xml字符串
enum字符串
tsrange字符串
arrayarray例如 "["10001","10002","10003","10004"]"。
复合类型字符串

参考

配置字段参考

字段
类型
属性名称
字符串
database
字符串
host
整数
port
字符串
username
字符串
entra_client_id
布尔值
entra_service_principal_auth
字符串
entra_tenant_id
字符串
jdbc_url_params
字符串
password
对象
replication_method
array<string>
模式
对象
ssl_mode
对象
tunnel_method

变更日志

展开以查看
版本日期拉取请求主题
3.7.02025-07-2157511为 Azure Postgres 服务器添加 Azure 身份验证配置。
3.6.352025-06-1261527添加连接问题的错误处理,并采用最新的 CDK 版本。
3.6.342025-05-1160876构建完成后,缓存 CDC 初始状态一次。
3.6.332025-05-1160214迁移到新的 Gradle 流程。
3.6.322025-05-859722整合 Gradle 设置。
3.6.312025-04-1858132修复依赖项中的漏洞。
3.6.302025-03-0655234更新认证的 DB 源连接器的基本镜像版本
3.6.292025-02-1353649修复列默认值未转换的问题
3.6.282024-12-2350870使用 airbyte/java-connector-base:2.0.0
3.6.272024-12-2350410使用非 root 基本镜像。
3.6.262024-12-2048495增加 MAX_FIRST_RECORD_WAIT_TIME 并使用 Debezium 3.0.1
3.6.252024-12-1749838使用基础镜像:airbyte/java-connector-base:1.0.0
3.6.242024-12-1649469简化 Postgres 集成中 CTID_TABLE_BLOCK_SIZE 查询
3.6.232024-11-13#48482将使用 NUMERIC(X, 0) 的大型整数类型转换为 BigInteger。l
3.6.222024-10-0246900修复 Airbyte 1.1 上无法渲染源文档的错误
3.6.212024-10-0246322支持针对只读副本 (延续) 的 CDC
3.6.202024-10-0146299使 Postgres 源编译并通过最新的 CDK
3.6.192024-09-1745639采用最新的 CDK 以使用最新的 apache sshd mina 来处理 tcpkeepalive 请求。
3.6.182024-08-2844878为 jdbc 连接启用 tcpKeepAlive。
3.6.172024-08-2744841采用最新的 CDK。
3.6.162024-08-1544119修复 CDC 模式下初始读取的最终状态不正确的问题。
3.6.152024-08-1243945添加缺失的复制槽配置错误。
3.6.142024-08-0843418采用最新的 CDK。
3.6.132024-07-3042869采用最新的 CDK。
3.6.122024-07-3042550正确报告流状态。
3.6.112024-07-2942852将 CDK 版本升级到最新版本,以使用错误翻译的新错误修复。
3.6.102024-07-2342417处理 ConnectorExceptionHandler 中的空错误消息。
3.6.92024-07-2342421移除最终的瞬态错误发射器迭代器。
3.6.82024-07-2241622将 CDK 版本升级到最新版本。
3.6.72024-07-2242411默认情况下在 UI 中隐藏“初始加载超时(小时)”字段
3.6.62024-07-2241622修复 CDC 同步中的错误
3.6.52024-07-2242024修复从失败的尝试恢复时的错误。
3.6.42024-07-1742087翻译 Postgres 源的更多错误。
3.6.32024-07-1942122改进 wass 错误消息 + 日志记录。
3.6.22024-07-1842108在 xmin 复制模式下禁用视图流的增量同步
3.6.12024-07-0540716修复连接器规范中的错别字
3.6.02024-07-1740208开始使用 Postgres 源错误处理程序的新错误翻译层。
3.5.22024-07-1742068添加 WASS 案例发生情况的分析。
3.5.12024-07-1742055将 debezium 心跳超时加回关闭 debezium 中。
3.5.02024-07-1741651实现 WASS 算法 - 大型初始快照不应阻止 CDC。
3.4.262024-07-1541654允许数组类型列在 CDC 中使用空值。
3.4.252024-07-1241651如果感兴趣的表正在进行完全 VACUUM,则抛出瞬态错误。
3.4.242024-07-0541067修复 Postgres 发送重复流的问题
3.4.232024-07-0140757回滚 3.4.22。
3.4.212024-07-0140516删除 dbz 心跳。
3.4.202024-06-2340559删除对未知类型流状态的严格检查
3.4.192024-06-2340223撤销版本 3.4.15 中引入的更改。
3.4.182024-06-1439349全量刷新流发送内部计数元数据。
3.4.172024-06-1339460升级 Postgres JDBC 驱动程序版本
3.4.162024-05-2939474采用最新的 CDK。
3.4.152024-05-2938773使用 adaptiveFetch=true 连接。
3.4.142024-06-0839353将 Debezium 升级到 2.6.2
3.4.132024-06-0438875read() 在检测到事务 ID 环绕时抛出配置异常。
3.4.122024-06-0438836check() 在检测到事务 ID 环绕时抛出配置错误。
3.4.112024-06-0438848改进 xmin 的 UI 消息和文档
3.4.102024-05-2938584在 discover 中设置 is_resumable 标志。
3.4.92024-05-2938775发布 CDK
3.4.92024-05-2838716发布 CDK
3.4.82024-05-2838716Postgres 的流状态
3.4.72024-05-2038365回滚先前版本 (3.4.6)
3.4.52024-05-1638303未在 CDC 发布中的流仍然具有光标和 PK。
3.4.42024-05-1538208在状态消息中禁用全量刷新流中的计数。
3.4.32024-05-1338104处理瞬态错误消息。
3.4.22024-05-1038171修复最终状态设置中的错误。
3.4.12024-05-1038130修复旧 PG 中,当流是视图时找不到 ctid 列的错误。
3.4.02024-04-2937112可恢复的完全刷新。
3.3.332024-05-0738030将 PG 热备服务器错误标记为瞬态错误。
3.3.322024-04-3037758更正先前版本以禁用 debezium 重试
3.3.312024-04-3037754添加 CDC 日志
3.3.302024-04-3037726删除 debezium 重试
3.3.292024-04-2337509删除过多的日志
3.3.282024-04-2337509改进在切换同步模式时的错误消息。
3.3.272024-04-2237445删除遗留的坏值处理代码。
3.3.262024-04-1036982为 xmin 路径填充 airyte_meta.changes
3.3.252024-04-1036981跟踪最新的 CDK
3.3.242024-04-1036865跟踪最新的 CDK
3.3.232024-04-0236759跟踪最新的 CDK
3.3.222024-04-0136739修复 useLocalCdk 标志。
3.3.212024-03-2536584采用 Kotlin CDK。
3.3.202024-03-2536432Postgres DB 中的值序列化失败不应导致同步失败。
3.3.192024-03-1236333使用最新的 CDK - 弃用 dbz 迭代器
3.3.182024-03-1235599使用最新的 CDK
3.3.172024-03-1235939在 CDC 检查点逻辑中使用 lsn_commit 值而不是 lsn_proc。
3.3.162024-03-1135904采用 Java CDK 0.23.1 - debezium 重试。
3.3.152024-02-2934724在状态消息中添加记录计数。
3.3.142024-03-0635842添加日志记录以了解具有相同 LSN 的大量记录的情况。
3.3.132024-02-2735675修复无效的 cdc 错误消息。
3.3.122024-02-2235569修复日志错误。
3.3.112024-02-2035304添加配置以在无效的 CDC 位置时抛出错误,并默认启用它。
3.3.102024-02-1334751为无效的 CDC 游标发出分析消息。
3.3.92024-02-1335224采用 CDK 0.20.4
3.3.82024-02-0834751采用 CDK 0.19.0
3.3.72024-02-0834781在设置页面添加一个设置以推进 LSN。
3.3.62024-02-0734892采用 CDK v0.16.6
3.3.52024-02-0734948采用 CDK v0.16.5
3.3.42024-01-3134723采用 CDK v0.16.3
3.3.32024-01-2634573采用 CDK v0.16.0
3.3.22024-01-2434465仅当用户选择 xmin 同步模式时才检查 xmin。
3.3.12024-01-1034119采用 java CDK 版本 0.11.5。
3.3.02023-12-1933437移除 LEGACY 状态标志
3.2.272023-12-1833605推进 Postgres LSN 用于 PG 14 及以下版本。
3.2.262023-12-1132961支持更好的调试工具。
3.2.252023-11-2932961将 debezium 等待时间默认值增加到 20 分钟。
3.2.242023-11-2832686改进日志记录以了解 dbz 关闭原因归因。
3.2.232023-11-2832891修复构建中的 CDK 依赖项。
3.2.222023-11-2232656采用 java CDK 版本 0.5.0。
3.2.212023-11-0731856正确处理日期/时间无穷值
3.2.202023-11-0632193采用 java CDK 版本 0.4.1。
3.2.192023-11-0332050采用 java CDK 版本 0.4.0。
3.2.182023-11-0129038修复错别字 (s/Airbtye/Airbyte/)
3.2.172023-11-0132068升级 Debezium 2.2.0Final -> 2.4.0Final
3.2.162023-10-3131976加速涉及 Debezium 的测试
3.2.152023-10-3031960采用 java CDK 版本 0.2.0。
3.2.142023-10-2431792修复备用服务器问题上的错误消息链接
3.2.142023-10-2431792如果 debezeum 无法干净地关闭,则同步失败
3.2.132023-10-1631029在 DEPLOYMENT_MODE = CLOUD 时强制执行加密流量设置。
3.1.132023-10-1331309解决了将小数不正确地反序列化为科学计数法的问题。
3.1.122023-10-1231328改进旧版本 postgres 中表的初始加载性能。
3.1.112023-10-1131322更正先前版本
3.1.102023-09-2930806将日志行长度限制为 32KB,以防止记录丢失。
3.1.92023-09-2530534修复 JSONB[] 列类型处理错误。
3.1.82023-09-2030125改进旧版本 PostgreSQL 的初始加载性能。
3.1.72023-09-0529672处理初始同步期间发生的 VACUUM
3.1.62023-08-2429821将 replication_method display_type 设置为 radio,更新标题和描述,并使 CDC 成为默认选择
3.1.52023-08-2229534支持“options”JDBC URL 参数
3.1.42023-08-2128687在底层:添加对 Java CDK v0.0.2 的依赖。
3.1.32023-08-0328708启用 CDC 连接中的检查点快照
3.1.22023-08-0128954修复一个阻止使用包含大写字母的表名的错误
3.1.12023-07-3128892修复一个阻止使用包含大写字母的游标列名的错误
3.1.02023-07-2528339仅针对基于 xmin 和游标的同步启用初始加载的检查点。
3.0.22023-07-1828336将完全刷新模式加回 Xmin 同步。
3.0.12023-07-1428345增加补丁以触发重建
3.0.02023-07-1227442将 _ab_cdc_lsn 设置为源定义的游标,用于 CDC 模式,以准备 Destination v2 规范化
2.1.12023-07-0626723添加新的 xmin 复制方法。
2.1.02023-06-2627737许可证更新:Elv2
2.0.342023-06-2027212修复 StreamingJdbcDatabase 中的静默异常吞噬
2.0.332023-06-0126873为 JDBC url 添加 prepareThreshold=0 以缓解 PGBouncer 预准备语句 [X] 已存在的问题。
2.0.322023-05-3126810删除 Postgres 的增量同步估计,以提高性能。
2.0.312023-05-2526633收集和记录数据库中完全 VACUUM 操作相关的信息
2.0.302023-05-2526473CDC:限制队列大小
2.0.292023-05-1825898将没有小数的 Numeric 值(例如:NUMERIC(38,0)转换为 BigInt 而不是 Double
2.0.282023-04-2725401CDC:升级 Debezium 到版本 2.2.0
2.0.272023-04-2624971发出流状态更新
2.0.262023-04-2625560撤销一些日志记录更改
2.0.252023-04-2425459改进日志记录格式
2.0.242023-04-1925345日志记录:记录每个流的数据库索引
2.0.232023-04-1924582CDC:在增量同步期间启用频繁的状态发出 + 重构以提高性能
2.0.222023-04-1725220日志记录变更:记录其他元数据 & 清理嘈杂的日志
2.0.212023-04-1225131始终显示客户端证书和客户端密钥
2.0.202023-04-1124859删除 SSL 切换,并依赖 SSL 模式下拉菜单来启用/禁用 SSL
2.0.192023-04-1124656CDC 次要重构
2.0.182023-04-0624820修复在初始失败的非 CDC 增量同步期间的数据丢失错误
2.0.172023-04-0524622允许未在 CDC 发布中的流在完全刷新模式下同步
2.0.162023-04-0524895修复云规范
2.0.152023-04-0424833修复 Debezium 重试策略配置
2.0.142023-04-0324609禁止“disable”SSL 模式
2.0.132023-03-2824166修复 Debezium 关闭期间的 InterruptedException 错误
2.0.122023-03-2724373添加 CDC 检查点状态消息
2.0.112023-03-2324446将默认 SSL 模式设置为 strict-encrypt
2.0.102023-03-2324417添加字段组和标题以改进连接器设置表单的显示
2.0.92023-03-2220760移除冗余的日期时间数据类型格式化
2.0.82023-03-2224255添加字段组和标题以改进连接器设置表单的显示
2.0.72023-03-2124207修复 CDC 模式下的不正确的模式变更警告
2.0.62023-03-2124271修复 CDC 模式下的 NPE
2.0.52023-03-2121533添加与 datadog 的集成
2.0.42023-03-2124275修复 CDC 检查点错误
2.0.32023-03-1424000删除 read 上的 check 方法调用。
2.0.22023-03-1321727添加 CDC 同步的状态检查点。
2.0.02023-03-0623112升级 Debezium 版本到 2.1.2
1.0.512023-03-0223642撤销:支持标准同步模式下的 JSONB 数据类型
1.0.502023-02-2721695支持标准同步模式下的 JSONB 数据类型
1.0.492023-02-2423383修复数据库名称或列名称中带双引号且不可读值的问题
1.0.482023-02-2322623增加 JDBC 流模式的最大获取大小
1.0.472023-02-2223138修复先前版本未正确验证权限,从而阻止 CDC 同步运行的问题。
1.0.462023-02-2123105将日志级别和位置信息(类、方法和行号)与发布到 Airbyte 平台的源连接器日志一起包含。
1.0.452023-02-0922371确保用户具有 CDC 同步所需的权限。
2023-02-1523028
1.0.442023-02-0622221在使用 pg_stat_statements 扩展时排除一组新的系统表。
1.0.432023-02-0621634通过缓存对象来提高标准同步性能。
1.0.422023-01-2321523在替换之前检查游标值是否为 null。
1.0.412023-01-2520939调整数据库的批量选择内存限制。
1.0.402023-01-2421825恢复原始更改,该更改将在游标列包含 NULL 值时导致增量同步出错。
1.0.392023-01-2021683加速非 CDC 模式下跟踪消息的 esmtimates。
1.0.382023-01-1720346整合 JDBC 源的日期/时间值映射
1.0.372023-01-1720783发出非 CDC 模式的估计跟踪消息。
1.0.362023-01-1121003优雅地处理 CDC 模式下数组数据类型的空值。
1.0.352023-01-0420469引入功能以使 LSN 提交行为可配置。
1.0.342022-12-1320378改进描述
1.0.332022-12-1218959CDC:如果快照未完成,则不要超时。
1.0.322022-12-1220192仅当游标列包含空值时才发出警告。
1.0.312022-12-0219889在每次同步之前检查,如果增量同步游标列包含空值,则停止同步。
2022-12-0219985重新启用禁用的 wal2json CDC 插件
1.0.302022-11-2919024在用户没有 Usage 权限的情况下,跳过模式中的表进行发现。
1.0.292022-11-2919623将与配置为热备服务器的副本相关的 PSQLException 标记为配置错误。
1.0.282022-11-2819514调整数据库的批量选择内存限制。
1.0.272022-11-2816990处理数组数据类型
1.0.262022-11-1819551修复 ssl 模式中的错误
1.0.252022-11-1619004使用 Debezium 心跳来改进大型数据库的 CDC 复制。
1.0.242022-11-0719291默认超时时间从 1 分钟减少到 10 秒
1.0.232022-11-0719025如果禁用 ssl 模式,则停止强制执行 SSL
1.0.222022-10-3118538编码数据库名称
1.0.212022-10-2518256在 CDC 模式下禁用 allow 和 prefer ssl 模式
1.0.202022-10-2518383更好的 SSH 错误处理 + 消息
1.0.192022-10-2118263修复 15833 中引入的错误,并为目标中的 SSH 隧道添加更好的错误消息
1.0.182022-10-1918087更好的配置错误消息(SSH 配置,选择无效的游标)
1.0.172022-10-1718041修复 2022-09-12 在 SshTunnel 中引入的错误,正确处理迭代器异常
1.0.162022-10-1316238更新增量查询以避免在非 CDC 增量模式下同步开始时同时插入新数据时丢失数据
1.0.152022-10-1117782处理 Time 列的 24:00:00 值
1.0.142022-10-0317515修复使用客户端证书连接时的问题
1.0.132022-10-0117459将 debezium 版本从 1.9.2 升级到 1.9.6
1.0.122022-09-2717299改进 strict-encrypt postgres 源的错误处理
1.0.112022-09-2617131允许空值列用作游标
1.0.102022-09-1415668将日志包装在 AirbyteLogMessage 中
1.0.92022-09-1316657提高 CDC 记录排队性能
1.0.82022-09-0816202为 UI 添加错误消息工厂
1.0.72022-08-3016114防止流量通过非安全通道进入源 Postgres 的严格加密版本
1.0.62022-08-3016138移除不必要的日志记录
1.0.52022-08-2515993添加对 CDC 模式下通过 SSL 连接的支持
1.0.42022-08-2315877修复导致 CDC 模式下失败的时间数据类型错误
1.0.32022-08-1814356DB 源:仅当至少有一个列可以用作游标字段时,才显示表可以增量同步
1.0.22022-08-1115538允许在 db 流状态中添加其他属性
1.0.12022-08-1015496修复增量同步中的状态发射
2022-08-1015481修复 CDC 模式下从 WAL 日志处理数据的问题
1.0.02022-08-0515380将连接器标签更改为 generally_available(需要 升级您的 Airbyte 平台到 v0.40.0-alpha
0.4.442022-08-0515342调整 spec.json 中的标题和描述
0.4.432022-08-0315226使 connectionTimeoutMs 可通过 JDBC url 参数配置
0.4.422022-08-0315273修复 0.4.36 中的错误,并正确解析 CDC 初始记录等待时间
0.4.412022-08-0315077如果 LSN 在 CDC 中不再有效,则从头开始同步数据
2022-08-0314903更频繁地发射状态消息(⛔ 此版本存在错误;请使用 1.0.1 代替)
0.4.402022-08-0315187添加对 BCE 日期/时间戳的支持
2022-08-0314534对齐常规和 CDC 集成测试和数据映射器
0.4.392022-08-0214801修复多个日志绑定
0.4.382022-07-2614362整数列现在被发现为 int64 字段。
0.4.372022-07-2214714澄清无效游标列选择时的错误消息
0.4.362022-07-2114451使初始 CDC 等待时间可配置(⛔ 此版本存在错误且无法工作;请使用 0.4.42 代替)
0.4.352022-07-1414574移除 additionalProperties:false来自 JDBC 源连接器
0.4.342022-07-1713840添加了使用不同 SSL 模式和 SSL 证书连接的能力。
0.4.332022-07-1414586验证源 JDBC url 参数
0.4.322022-07-0714694如果 use stream capable 功能标志设置为 false,则强制生成 LEGACY 状态
0.4.312022-07-0714447在 CDC 模式下,仅检索发布中包含的表
0.4.302022-06-3014251使用更简单和全面的查询来获取可选择的表
0.4.292022-06-2914265将 postgresql JDBC 版本升级到 42.3.5
0.4.282022-06-2314077使用新的状态管理
0.4.262022-06-1713864更新任何跟踪消息错误的堆栈跟踪格式
0.4.252022-06-1513823发布自适应 postgres 源,强制在云上使用 ssl + Debezium 版本从 1.4.2 升级到 1.9.2
0.4.242022-06-1413549修复了微秒或秒的值为 0 时截断精度的错误
0.4.232022-06-1313745修复了从旧版本连接器升级时处理 datetime 游标的问题
0.4.222022-06-0913655修复了增量同步期间不支持的日期时间数据类型错误
0.4.212022-06-0613435根据最大内存和最大行大小调整 JDBC 获取大小
0.4.202022-06-0213367添加了将 hstore 转换为 json 格式的转换
0.4.192022-05-2513166添加了时区感知并处理 BC 日期
0.4.182022-05-2513083添加对 tsquey 类型支持
0.4.172022-05-1913016CDC 修改模式以允许空值
0.4.162022-05-1412840添加了自定义 JDBC 参数字段
0.4.152022-05-1312834修复了连接器返回 Azure Postgres 数据库的空目录的错误
0.4.142022-05-0812689添加根据基于角色的 SELECT 权限检索表
0.4.132022-05-0510230在 json 中显式设置空值
0.4.122022-04-2912480查询表,使用自适应获取大小来优化 JDBC 内存消耗
0.4.112022-04-1111729将 mina-sshd 从 2.7.0 升级到 2.8.0
0.4.102022-04-0811798修复了获取物化视图处理的角色
0.4.82022-02-2110242修复旧连接器的游标,这些连接器使用非微秒格式。现在连接器支持这两种格式
0.4.72022-02-1810242更新带有微秒的时间戳转换
0.4.62022-02-1410256(未发布) 添加 -XX:+ExitOnOutOfMemoryError JVM 选项
0.4.52022-02-0810173改进了在用户没有任何表权限的情况下发现表的情况
0.4.42022-01-269807更新连接器字段标题/描述
0.4.32022-01-249554允许在 CDC 中处理 java sql date
0.4.22022-01-139360添加了模式选择
0.4.12022-01-059116添加了物化视图处理
0.4.02021-12-138726支持所有 Postgres 类型
0.3.172021-12-018371修复 ssh 密钥中的不正确的处理 "\n"
0.3.162021-11-287995修复了金额大于 1000 的 money 类型
0.3.152021-11-268266修复了在模式发现期间未列出视图的情况
0.3.142021-11-178010添加了在表内部发现之前检查权限
0.3.132021-10-267339支持或改进对 Interval、Money、Date、各种几何数据类型、inventory_items 等的支持
0.3.122021-09-306585改进 SSH 隧道密钥生成步骤
0.3.112021-09-025742添加 SSH Tunnel 支持
0.3.92021-08-175304修复 CDC OOM 问题
0.3.82021-08-134699添加了 json 配置验证器
0.3.42021-06-093973添加 AIRBYTE_ENTRYPOINT 以支持 Kubernetes
0.3.32021-06-083960在规范参数中添加 method 字段
0.3.22021-05-263179移除 isCDC 日志记录
0.3.12021-04-212878为 CDC 设置定义的游标
0.3.02021-04-212990支持命名空间
0.2.72021-04-162923SSL 规范为可选
0.2.62021-04-162757支持 SSL 连接
0.2.52021-04-122859CDC 错误修复
0.2.42021-04-092548支持 CDC
0.2.32021-03-282600为 DB 和游标类型转换添加 NCHAR 和 NVCHAR 支持
0.2.22021-03-262460目标支持目标同步模式
0.2.12021-03-182488源支持主键
0.2.02021-03-092238协议允许未来/未知的属性
0.1.132021-02-021887将 AbstractJdbcSource 迁移为使用迭代器
0.1.122021-01-251746修复 State Decorator 中的空指针异常 (NPE)
0.1.112021-01-251765在规范中添加字段标题
0.1.102021-01-191724修复 JdbcSource 处理不同 schema 中同名表的问题
0.1.92021-01-141655修复 JdbcSource 内存溢出 (OOM)
0.1.82021-01-131588处理 JDBC 源中的无效数字值
0.1.72021-01-081307将 Postgres 和 MySql 迁移到使用新的 JdbcSource
0.1.62020-12-091172支持增量同步
0.1.52020-11-301038更改 JDBC 源以发现比标准模式更多的模式
0.1.42020-11-301046添加使用索引 YAML 文件的连接器