PostgreSQL

本页面介绍如何连接到 PostgreSQL 作为*数据仓库*。如需将 PostgreSQL 用作 Metabase 的*应用程序数据库*,请参阅配置 Metabase 应用程序数据库

要添加数据库连接,请点击右上角的齿轮图标,然后导航到管理员设置 > 数据库 > 添加数据库

填写该数据库的字段,然后点击底部的保存更改

支持的版本

Metabase 支持从最旧的支持版本到最新稳定版本的 PostgreSQL。请参阅PostgreSQL 版本

连接到 Supabase

要连接到 Supabase 数据库,请选择 PostgreSQL。有关更多详细信息,请查看Supabase 文档

连接和同步

连接到数据库后,您将看到“连接和同步”部分,其中显示当前连接状态和管理数据库连接的选项。

在此处,您可以同步数据库架构并重新扫描字段值,并编辑连接详情。

编辑连接详情

您可以随时编辑这些设置。请务必保存您的更改。

连接字符串

在此处粘贴连接字符串以预填充以下剩余字段。

显示名称

Metabase 界面中数据库的显示名称。

主机

您的数据库 IP 地址或其域名(例如,esc.mydatabase.com)。

端口

数据库端口。例如,5432。

数据库名称

您要连接的数据库的名称。

用户名

用于连接数据库的账户的数据库用户名。您可以为同一个数据库设置多个连接,使用不同的用户账户,每个账户具有不同的权限

密码

您用于连接数据库的用户的密码。

使用身份验证提供程序

使用提供程序进行身份验证仅在ProEnterprise计划(包括自托管和 Metabase Cloud)中可用。

您可以使用受支持的提供程序进行身份验证,而不是使用密码。

仅适用于自托管的 Pro 和 Enterprise 计划。

Azure 托管标识

要使用 Azure 托管标识,您需要输入您的客户端 ID

Oauth

要使用 Oauth 作为提供程序,您需要输入您的

  • Auth token URL
  • Auth token request headers (a JSON map)

Schema

您可以指定要同步和扫描的模式。选项包括

  • 所有
  • 仅限这些…
  • 除了这些…

对于**仅这些**和**除这些之外的所有**选项,您可以输入逗号分隔的值列表,以告诉 Metabase 您要包含(或排除)哪些 schema。例如

foo,bar,baz

您可以使用 * 通配符来匹配多个 schema。

假设您有三个 schema:foo、bar 和 baz。

  • 如果您设置了**仅这些…**,并输入字符串 b*,则会同步 bar 和 baz。
  • 如果您设置了**除这些之外的所有…**,并输入字符串 b*,则只会同步 foo。

请注意,只支持 * 通配符;您不能使用其他特殊字符或正则表达式。

使用安全连接 (SSL)

Metabase 会首先尝试使用 SSL 连接到数据库,然后尝试不使用 SSL 连接。如果可能使用 SSL 连接到您的数据库,Metabase 将将此作为您数据库的默认设置。如果您希望在不使用此安全层的情况下进行连接,您可以随时更改此设置,但我们建议保持 SSL 开启以确保数据安全。

SSL 模式

PostgreSQL 数据库通过其连接支持不同级别的安全性,并且具有不同的开销。

SSL 模式选项包括

  • 允许
  • 首选
  • 必需
  • 验证 CA
  • 验证完整

请参阅 PostgreSQL 文档中关于不同SSL 模式的表格,然后选择适合您的选项。

SSL 根证书 (PEM)

如果您将 SSL 模式设置为“verify-ca”或“verify-full”,则需要指定根证书 (PEM)。您可以选择使用*本地文件路径*或*上传文件路径*。如果您使用的是 Metabase Cloud,则需要选择*上传文件路径*并上传您的证书。

身份验证客户端证书

打开此选项以显示客户端证书选项。

SSL 客户端证书 (PEM)

您可以选择使用*本地文件路径*或*上传文件路径*。如果您使用的是 Metabase Cloud,则需要选择*上传文件路径*并上传您的证书。

SSL 客户端密钥 (PKCS-8/DER)

同样,您可以选择使用*本地文件路径*或*上传文件路径*。如果您使用的是 Metabase Cloud,则需要选择*上传文件路径*并上传您的证书。您还需要输入您的*SSL 客户端密钥密码*。

私钥必须是 PKCS8 格式,并以 DER 格式存储。

如果您有 PEM SSL 客户端密钥,您可以使用openssl将该密钥转换为 PKCS-8/DER 格式。命令大致如下:

openssl pkcs8 -topk8 -inform PEM -outform DER -in client-key.pem -out client-key.der -nocrypt

注意:如果您使用的是 GCP 并且成功颁发了客户端证书,一切都将以 PEM 格式提供,您只需要将 client-key.pem 转换为 client-key.der 用于“SSL 客户端密钥”

使用 SSH 隧道

请参阅我们的SSH 隧道指南

展开 JSON 列

对于 PostgreSQL 数据库,Metabase 可以将 JSON 列展开为组件字段,从而生成一个表,其中每个 JSON 键都变成一个列。 JSON 展开默认开启,但如果性能缓慢,您可以关闭 JSON 展开。

如果打开 JSON 展开,您也可以在表元数据中为单个列切换展开。

附加 JDBC 连接字符串选项

您可以将选项附加到 Metabase 用于连接到数据库的连接字符串。使用格式

options=-c%20key=value

PostgreSQL 连接 URI 需要对空格和符号进行百分比编码

重新运行简单探索的查询

如果用户希望在应用任何汇总或筛选选择之前单击运行(播放按钮),请将此选项关闭

默认情况下,Metabase 会在您从“汇总”菜单中选择一个分组选项,或从下钻菜单中选择一个筛选条件后立即执行查询。如果您的数据库速度较慢,您可能希望禁用重新运行,以避免每次单击时加载数据。

选择同步和扫描发生的时间

请参阅同步和扫描

定期重新指纹识别表

定期重新指纹识别将增加数据库的负载。

将此选项打开,以便在 Metabase 每次运行同步时扫描值的样本。

指纹查询会检查每列的前 10,000 行,并使用该数据来估算每列的唯一值数量、数字和时间戳列的最小值和最大值等。如果将此选项设置为关闭,Metabase 将仅在设置过程中对您的列进行一次指纹识别。

模型功能

选择是否启用与Metabase 模型相关的功能。这些功能通常需要您用于连接到数据库的数据库用户帐户同时具有读写权限。

模型操作

打开此设置以允许运行来自此数据创建的模型的操作。操作可以读取、写入和删除数据。您的数据库用户需要写入权限。

模型持久化

我们将创建包含模型数据的表,并按您定义的计划进行刷新。要启用模型持久化,您需要授予此连接的凭据在 Metabase 提供的模式上的读写权限。

可编辑的表数据

将此设置**打开**以直接在 Metabase 中编辑表数据。启用后,管理员可以通过 Metabase 的界面在您的表中创建、更新和删除记录。

您的数据库连接需要写入权限才能启用此功能。这意味着:您用于将 Metabase 连接到数据库的数据库用户帐户必须对您希望设为可编辑的表的修改数据具有适当的权限。

请参阅权限

数据库路由

通过数据库路由,管理员可以使用一个数据库构建一次问题,然后根据查看问题的用户,该问题将在具有相同数据结构(schema)的不同数据库上运行查询。

请参阅 数据库路由

危险区

请参阅危险区

延伸阅读

阅读其他版本的 Metabase 的文档。

这有帮助吗?

感谢您的反馈!
想改进这些文档吗?提议更改。
© . This site is unofficial and not affiliated with Metabase, Inc.