PostgreSQL 连接

Postgres 连接类型提供与 Postgres 数据库的连接。

配置连接

主机(必填)

要连接的主机。

数据库(可选)

指定要连接的数据库的名称。

注意

如果您想定义默认数据库架构

登录名(必填)

指定要连接的用户名。

密码(必填)

指定要连接的密码。

额外参数(可选)

指定可以在 Postgres 连接中使用的额外参数(作为 json 字典)。支持以下标准 Python 参数之外的参数

  • sslmode - 此选项确定是否以及以什么优先级与服务器协商安全的 SSL TCP/IP 连接。有六种模式:disableallowpreferrequireverify-caverify-full

  • sslcert - 此参数指定客户端 SSL 证书的文件名,替换默认值。

  • sslkey - 此参数指定客户端 SSL 密钥的文件名,替换默认值。

  • sslrootcert - 此参数指定包含 SSL 证书颁发机构 (CA) 证书的文件名。

  • sslcrl - 此参数指定 SSL 证书吊销列表 (CRL) 的文件名。

  • application_name - 指定 application_name 配置参数的值。

  • keepalives_idle - 控制在 TCP 向服务器发送 keepalive 消息之前不活动的时间(以秒为单位)。

  • client_encoding:指定客户端连接的客户端编码(字符集)。请参阅 Postgres 支持的字符集

有关所有支持的 Postgres 参数的更多详细信息,请参阅 Postgres 文档

示例“额外参数”字段

{
   "sslmode": "verify-ca",
   "sslcert": "/tmp/client-cert.pem",
   "sslca": "/tmp/server-ca.pem",
   "sslkey": "/tmp/client-key.pem"
}

以下额外参数用于其他 Hook 配置

  • iam - 如果设置为 True,则对 Amazon RDSAmazon AuroraAmazon Redshift 使用 AWS IAM 数据库身份验证。

  • aws_conn_id - 用于通过 AWS IAM 进行身份验证的 AWS 连接 ID,如果未指定,则使用 aws_default

  • redshift - 在启用 AWS IAM 数据库身份验证时使用。如果设置为 True,则对 Amazon Redshift 集群进行身份验证,否则对 Amazon RDS 或 Amazon Aurora 进行身份验证。

  • cluster-identifier - 包含您要为其请求凭据的数据库的 Amazon Redshift 集群的唯一标识符。此参数区分大小写。如果未指定,则使用 连接主机 中的主机名。

示例“额外参数”字段(Amazon RDS PostgreSQL 或 Amazon Aurora PostgreSQL)

{
   "iam": true,
   "aws_conn_id": "aws_awesome_rds_conn"
}

示例“额外参数”字段(Amazon Redshift)

{
   "iam": true,
   "aws_conn_id": "aws_awesome_redshift_conn",
   "redshift": "/tmp/server-ca.pem",
   "cluster-identifier": "awesome-redshift-identifier"
}

将连接指定为 URI 时(在 AIRFLOW_CONN_{CONN_ID} 变量中),您应该按照 DB 连接的标准语法指定它,其中额外参数作为 URI 的参数传递(请注意,URI 的所有组件都应进行 URL 编码)。

例如

export AIRFLOW_CONN_POSTGRES_DEFAULT='postgresql://postgres_user:[email protected]:5432/postgresdb?sslmode=verify-ca&sslcert=%2Ftmp%2Fclient-cert.pem&sslkey=%2Ftmp%2Fclient-key.pem&sslrootcert=%2Ftmp%2Fserver-ca.pem'

此条目有帮助吗?