连接到 PostgreSQL

您可以将 PostgreSQL 数据库连接到数据洞察,以便直观呈现和分析数据。使用 PostgreSQL 连接器将数据转换为交互式信息中心和报告。然后,您可以与没有直接数据库访问权限的团队成员或利益相关者分享数据洞见。

支持的版本

我们已在以下 PostgreSQL 版本中测试过数据洞察:

  • 9.6
  • 10
  • 11
  • 12
  • 13
  • 14

如果您在使用受支持的版本时遇到问题,请在数据洞察社区中告知我们。您还可以在问题跟踪器中添加功能请求并为其投票。

如何连接到 PostgreSQL

PostgreSQL 连接器使用 PostgreSQL JDBC 驱动程序将数据洞察数据源关联到单个 PostgreSQL 数据库表或您提供的自定义查询。

如需连接到 PostgreSQL 数据库,请按以下步骤操作:

  1. 登录数据洞察。
  2. 在数据洞察首页上,点击 创建,然后选择数据源。
  3. 选择 PostgreSQL 连接器。
  4. 如果系统要求,请授权数据洞察访问您的数据。
  5. 使用其中一种连接选项配置对数据库的访问权限。
  6. 点击AUTHENTICATE。您会看到相应数据库中的表列表。
  7. 从列表中选择一个表格,或输入自定义查询。
  8. 点击连接。

现在,您可以将表格中的所有列作为报告中的字段进行访问。

连接选项

使用主机名或 IP 地址进行连接

在连接面板中,选择基本。输入连接详细信息:

  • 主机名或 IP 地址
  • 端口(可选)
  • 数据库
  • 用户名
  • 密码

使用 JDBC 网址连接

在连接面板中,选择 JDBC 网址。输入连接详细信息:

  • JDBC 网址
    • 示例 jdbc:postgresql://HOSTNAME[:PORT]/DATABASE

    • 对于 Cloud SQL(专用 IP) jdbc:google:postgresql://INSTANCE_CONNECTION_NAME/DATABASE

  • 用户名
  • 密码

如需使用 IPv6 字面地址进行连接,请将该地址放在方括号中。例如:jdbc:postgresql://[2001:db8:1:1:1:1:1:1]/your_db。

使用 SSL 进行连接

数据洞察支持使用 TLS(传输层安全协议)(TLS 1.2) 与服务器建立安全(加密)连接。TLS 也称为 SSL(安全套接字层)。

如需启用安全连接,请选择启用 SSL,然后提供 SSL 配置文件。

使用客户端身份验证进行连接

选中启用客户端身份验证复选框后,您可以上传客户端私钥和客户端证书(如果需要访问数据库)。

详细了解 PostgreSQL 安全连接。

自定义查询

选择自定义查询选项,以提供 SQL 查询,而不是连接到单个表。数据洞察会将此自定义 SQL 用作针对数据库生成的每个查询的内部 select 语句。

自定义 SQL 查询只能包含一条语句。例如,以下代码将无法正常运行,因为它包含多条 SQL 语句:


DECLARE cost_per_tb_in_dollar FLOAT64 DEFAULT 4.2;

SELECT total_bytes_billed / (1024 * 1024))* cost_per_tb_in_dollar)/(1024*1024))) FROM billing-table;

数据洞察中的查询可能会在 3 到 5 分钟后超时。如果您的自定义查询超时,请尝试以下方法来解决问题:

  • 简化查询,以便更快地运行。
  • 在数据库中运行查询,并将结果存储在单独的表中。连接数据源中的新表。

支持的数据类型

PostgreSQL 连接器支持以下数据类型:

  • 数字
  • 基于字符,
  • 布尔值
  • 日期/时间(不包括间隔)

如果数据洞察遇到不支持的列类型,则不会为该列创建字段。

详细了解 PostgreSQL 数据类型。

公共连接和专用连接

数据洞察支持通过公共 IP 和专用 IP 连接到 Cloud SQL 上的 PostgreSQL。

如需使用专用 IP 进行连接,您必须使用 JDBC 网址连接选项,格式为 jdbc:google:postgresql://INSTANCE_CONNECTION_NAME/DATABASE。此外,您还必须在 Cloud SQL 实例设置中选择 Google Cloud 服务的专用路径选项。

防火墙和数据库访问

如需允许数据洞察连接到防火墙后面的数据库并查询这些数据库,您需要开放对以下某个 IP 地址的访问权限。 您可能还需要配置数据库以接受来自这些地址的流量。如需了解相关说明,请参阅您使用的特定数据库的文档。

IP 地址

以下地址预留给数据洞察的全球基础架构:

  • 142.251.74.0/23

  • 2001:4860:4807::/48(可选,用于支持 IPv6 的平台)

如果您已为数据洞察 Pro 订阅启用数据驻留,请改用以下地址:

  • 142.251.56.0/24

  • 2001:4860:4815::/48(可选,用于支持 IPv6 的平台)

PostgreSQL 连接器的限制

  • PostgreSQL 连接器在连接到 Cloud SQL PostgreSQL 实例时不会使用 Cloud SQL 代理。如果您使用公共 IP 地址连接到 Cloud SQL PostgreSQL 实例,则需要将列出的 IP 地址添加到已获授权的网络列表中。请参阅 Cloud SQL 文档。

  • 不支持通过 SSL 连接到 AlloyDB 数据源,因为 AlloyDB 不支持导出证书授权机构 (CA) 证书。

  • 不支持选择 public 架构之外的表。不过,您可以选择自定义查询选项,编写包含任何架构中的表的查询。

  • 使用此连接器时,每个查询最多可查询 15 万行。如果超出此限制,数据将被截断。

  • 列标题(字段名称)只能使用 ASCII 字符。不支持非 ASCII 字符。

问题排查

如需查看常见错误消息的列表以及解决这些错误的步骤,请参阅 数据洞察问题排查指南。

创建数据源