使用这些指令的方言
以下方言具有本页所述的数据库设置要求:
- 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 提供集成支持。如需为这些方言创建连接,请在新建连接页面上的方言下拉菜单中选择 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 配置数据库用户,请在数据库上执行以下步骤:
创建数据库用户和密码。
CREATE USER USERNAME WITH ENCRYPTED PASSWORD 'PASSWORD';
向数据库用户授予权限,以便 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;
如果您使用的是
public
以外的架构,请运行以下命令以向 Looker 授予使用权限:GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;
为确保您日后添加到公共架构的表也对 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 可以使用该 search_path
从数据库中检索特定元数据:
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 与数据库之间的连接:
- 在 Looker 的管理部分中,选择连接,然后点击添加连接。
从方言下拉菜单中,选择您的数据库方言名称。对于 AlloyDB for PostgreSQL 方言,选择 PostgreSQL 9.5 及更高版本。
填写连接详情。大多数设置对于大多数数据库方言都是通用的。如需了解详情,请参阅将 Looker 连接到数据库文档页面。
如需验证连接是否成功,请点击测试。如需了解问题排查信息,请参阅测试数据库连接文档页面。
如需保存这些设置,请点击连接。
功能支持
为了让 Looker 支持某些功能,您的数据库方言也必须支持这些功能。
从 Looker 25.0 开始,PostgreSQL 9.5 及更高版本支持以下功能:
功能 | 是否支持? |
---|---|
支持级别 | 支持 |
Looker (Google Cloud Core) | 是 |
对称汇总 | 是 |
派生表 | 是 |
永久性 SQL 派生表 | 是 |
永久性原生派生表 | 是 |
稳定视图 | 是 |
查询终止 | 是 |
基于 SQL 的转换 | 是 |
时区 | 是 |
SSL | 是 |
小计 | 是 |
JDBC 其他参数 | 是 |
区分大小写 | 是 |
位置类型 | 是 |
列表类型 | 是 |
百分位 | 是 |
不同值百分位 | 是 |
SQL Runner 显示进程 | 是 |
SQL Runner 中的“Describe Table”命令 | 是 |
SQL Runner 显示索引 | 是 |
SQL Runner Select 10 | 是 |
SQL Runner 计数 | 是 |
SQL 说明 | 是 |
Oauth 凭据 | 否 |
上下文注释 | 是 |
连接池 | 是 |
HLL 草图 | 否 |
汇总认知度 | 是 |
增量 PDT | 是 |
毫秒 | 是 |
微秒 | 是 |
具体化视图 | 否 |
近似计数不同 | 否 |
从 Looker 25.0 开始,Google Cloud PostgreSQL 支持以下功能:
功能 | 是否支持? |
---|---|
支持级别 | 支持 |
Looker (Google Cloud Core) | 是 |
对称汇总 | 是 |
派生表 | 是 |
永久性 SQL 派生表 | 是 |
永久性原生派生表 | 是 |
稳定视图 | 是 |
查询终止 | 是 |
基于 SQL 的转换 | 是 |
时区 | 是 |
SSL | 是 |
小计 | 是 |
JDBC 其他参数 | 是 |
区分大小写 | 是 |
位置类型 | 是 |
列表类型 | 是 |
百分位 | 是 |
不同值百分位 | 是 |
SQL Runner 显示进程 | 是 |
SQL Runner 中的“Describe Table”命令 | 是 |
SQL Runner 显示索引 | 是 |
SQL Runner Select 10 | 是 |
SQL Runner 计数 | 是 |
SQL 说明 | 是 |
Oauth 凭据 | 否 |
上下文注释 | 是 |
连接池 | 是 |
HLL 草图 | 否 |
汇总认知度 | 是 |
增量 PDT | 是 |
毫秒 | 是 |
微秒 | 是 |
具体化视图 | 否 |
近似计数不同 | 否 |
从 Looker 25.0 开始,Microsoft Azure PostgreSQL 支持以下功能:
功能 | 是否支持? |
---|---|
支持级别 | 支持 |
Looker (Google Cloud Core) | 是 |
对称汇总 | 是 |
派生表 | 是 |
永久性 SQL 派生表 | 是 |
永久性原生派生表 | 是 |
稳定视图 | 是 |
查询终止 | 是 |
基于 SQL 的转换 | 是 |
时区 | 是 |
SSL | 是 |
小计 | 是 |
JDBC 其他参数 | 是 |
区分大小写 | 是 |
位置类型 | 是 |
列表类型 | 是 |
百分位 | 是 |
不同值百分位 | 是 |
SQL Runner 显示进程 | 是 |
SQL Runner 中的“Describe Table”命令 | 是 |
SQL Runner 显示索引 | 是 |
SQL Runner Select 10 | 是 |
SQL Runner 计数 | 是 |
SQL 说明 | 是 |
Oauth 凭据 | 否 |
上下文注释 | 是 |
连接池 | 是 |
HLL 草图 | 否 |
汇总认知度 | 是 |
增量 PDT | 是 |
毫秒 | 是 |
微秒 | 是 |
具体化视图 | 否 |
近似计数不同 | 否 |