PostgreSQL
本页面介绍如何将 PostgreSQL 连接为
数据仓库 。有关将 PostgreSQL 用作 Metabase应用程序数据库 的信息,请参阅配置 Metabase 应用程序数据库。
要添加数据库连接,请点击右上角的
填写该数据库的字段,然后点击底部的
支持的版本
Metabase 支持从 PostgreSQL 最早受支持的版本到最新稳定版本。请参阅PostgreSQL 版本。
连接到 Supabase
要连接到 Supabase 数据库,请选择 PostgreSQL。有关更多详细信息,请查看 Supabase 文档。
连接和同步
连接到数据库后,您将看到“连接和同步”部分,其中显示当前连接状态以及管理数据库连接的选项。
在这里,您可以同步数据库架构和重新扫描字段值,以及编辑连接详细信息。
编辑连接详细信息
您可以随时编辑这些设置。请记住保存您的更改。
显示名称
数据库在 Metabase 界面中的显示名称。
主机
您的数据库的 IP 地址,或其域名(例如,esc.mydatabase.com)。
端口
数据库端口。例如,5432。
数据库名称
您要连接的数据库的名称。
用户名
您要用于连接到数据库的账户的数据库用户名。您可以使用不同的用户账户连接到同一个数据库,每个账户具有不同的权限集,从而设置到同一个数据库的多个连接。
密码
用于连接到数据库的用户的密码。
使用身份验证提供程序
使用提供程序进行身份验证仅在 Pro 和 Enterprise 计划(包括自托管和 Metabase 云)中可用。
除了密码,您还可以使用受支持的提供程序进行身份验证。
仅适用于自托管的 Pro 和 Enterprise 计划。
Azure 托管标识
要使用 Azure 托管标识,您需要输入您的客户端 ID。
OAuth
要使用 OAuth 作为提供程序,您需要输入您的
- Auth token URL
- Auth token 请求头(JSON 映射)
模式
您可以指定要同步和扫描的模式。选项包括
- 所有
- 仅这些…
- 除这些外所有…
对于
foo,bar,baz
您可以使用 *
通配符匹配多个模式。
假设您有三个模式:foo、bar 和 baz。
- 如果将
仅这些… 设置为b*
字符串,您将同步 bar 和 baz。 - 如果将
除这些外所有… 设置为b*
字符串,您将仅同步 foo。
请注意,只支持 *
通配符;您不能使用其他特殊字符或正则表达式。
使用安全连接 (SSL)
Metabase 会自动先尝试使用 SSL 连接到数据库,如果失败则不使用。如果可以与您的数据库建立 SSL 连接,Metabase 会将其设置为数据库的默认设置。如果您倾向于不使用此安全层进行连接,您可以稍后更改此设置,但我们强烈建议保持 SSL 开启以确保您的数据安全。
SSL 模式
PostgreSQL 数据库支持不同安全级别的连接,并具有不同的开销。
SSL 模式选项包括
- allow
- prefer
- require
- verify-ca
- verify-full
请参阅 PostgreSQL 文档中关于不同SSL 模式的表格,并选择适合您的选项。
SSL 根证书 (PEM)
如果您将 SSL 模式设置为“verify-ca”或“verify-full”,则需要指定根证书 (PEM)。您可以选择使用
客户端证书验证
打开以显示客户端证书选项。
SSL 客户端证书 (PEM)
您可以选择使用
SSL 客户端密钥 (PKCS-8/DER)
同样,您可以选择使用
私钥必须为 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 会在您从
选择同步和扫描发生的时间
请参阅同步和扫描。
定期重新指纹识别表
定期重新指纹识别会增加数据库的负载。
将此选项设置为
指纹识别查询会检查每个列的前 10,000 行,并使用这些数据估算每个列的唯一值数量、数字和时间戳列的最小值和最大值等。如果将此选项保留为
模型功能
选择是否启用与Metabase 模型相关的功能。这些功能通常要求用于连接数据库的数据库用户账户同时具有读写权限。
模型操作
开启此设置以允许运行由此数据创建的模型中的操作。操作能够读取、写入和可能删除数据。您的数据库用户将需要写入权限。
模型持久化
我们将创建包含模型数据的表格,并按照您定义的时间表进行刷新。要启用模型持久化,您需要授予此连接的凭据对 Metabase 提供的模式的读写权限。
数据库路由
请参阅数据库路由。
危险区
请参阅危险区。
进一步阅读
阅读其他Metabase 版本的文档。