AlloyDB for PostgreSQL

Looker 支持连接到 AlloyDB for PostgreSQL,后者是 Google Cloud 提供的一项与 PostgreSQL 兼容的全代管式式云原生数据库服务 Google Cloud 。

本页面介绍了如何从 Looker 连接到 AlloyDB for PostgreSQL。

加密网络流量

对 Looker 应用与数据库之间的网络流量进行加密是一种最佳实践。可以考虑启用安全的数据库访问文档页面上介绍的某个选项。

如果您有兴趣使用 SSL 加密,请参阅 PostgreSQL 文档

用户和安全性

为了对数据库执行操作,Looker 需要在您的数据库中有一个用户账号。

如需配置数据库用户以供 Looker 使用,请在数据库中执行以下步骤:

  1. 创建数据库用户和密码。

    CREATE USER USERNAME WITH ENCRYPTED PASSWORD 'PASSWORD';
    
  2. 向数据库用户授予权限,以便 Looker 可以对数据库执行操作:

    GRANT CONNECT ON DATABASE DATABASE_NAME to USERNAME;
    \c DATABASE_NAME
    GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO USERNAME;
    GRANT SELECT ON ALL TABLES IN SCHEMA public TO USERNAME;
    
  3. 如果您使用的是 public 以外的架构,请运行此命令以向 Looker 授予使用权限:

    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;
    
  4. 如需确保您日后添加到公共架构的表也可供 Looker 用户使用,请运行以下命令:

    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON tables TO USERNAME;
    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON sequences TO USERNAME;
    

根据您的设置,可能需要更改上述命令。如果另一个用户或角色创建了 Looker 用户需要日后拥有权限的表,您必须指定一个目标角色或用户,以便将 Looker 用户的权限授予应用于该角色或用户:

ALTER DEFAULT PRIVILEGES FOR USER ANOTHER_USERNAME IN SCHEMA SCHEMA_NAME GRANT SELECT ON tables TO USERNAME;
ALTER DEFAULT PRIVILEGES FOR ROLE TARGET_ROLE IN SCHEMA SCHEMA_NAME GRANT SELECT ON sequences TO USERNAME;

例如,如果 web_app 用户创建了表,并且您希望 looker 用户能够使用这些表,则必须运行 GRANT 语句,以便向 looker 用户授予对 web_app 用户创建的表的权限。在这种情况下,目标角色或用户是 web_app 用户,这意味着您希望更改 web_app 创建的表的权限,以便 looker 用户可以拥有读取表的权限。示例如下:

ALTER DEFAULT PRIVILEGES FOR USER web_app IN SCHEMA public GRANT SELECT ON tables TO looker;

如需了解详情,请参阅 PostgreSQL 网站上的 ALTER DEFAULT PRIVILEGES

临时架构设置

创建由 Looker 用户拥有的架构:

CREATE SCHEMA SCHEMA_NAME AUTHORIZATION USERNAME;

设置 search_path

在将 Looker 连接到数据库之前,您应设置适当的 search_path,Looker SQL Runner 可以使用该路径从数据库中检索某些元数据:

ALTER USER USERNAME SET search_path TO '$user',SCHEMA_NAME,SCHEMA_NAME_2,SCHEMA_NAME_3
                                                            ^^^^^^^^^^^^^^^^^^
                                                            ^^^^^^^^^^^^^^^^^^
                                             include a comma-separated list of
                                            all schemas that you'll use with Looker

创建 Looker 与数据库的连接

请按照以下步骤创建从 Looker 到数据库的连接:

  1. 执行以下任一操作,打开将数据库连接到 Looker 页面:

    • 点击 Main menu (主菜单)图标,然后依次选择 Admin (管理)和 Connections (连接),再从 Admin (管理)面板的 Database (数据库)部分中选择 Connections (连接)。在 Connections (连接)页面上,点击 Add Connection (添加连接)按钮。
    • 点击 主导航菜单 中的 Create 按钮,然后选择 Connection 菜单项。
  2. Dialect (方言)下拉菜单中,选择 Google Cloud AlloyDB for PostgreSQL

  3. 填写连接详情。这些设置中的大多数设置对于大多数数据库方言都是通用的。如需了解详情,请参阅将 Looker 连接到数据库文档页面。

  4. 如需验证连接是否成功,请点击测试 。如需了解问题排查信息,请参阅测试数据库连接文档页面。

  5. 如需保存这些设置,请点击连接

支持的 JDBC 参数

对于 AlloyDB for PostgreSQL,Looker 支持连接的 其他 JDBC 参数 字段中的以下 JDBC 参数。如需了解这些参数,请参阅数据库的文档。

  • allowEncodingChanges
  • ApplicationName
  • assumeMinServerVersion
  • binaryTransfer
  • binaryTransferDisable
  • binaryTransferEnable
  • cancelSignalTimeout
  • connectTimeout
  • currentSchema
  • databaseMetadataCacheFields
  • defaultRowFetchSize
  • escapeSyntaxCallMode
  • gssEncMode
  • hostRecheckSeconds
  • jaasApplicationName
  • jaasLogin
  • kerberosServerName
  • loadBalanceHosts
  • loginTimeout
  • logServerErrorDetail
  • options
  • password
  • preferQueryMode
  • preparedStatementCacheQueries
  • prepareThreshold
  • queryTimeout
  • readOnly
  • reWriteBatchedInserts
  • socketTimeout
  • ssl
  • sslfactory
  • sslhostnameverifier
  • sslmode
  • sslNegotiation
  • sslpassword
  • sslpasswordcallback
  • stringtype
  • targetServerType
  • tcpKeepAlive
  • unknownLength
  • user

功能支持

如需让 Looker 支持某些功能,您的数据库方言也必须支持这些功能。

截至 Looker 26.8,Google Cloud AlloyDB for PostgreSQL 支持以下功能:

功能 是否支持?
Looker (Google Cloud Core)
对称聚合
派生表
基于 SQL 的永久性派生表
原生永久性派生表
稳定视图
终止查询
基于 SQL 的数据透视
时区
SSL
小计
其他 JDBC 参数
区分大小写
位置类型
名单类型
百分位
不同值百分位
SQL Runner “Show Processes”
SQL Runner “Describe Table”
SQL Runner “Show Indexes”
SQL Runner “Select 10”
SQL Runner “Count”
SQL “Explain”
OAuth 2.0 凭证
上下文注释
连接池
HLL 草图
汇总感知
递增 PDT
毫秒
微秒
具体化视图
与前一时间段相比的指标
近似计数不同
数据库内分析模型
自定义日历