原 在psql命令中配置set变量入参
Tags: 原创PostgreSQLpsql入参
简介
问题:
set statement_timeout='1d'
如何加到 postgres://prometheus:lhr@127.0.0.1:5432/postgres?sslmode=disable 中???
配置2个set,又该如何配置呢??
要在连接到 PostgreSQL 数据库时设置 statement_timeout
,你可以将其作为连接时的参数传递。虽然 PostgreSQL 的原生连接字符串格式不直接支持 SET
命令,但你可以在 psql
或某些 PostgreSQL 驱动中通过查询参数的方式设置一些会话级别的参数。
PostgreSQL 的连接 URI 格式允许你配置多个参数,涵盖了连接、认证、超时、安全等各类功能。除了你提到的 sslmode
,还有很多其他可以在 URI 中传递的参数。
常见的 URI 参数:
sslmode
: 定义 SSL 连接的使用方式。常见值:disable
: 不使用 SSL。allow
: 尝试使用 SSL,如果不可用则回退到普通连接。prefer
: 如果支持 SSL,则使用 SSL,否则使用普通连接(默认)。require
: 强制使用 SSL。verify-ca
: 强制使用 SSL,并验证服务器的证书是否由受信任的 CA 签名。verify-full
: 强制使用 SSL,并验证服务器证书的完整性和主机名。
user
: 数据库用户名。URI 格式中通常在//
后面指定。- 示例:
postgres://username@localhost/dbname
- 示例:
password
: 用户的密码。可以直接在 URI 中提供,通常也在//
后面指定。- 示例:
postgres://username:password@localhost/dbname
- 示例:
host
: 数据库服务器地址。- 示例:
postgres://username@127.0.0.1/dbname
- 示例:
port
: 数据库服务器的端口。- 示例:
postgres://username@localhost:5432/dbname
- 示例:
dbname
: 要连接的数据库名称。- 示例:
postgres://username@localhost/mydb
- 示例:
application_name
: 应用程序名称。这在 PostgreSQL 日志中显示为连接来源。- 示例:
postgres://username@localhost/mydb?application_name=myapp
- 示例:
connect_timeout
: 设置连接超时时间,单位是秒。- 示例:
postgres://username@localhost/mydb?connect_timeout=10
- 示例:
client_encoding
: 设置客户端字符编码。本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!