PostgreSQL

使用这些说明的方言

如本页面所述,以下方言共用数据库设置要求:

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

加密网络流量

Looker 强烈建议加密 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

临时架构设置

自创帖子

创建归 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 使用它从数据库中检索某些元数据。假设您创建了名为 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 连接到数据库文档页面对它们进行了说明。

配置连接选项后,请点击测试这些设置,以验证与 PostgreSQL 的连接是否成功。如需了解问题排查信息,请参阅测试数据库连接文档页面。

点击 Add Connection 以保存连接。

功能支持

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

在最新版本的 Looker 中,PostgreSQL 支持以下 Looker 功能:

在最新版本的 Looker 中,Cloud SQL for PostgreSQL 支持以下 Looker 功能:

在最新版本的 Looker 中,Microsoft Azure PostgreSQL 支持以下 Looker 功能: