PostgreSQL

使用这些指令的方言

以下方言共有本页所述的数据库设置要求:

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

加密网络流量

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

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

用户和安全

some_password_here 更改为一个具有唯一性的安全密码:

CREATE USER looker WITH ENCRYPTED PASSWORD 'some_password_here';
GRANT CONNECT ON DATABASE database_name to looker;
\c database_name
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO looker;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO looker;

如果您使用的是 public 以外的架构,请运行以下命令,向 Looker 授予使用权限:

GRANT USAGE ON SCHEMA schema_name TO looker;

如需确保您将来添加到公共架构的表也可供 looker 用户使用,请运行以下命令:

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

根据您的设置,可能需要更改上述命令。如果其他用户或角色正在创建 looker 用户需要未来为其分配权限的表,您必须指定一个目标角色或用户,以应用 looker 用户针对以下项的权限授予:

ALTER DEFAULT PRIVILEGES FOR USER <USER_WHO_CREATES_TABLES> IN SCHEMA public GRANT SELECT ON tables TO looker;
ALTER DEFAULT PRIVILEGES FOR ROLE <ROLE_THAT_CREATES_TABLES> IN SCHEMA public GRANT SELECT ON sequences TO looker;

例如,如果 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 looker_scratch AUTHORIZATION looker;

Amazon RDS 上的 Postgres

创建暂存架构:

CREATE SCHEMA looker_scratch;

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

ALTER SCHEMA looker_scratch OWNER TO looker;

设置 search_path

最后,您应设置适当的 search_path,Looker 的 SQL Runner 使用该 API 从您的数据库中检索某些元数据。假设您已经创建了一个名为 looker 的用户和一个名为 looker_scratch 的临时架构,请运行以下命令:

ALTER USER looker SET search_path TO '$user',looker_scratch,schema_of_interest,public
                                                            ^^^^^^^^^^^^^^^^^^
                                                            ^^^^^^^^^^^^^^^^^^
                                             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. 如需验证连接是否成功,请点击 Test。如需了解问题排查信息,请参阅测试数据库连接文档页面。

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

功能支持

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

从 Looker 24.6 开始,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.6 开始,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.6 开始,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
毫秒
微秒
具体化视图
近似计数不重复