本文介绍云数据库 PostgreSQL 版在 PostgreSQL 11~14 版本实例中提供的可修改参数的相关信息,包括参数的默认值、修改后是否需要重启、取值范围、描述信息和单位。
参数名 | 默认值 | 单位 | 是否重启生效 | 类型 | 取值范围 | 支持该参数的版本 | 中文描述 |
---|---|---|---|---|---|---|---|
auto_explain.log_analyze | off | - | 否 | bool | [on|off] | PostgreSQL 11~16 | 启用 EXPLAIN ANALYZE 输出的采样。 |
auto_explain.log_buffers | off | - | 否 | bool | [on|off] | PostgreSQL 11~16 | 启用缓冲区使用信息的日志记录。 |
auto_explain.log_format | text | - | 否 | enum | [text|xml|json|yaml] | PostgreSQL 11~16 | 用于设置在计划日志记录的 EXPLAIN 输出格式。 |
auto_explain.log_min_duration | -1 | ms | 否 | integer | [-1~60000] | PostgreSQL 11~16 | 执行时间超过该设置值的计划将被记录。设置为 0 则记录所有计划,设置为 -1 可禁用此功能。 |
auto_explain.log_nested_statements | off | - | 否 | bool | [on|off] | PostgreSQL 11~16 | 启用嵌套语句的日志记录。 |
auto_explain.log_timing | on | - | 否 | bool | [on|off] | PostgreSQL 11~16 | 当记录执行计划时,启用每个详细节点时间的执行计划。 |
auto_explain.log_triggers | off | - | 否 | bool | [on|off] | PostgreSQL 11~16 | 启用计划中的触发器统计信息日志记录。除非启用了 auto_explain.log_analyze,否则此参数无效。默认情况下,此参数的值为 off。 |
auto_explain.log_verbose | off | - | 否 | bool | [on|off] | PostgreSQL 11~16 | 启用 auto-explain 的详细输出,它相当于 EXPLAIN 的 VERBOSE 选项。 |
auto_explain.sample_rate | 1 | - | 否 | real | [0~1] | PostgreSQL 11~16 | 设置要记录的查询的采样率。0 表示禁用,1 表示记录所有查询。 |
autovacuum_vacuum_cost_delay | 0 | ms | 否 | PostgreSQL 12~16:real | [0~50] | PostgreSQL 11~16 | AUTOVACUUM 中,执行每个 cost 后应等待的时间(以毫秒为单位)。 |
cron.log_run | on | - | 是 | bool | [off|on] | PostgreSQL 11~16 | 记录 job_run_details 表中运行的每个作业。 |
default_transaction_deferrable | off | - | 否 | bool | [off|on] | PostgreSQL 11~16 | 设置新事务的默认可延迟状态。 |
enable_partitionwise_aggregate | on | - | 否 | bool | [off|on] | PostgreSQL 11~16 | 启用分区聚合和分组。 |
enable_partitionwise_join | on | - | 否 | bool | [off|on] | PostgreSQL 11~16 | 启用分区连接。 |
idle_in_transaction_session_timeout | 36000000 | ms | 否 | integer | [3000~36000000] | PostgreSQL 11~16 | 设置事务中查询之间允许的最大空闲时间。终止任何空闲时间超过指定时间的打开事务会话。值为 0 时关闭超时。 |
lc_monetary | C | - | 否 | string | [C|C.UTF-8|en_US.utf8|POSIX|zh_CN.utf8] | PostgreSQL 11~16 | 设置格式化货币金额的区域设置。 |
lock_timeout | 0 | ms | 否 | integer | [0~36000000] | PostgreSQL 11~16 | 设置等待锁定的最大允许持续时间。值为 0 时关闭超时。 |
log_autovacuum_min_duration | 10000 | ms | 否 | integer | [-1~2147483647] | PostgreSQL 11~16 | 设置自动清理操作被记录的最短执行时间。值为 0 时打印所有操作。值为 -1 时关闭自动清理日志记录。 |
log_connections | off | - | 否 | bool | [off|on] | PostgreSQL 11~16 | 记录每个成功的连接。 |
log_disconnections | off | - | 否 | bool | [off|on] | PostgreSQL 11~16 | 记录会话结束,包括持续时间。 |
log_min_duration_statement | 1000 | ms | 否 | integer | [-1~600000] | PostgreSQL 11~16 | 执行时间超过此值的 SQL 将被记录。请注意,太小的值可能会导致性能下降并增加日志量。 |
log_statement | ddl | - | 否 | enum | [ddl|mod|all] | PostgreSQL 11~16 | 设置记录的语句类型。将其设置为 all 或 mod 将导致性能下降并增加日志量。 |
log_temp_files | 131072 | KB | 否 | integer | [4096~1048576] | PostgreSQL 11~16 | 设置日志文件的最大数量。每个日志文件的大小为 100 MB。 |
max_standby_archive_delay | 300000 | ms | 否 | integer | [-1~2147483647] | PostgreSQL 11~16 | 设置在热备用服务器处理归档的 WAL 数据时取消查询之前的最大延迟。 |
max_standby_streaming_delay | 300000 | ms | 否 | integer | [-1~2147483647] | PostgreSQL 11~16 | 设置在热备用服务器处理流式 WAL 数据时取消查询之前的最大延迟。 |
old_snapshot_threshold | -1 | min | 是 | integer | [-1~2880] | PostgreSQL 11~16 | 控制查询快照的最大允许 age。如果快照太旧,PostgreSQL 会回退到完整表扫描。设置为 -1 可禁用此功能。 |
pgaudit.log_catalog | on | - | 否 | bool | [off|on] | PostgreSQL 11~16 | 指定在语句中的所有关系都在 pg_catalog 中的情况下应启用会话日志记录。禁用此设置将减少来自 psql 和 PgAdmin 等大量查询目录的工具的日志噪音。 |
pgaudit.log_level | log | - | 否 | string | [debug5|debug4|debug3|debug2|debug1|info|notice|warning|log] | PostgreSQL 11~16 | 指定将用于日志条目的日志级别。此设置用于回归测试,也可能对最终用户的测试或其他目的有用。它不适用于生产环境,因为它可能会泄露正在向用户记录哪些语句。 |
pgaudit.log_parameter | off | - | 否 | bool | [off|on] | PostgreSQL 11~16 | 指定审计日志记录应包括随语句传递的参数。当存在参数时,它们将以 CSV 格式包含在语句文本后。 |
pgaudit.log_relation | off | - | 否 | bool | [off|on] | PostgreSQL 11~16 | 指定会话审计日志记录是否应为 SELECT 或 DML 语句中引用的每个关系创建单独的日志条目。这是不使用对象审计日志记录的详尽日志记录的有用快捷方式。 |
pgaudit.log_statement_once | off | - | 否 | bool | [off|on] | PostgreSQL 11~16 | 指定日志记录是否将语句文本和参数包含在语句/子语句组合的第一个日志条目中或每个条目中。禁用此设置将导致日志记录不太详细,但可能会使确定生成日志条目的语句变得更加困难,尽管语句/子语句对以及进程 ID 应该足以识别与上一个条目一起记录的语句文本。 |
pgaudit.role | - | - | 否 | string | [*] | PostgreSQL 11~16 | 指定用于对象审计日志记录的主角色。可以通过将多个审计角色授予主角色来定义它们。这允许多个组负责审计日志记录的不同方面。 |
shared_preload_libraries | auth_delay,pg_stat_statements,auto_explain,pgaudit,pgnodemx | - | 是 | string | [*auth_delay|pg_stat_statements|auto_explain|pgaudit|pgnodemx|pg_pathman|timescaledb|pg_stat_kcache|pg_hugepage_stat|pg_cron|pg_jieba] | PostgreSQL 11~16 | 列出要预加载到服务器中的共享库。说明仅支持在 PostgreSQL 11~13 版本的实例中为 shared_preload_libraries 取值 pg_pathman。shared_preload_libraries 的值需要与实际使用的插件保持一致。在修改该参数移除某些插件前,请确保已经 drop 了对应的插件。如您之前从 shared_preload_libraries 参数中移除了某些正在使用的插件,建议您尽快在 shared_preload_libraries 参数中加回,否则可能会出现报错,影响数据库的读写。 |
statement_timeout | 0 | ms | 否 | integer | [0-86400000] | PostgreSQL 11~16 | 设置 SQL 语句的最长执行时间,设置为 0 表示没有超时限制。 |
timezone | Asia/Shanghai | - | 否 | string | 该参数的取值范围请参见时区列表。 | PostgreSQL 11~16 | 设置显示和解释时间戳的时区。 |
track_commit_timestamp | off | - | 是 | bool | [off|on] | PostgreSQL 11~16 | 启用收集事务提交时间。 |
vacuum_defer_cleanup_age | 0 | - | 否 | integer | [0-1000000] | PostgreSQL 11~15 | 应推迟 VACUUM 和 HOT 清理的事务数(如果有)。 |
wal_compression | off | - | 否 | enum | PostgreSQL 11~14:[off|on] | PostgreSQL 11~16 | 压缩写入 WAL 的完整页面写入。 |
wal_level | replica | - | 是 | enum | [replica|logical] | PostgreSQL 11~16 | 设置写入 WAL 的信息级别。 |