文档

导入PostgreSQL数据

更新时间:
重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

您可以将自建PostgreSQL数据库或RDS PostgreSQL数据库中的数据导入到日志服务,实现数据的查询分析、加工等操作。本文介绍导入PostgreSQL数据的操作步骤。

前提条件

  • 已创建PostgreSQL数据库,并已设置具备最小读权限的数据库账号。

  • 在PostgreSQL数据库中添加白名单。

    请根据数据导入任务所在Project的地域和数据库所在的网络环境,添加对应的IP地址白名单。IP地址列表请参见IP地址白名单

  • 已创建Project和Logstore。具体操作,请参见创建Project创建Logstore

创建数据导入配置

重要

目前,支持华东1(杭州)、华东2(上海)、华东5(南京-本地地域)、华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、西南1(成都)、华南1(深圳)、华南2(河源)、华南3(广州)、中国香港、新加坡、澳大利亚(悉尼)、马来西亚(吉隆坡)、印度尼西亚(雅加达)、菲律宾(马尼拉)、泰国(曼谷)、日本(东京)、韩国(首尔)、英国(伦敦)、德国(法兰克福)、美国(弗吉尼亚)、美国(硅谷)、印度(孟买)、华北2 阿里政务云1、华东1 金融云、华东2 金融云、华北2 金融云(邀测)、华南1 金融云地域。

  1. 登录日志服务控制台

  2. 在Project列表区域,单击目标Project。

  3. 日志存储 > 日志库页签中,单击目标Logstore左侧的>,然后将鼠标悬浮在数据接入 > 数据导入上,单击+

  4. 快速数据接入对话框,单击PostgreSQL-数据导入

  5. 设置导入配置。

    1. 数据源设置中,配置如下参数。

      • 如果是专有网络下的RDS PostgreSQL数据库,需选中使用VPC地址RDS实例,并设置如下参数。

        参数

        说明

        VPC实例ID

        RDS PostgreSQL数据库所属VPC的ID。

        RDS实例ID

        需配置为RDS实例的VpcCloudInstanceId。您可以通过调用DescribeDBInstanceAttribute接口获取VpcCloudInstanceId。具体操作,请参见获取RDS实例的VpcCloudInstanceId

      • 如果是专有网络下ECS上自建的PostgreSQL数据库,需选中使用VPC地址ECS自建数据库,并设置如下参数。

        参数

        说明

        VPC实例ID

        ECS实例所属VPC的ID。

        ECS实例IP

        ECS实例的私网IP地址。

      • 如果是公网环境下的RDS PostgreSQL数据库或其他场景下自建的PostgreSQL数据库,取消选中使用VPC地址,并设置如下参数。

        参数

        说明

        数据库公网IP或者域名

        PostgreSQL数据库的公网IP地址或者域名。

      公共参数说明如下表所示。

      参数

      说明

      配置名称

      设置导入配置的名称。

      PostgreSQL端口

      PostgreSQL数据库的服务端口,默认为5432。

      用户名

      用于登录PostgreSQL数据库的账号名称。

      建议只授予该账号读取PostgreSQL数据的权限。

      密码

      账号密码。

      数据库

      PostgreSQL数据库名称。

      查询语句

      仅支持SELECT语句。

      支持使用$1表示替换符,与CheckPoint字段配合使用。例如查询语句为SELECT * FROM employees WHERE id > $1,则您可以设置CheckPoint字段idCheckPoint字段起始值0。每次导入任务执行后,系统会保存最后一条数据的ID作为Checkpoint,下次任务执行时查询语句中的$1将被替换为该Checkpoint对应的ID值。

      高级配置

      每次导入最大行数

      PostgreSQL导入任务为定时执行,您可以设置每次导入的最大行数。默认为0,表示不限制最大行数。

      连接超时设置

      PostgreSQL导入任务连接PostgreSQL数据库的超时设置,默认值为3000 ms。

      查询超时设置

      PostgreSQL导入任务查询PostgreSQL数据库的超时设置,默认值为5000 ms。

      分页大小

      分页大小为0,表示不分页。大于0时,系统将在SELECT语句后面加上limit pageSize offset {checkpoint},在一次导入任务中,多次分页导入数据。

      时间字段

      PostgreSQL数据中代表时间的字段,例如create_time或者update_time等。在日志服务中将使用该时间字段的值为数据的导入时间。

      时间字段格式

      时间字段的格式,支持Java类型时间格式。例如yyyy-MM-dd HH:mm:ss。更多信息,请参见时间格式

      时间字段时区

      选择时间字段对应的时区。

      CheckPoint字段

      选择Checkpoint字段,作为下次导入数据的起点。例如查询语句为select * from t where id > $1,其中id为自增字段,则您可以将id作为Checkpoint字段。

      您也可以使用create_time、update_time等字段。

      CheckPoint字段起始值

      设置CheckPoint字段的起始值。

      附加字段

      添加附加字段,格式为map[string]string。例如查询语句为select a, b from t;,系统默认导入两个字段ab,您可以添加其他字段导入到日志服务,例如{"k1": "v1", "k2": "v2"}。

    2. 单击预览,预览导入结果。

    3. 确认无误后,单击下个配置

    4. 调度间隔页签中,配置如下参数。

      参数

      说明

      导入间隔

      导入PostgreSQL数据到日志服务的时间间隔。

      立即执行

      打开立即执行开关,则创建导入配置完成后,立即执行一次导入操作。

    5. 配置完成后,单击下一步

  6. 预览数据及创建索引,然后单击下一步
    日志服务默认开启全文索引。您也可以根据采集到的日志,手动创建字段索引,或者单击自动生成索引,日志服务将自动生成字段索引。更多信息,请参见创建索引
    重要 如果您要查询和分析日志,那么全文索引和字段索引必须至少启用一种。同时启用时,以字段索引为准。
  7. 单击查询日志,进入查询和分析页面,确认是否成功导入PostgreSQL数据。

    等待1分钟左右,如果有目标PostgreSQL数据导入,则说明导入成功。

查看导入配置和统计报表

创建导入配置成功后,您可以在控制台中查看已创建的导入配置及生成的统计报表。

  1. 选择目标日志库下的数据接入 > 数据导入,单击目标导入配置。

  2. 导入配置概览页面,查看导入配置的基本信息和统计报表。

    导入PostgreSQL数据

相关操作

导入配置概览页面,您还可以进行如下操作。

  • 修改配置

    单击修改配置,修改导入配置的相关配置,具体配置说明请参见创建数据导入配置

  • 删除配置

    单击删除配置,删除该导入配置。

    警告

    删除后不可恢复,请谨慎操作。

  • 本页导读 (1)