Skip to main content

PostgreSQL

PostgreSQL 是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统,有很多在大型商业 RDBMS 中所具有的特性,包括事务、子选择、触发器、视图、外键引用完整性和复杂锁定功能。

PostgreSQL 数据写入,是通过连接代理把数据从 PostgreSQL 服务器写入到当前选择的 TDengine Cloud 实例。

先决条件

  • 创建一个空数据库来存储 PostgreSQL 数据。更多信息,请参阅 数据库
  • (可选的)确保连接代理运行在与 PostgreSQL 服务器位于同一网络的机器上。更多信息,请参阅 安装连接代理

具体步骤

  1. 在 TDengine Cloud 中,在左边菜单中打开 数据写入 页面,在 数据源 选项卡上,单击 添加数据源打开新增页面。

    • 名称 输入框里面填写这个数据源的名称,并选择 PostgreSQL 类型。
    • 代理 选择框是非必填项。如有需要,可以在下拉框选择已经创建的代理;如果没有创建代理,请点击旁边的创建新的代理按钮去创建新代理。
  2. 目标数据库 里面选择一个当前所在的 TDengine Cloud 实例里面的数据库作为目标数据库。

  3. 配置连接信息:

    • 连接配置 区域填写 服务地址服务端口
    • 认证 区域填写 用户密码
    • 应用名称 设置应用程序名称,用于标识连接的应用程序。
    • SSL 模式 设置是否与服务器协商安全 SSL TCP/IP 连接或以何种优先级进行协商。默认值是 PREFERRED。可选项有 DISABLED、PREFERRED、REQUIRED。
  4. 点击 连通性检查 按钮,用户可以点击此按钮检查上方填写的信息是否可以正常获取源 PostgreSQL 数据库的数据。

  5. 配置 SQL 查询

    • SQL 模板:用于查询的 SQL 语句模板,SQL 语句中必须包含时间范围条件,且开始时间和结束时间必须成对出现。SQL 语句模板中定义的时间范围由源数据库中的某个代表时间的列和下面定义的占位符组成。

    SQL使用不同的占位符表示不同的时间格式要求,具体有以下占位符格式:

    1. ${start}${end}:表示 RFC3339 格式时间戳,如: 2024-03-14T08:00:00+0800
    2. ${start_no_tz}${end_no_tz}: 表示不带时区的 RFC3339 字符串:2024-03-14T08:00:00
    3. ${start_date}${end_date}:表示仅日期,如:2024-03-14
    • 起始时间:迁移数据的起始时间,此项为必填字段。
    • 结束时间:迁移数据的结束时间,可留空。如果设置,则迁移任务执行到结束时间后,任务完成自动停止;如果留空,则持续同步实时数据,任务不会自动停止。
    • 查询间隔:分段查询数据的时间间隔,默认1天。为了避免查询数据量过大,一次数据同步子任务会使用查询间隔分时间段查询数据。
    • 延迟时长:实时同步数据场景中,为了避免延迟写入的数据丢失,每次同步任务会读取延迟时长之前的数据。
  6. 数据映射 区域填写数据映射相关的配置参数。

    • 点击 从服务器检索 按钮,从 PostgreSQL 服务器获取示例数据。
    • 从列中提取或拆分 中填写从消息体中提取或拆分的字段,例如:将 vValue 字段拆分成 vValue_0vValue_1 这 2 个字段,选择 split 提取器,seperator 填写分割符 ,, number 填写 2。
    • 过滤 中,填写过滤条件,例如:填写Value > 0,则只有 Value 大于 0 的数据才会被写入 TDengine。
    • 映射 中,选择要映射到 TDengine 的超级表,以及映射到超级表的列。
    • 点击 预览,可以查看映射的结果。
  7. 高级选项 区域是默认折叠的,点击右侧 > 可以展开,如下图所示:

    • - 最大读取并发数:数据源连接数或读取线程数限制,当默认参数不满足需要或需要调整资源使用量时修改此参数。
    • 批次大小 单次发送的最大消息数或行数。默认是 10000。
  8. 点击 提交 按钮,完成创建 PostgreSQL 到 TDengine Cloud 实例的数据同步任务。