PostgreSQL

使用这些说明的方言

如本页所述,以下方言都具有相同的数据库设置要求:

  • PostgreSQL
  • Google Cloud SQL for PostgreSQL
  • Microsoft Azure PostgreSQL
  • AlloyDB for PostgreSQL
  • Amazon Aurora PostgreSQL
  • Amazon RDS for PostgreSQL

对于 Google Cloud SQL for PostgreSQL,Looker (Google Cloud Core) 提供应用默认凭据 (ADC) 作为身份验证方法。如需了解详情,请参阅 Looker (Google Cloud Core) 文档

对于 AlloyDB for PostgreSQL、Amazon RDS for PostgreSQL 和 Amazon Aurora PostgreSQL,Looker 提供集成支持。要为这些方言创建连接,请从 New Connection 页面上的方言下拉菜单中选择 PostgreSQL 9.5+

如需了解 Heroku 上的 PostgreSQL,请参阅 Heroku 文档

对网络流量进行加密

最佳做法是对 Looker 应用和数据库之间的网络流量进行加密。请考虑启用安全的数据库访问文档页面中所述的选项之一。

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

用户和安全

如要对您的数据库执行操作,Looker 需要在您的数据库上拥有一个用户账号。

如果您使用的是 Looker (Google Cloud Core) 实例,并且想要使用 ADC,请使用您添加到 Cloud SQL 数据库中的模拟服务帐号用户名。服务帐号用户名的格式为 service-<project number>@gcp-sa-looker.iam.gserviceaccount.com。如果您的服务帐号用户名以 .gserviceaccount.com 结尾,请移除用户名的 .gserviceaccount.com 部分。截断后,用户名应类似于 service-<project number>@gcp-sa-looker.iam

如需配置供 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

临时架构设置

自主托管的 Postgres

创建 Looker 用户拥有的架构:

CREATE SCHEMA SCHEMA_NAME AUTHORIZATION USERNAME;

Amazon RDS 上的 Postgres

创建临时架构:

CREATE SCHEMA SCHEMA_NAME;

将暂存架构的所有权更改为 Looker 用户:

ALTER SCHEMA SCHEMA_NAME OWNER TO 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 you'll use with Looker

正在创建与数据库的 Looker 连接

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

  1. 在 Looker 的管理部分中,选择连接,然后点击添加连接
  2. 方言下拉菜单中,选择您的数据库方言名称。对于 AlloyDB for PostgreSQL 方言,选择 PostgreSQL 9.5 及更高版本

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

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

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

功能支持

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

从 Looker 24.10 开始,PostgreSQL 9.5 及更高版本支持以下功能:

特征 是否支持?
支持级别
受支持
Looker (Google Cloud Core)
对称汇总
派生表
永久性 SQL 派生表
永久性原生派生表
稳定视图
终止查询
基于 SQL 的数据透视
时区
SSL
小计
JDBC 其他参数
区分大小写
位置类型
名单类型
百分位
不同百分位
SQL Runner 显示进程
SQL Runner 描述表
SQL Runner 显示索引
SQL Runner 选择 10
SQL 运行程序数量
SQL 说明
OAuth 凭据
上下文注释
连接池
HLL 素描
聚合感知
增量 PDT
毫秒
微秒
具体化视图
非重复近似计数

从 Looker 24.10 开始,Google Cloud PostgreSQL 支持以下功能:

特征 是否支持?
支持级别
受支持
Looker (Google Cloud Core)
对称汇总
派生表
永久性 SQL 派生表
永久性原生派生表
稳定视图
终止查询
基于 SQL 的数据透视
时区
SSL
小计
JDBC 其他参数
区分大小写
位置类型
名单类型
百分位
不同百分位
SQL Runner 显示进程
SQL Runner 描述表
SQL Runner 显示索引
SQL Runner 选择 10
SQL 运行程序数量
SQL 说明
OAuth 凭据
上下文注释
连接池
HLL 素描
聚合感知
增量 PDT
毫秒
微秒
具体化视图
非重复近似计数

从 Looker 24.10 开始,Microsoft Azure PostgreSQL 支持以下功能:

特征 是否支持?
支持级别
受支持
Looker (Google Cloud Core)
对称汇总
派生表
永久性 SQL 派生表
永久性原生派生表
稳定视图
终止查询
基于 SQL 的数据透视
时区
SSL
小计
JDBC 其他参数
区分大小写
位置类型
名单类型
百分位
不同百分位
SQL Runner 显示进程
SQL Runner 描述表
SQL Runner 显示索引
SQL Runner 选择 10
SQL 运行程序数量
SQL 说明
OAuth 凭据
上下文注释
连接池
HLL 素描
聚合感知
增量 PDT
毫秒
微秒
具体化视图
非重复近似计数