使用这些指令的方言
以下方言共有本页所述的数据库设置要求:
- 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 到数据库的连接,请按以下步骤操作:
- 在 Looker 的管理部分中,选择连接,然后点击添加连接。
从方言下拉菜单中,选择您的数据库方言名称。对于 AlloyDB for PostgreSQL 方言,请选择 PostgreSQL 9.5+。
填写连接详情。大多数设置对大多数数据库方言是通用的。如需了解详情,请参阅将 Looker 连接到您的数据库文档页面。
如需验证连接是否成功,请点击 Test。如需了解问题排查信息,请参阅测试数据库连接文档页面。
如需保存这些设置,请点击连接。
功能支持
为了让 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 | 是 |
毫秒 | 是 |
微秒 | 是 |
具体化视图 | 否 |
近似计数不重复 | 否 |