原 在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,谢谢!


