pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
百科 / 配置参数
配置参数(GUC)决定 PostgreSQL 运行时的行为:内存分配、预写式日志、检查点、查询规划、日志记录与自动清理都由它们控制,每一个都是 pg_settings 里的一行。本栏目收录 492 个参数,分属 16 个一级分类,覆盖 PostgreSQL 7.4 至 20,逐版本记下每个参数的默认值、生效方式、取值范围与说明变化。7.4 是本数据集的收录基线,不代表这些参数首次于 7.4 引入。
版本变动 未收录 存在 新增 属性或默认值变化 已移除
| 参数 | 类型 | 上下文 | 默认值 | 版本变动 | 最近变更 |
|---|---|---|---|---|---|
config_file |
字符串 | 重启生效 | 未设置 |
— | |
| 指定主服务器配置文件(通常叫 postgresql.conf)。 | 现存 | ||||
data_directory |
字符串 | 重启生效 | 未设置 |
— | |
| 指定用于数据存储的目录。 | 现存 | ||||
extension_destdir |
字符串 | 会话(超级用户) | 空字符串 |
— | |
| 加载扩展时添加到路径前面的目录。 | 于 18 移除 | ||||
external_pid_file |
字符串 | 重启生效 | 未设置 |
— | |
| 指定服务器应创建的额外进程 ID(PID)文件的名称,供服务器管理程序使用。 | 现存 | ||||
hba_file |
字符串 | 重启生效 | 未设置 |
— | |
| 指定基于主机的认证配置文件(通常叫 pg_hba.conf)。 | 现存 | ||||
hosts_file |
字符串 | — | — | ||
| 指定基于主机的 SSL 配置文件(通常称为 pg_hosts.conf)。 | 现存 | ||||
ident_file |
字符串 | 重启生效 | 未设置 |
— | |
| 指定用于用户名称映射的配置文件(通常叫 pg_ident.conf)。 | 现存 | ||||
| 连接设置 11 | |||||
bonjour |
布尔 | 重启生效 | off |
— | |
| 启用通过 Bonjour 通告服务器存在的功能。 | 现存 | ||||
bonjour_name |
字符串 | 重启生效 | 空字符串 |
— | |
| 指定 Bonjour 服务名。 | 现存 | ||||
listen_addresses |
字符串 | 重启生效 | localhost |
— | |
| 指定服务器用于监听来自客户端应用程序的连接的 TCP/IP 地址。 | 现存 | ||||
max_connections |
整数 | 重启生效 | 100 |
9.62 次 | |
| 决定数据库服务器允许的最大并发连接数。 | 现存 | ||||
port |
整数 | 重启生效 | 5432 |
— | |
| 服务器监听的 TCP 端口,默认是 5432。 | 现存 | ||||
reserved_connections |
整数 | 重启生效 | 0 |
— | |
| 确定为具有 pg_use_reserved_connections 角色权限的角色保留多少个连接“槽”。 | 现存 | ||||
superuser_reserved_connections |
整数 | 重启生效 | 3 |
9.62 次 | |
| 决定为 PostgreSQL 超级用户连接保留多少个连接“槽”。 | 现存 | ||||
unix_socket_directories |
字符串 | 重启生效 | /var/run/postgresql |
— | |
| 指定服务器用于监听来自客户端应用的连接的 Unix 域套接字目录。 | 现存 | ||||
unix_socket_directory |
字符串 | 重启生效 | 空字符串 |
— | |
| 指定服务器用于监听来自客户端应用连接的 Unix 域套接字的目录。 | 于 9.3 移除 | ||||
unix_socket_group |
字符串 | 重启生效 | 空字符串 |
— | |
| 设置 Unix 域套接字的所属组(套接字的所属用户总是启动服务器的用户)。 | 现存 | ||||
unix_socket_permissions |
整数 | 重启生效 | 511 |
— | |
| 设置 Unix 域套接字的访问权限。 | 现存 | ||||
| TCP 设置 5 | |||||
client_connection_check_interval |
整数 | 会话 | 0 ms |
— | |
| 设置查询执行期间可选的客户端连接检查的时间间隔,用于检查客户端是否仍然连接。 | 现存 | ||||
tcp_keepalives_count |
整数 | 会话 | 0 |
— | |
| 指定在服务器与客户端之间的连接被视为中断之前,可以丢失多少个 TCP keepalive 消息。 | 现存 | ||||
tcp_keepalives_idle |
整数 | 会话 | 0 s |
— | |
| 指定在多久没有网络活动后,操作系统应向客户端发送 TCP keepalive 消息。 | 现存 | ||||
tcp_keepalives_interval |
整数 | 会话 | 0 s |
— | |
| 指定未被客户端确认收到的 TCP keepalive 消息在多久之后应被重传。 | 现存 | ||||
tcp_user_timeout |
整数 | 会话 | 0 ms |
— | |
| 指定已发送的数据在 TCP 连接被强制关闭之前最多可以保持未确认状态多长时间。 | 现存 | ||||
| 认证 10 | |||||
authentication_timeout |
整数 | 重载生效 | 1 min |
— | |
| 允许完成客户端认证的最长时间。 | 现存 | ||||
db_user_namespace |
布尔 | 重载生效 | off |
— | |
| 此参数启用各数据库独立的用户名。 | 于 17 移除 | ||||
gss_accept_delegation |
布尔 | 重载生效 | off |
— | |
| 设置是否接受客户端的 GSSAPI 委派。 | 现存 | ||||
krb_caseins_users |
布尔 | 重载生效 | off |
— | |
| 设置是否应该以大小写不敏感的方式对待 GSSAPI 用户名。 | 现存 | ||||
krb_server_keyfile |
字符串 | 重载生效 | FILE:/etc/postgresql-common/krb5.keytab |
9.11 次 | |
| 设置服务器的 Kerberos 密钥文件的位置。 | 现存 | ||||
md5_password_warnings |
布尔 | 会话 | on |
— | |
| 控制在使用 MD5 加密密码成功认证时,或者在 CREATE ROLE 或 ALTER ROLE 语句设置 MD5 加密密码时,是否生成有关 MD5 密码已弃用的 WARNING。 | 现存 | ||||
oauth_validator_libraries |
字符串 | 重载生效 | 空字符串 |
— | |
| 设置用于验证 OAuth 连接令牌的库。 | 现存 | ||||
password_encryption |
枚举 | 会话 | scram-sha-256 |
142 次 | |
| 当在 CREATE ROLE 或 ALTER ROLE 中指定密码时,该参数决定用于加密密码的算法。 | 现存 | ||||
password_expiration_warning_threshold |
整数 | — | — | ||
| 当此参数大于零时,如果距离已认证角色的密码过期剩余时间少于这个时长,服务器会在成功完成密码认证后发出 WARNING。 | 现存 | ||||
scram_iterations |
整数 | 会话 | 4096 |
— | |
| 使用 SCRAM-SHA-256 加密密码时执行的计算迭代次数。 | 现存 | ||||
| 安全和认证 2 | |||||
krb_srvname |
字符串 | 重载生效 | postgres |
— | |
| 设置 Kerberos 服务名。 | 于 9.4 移除 | ||||
ssl_renegotiation_limit |
整数 | 会话 | 0 B |
— | |
| 指定在一个SSL加密连接上可以流过多少数据之后将进行会话密钥的重新协商。 | 于 9.5 移除 | ||||
| SSL 17 | |||||
ssl |
布尔 | 重载生效 | off |
101 次 | |
| 启用 SSL 连接。 | 现存 | ||||
ssl_ca_file |
字符串 | 重载生效 | 空字符串 |
101 次 | |
| 指定包含 SSL 服务器证书颁发机构(CA)的文件名。 | 现存 | ||||
ssl_cert_file |
字符串 | 重载生效 | server.crt |
101 次 | |
| 指定包含 SSL 服务器证书的文件名。 | 现存 | ||||
ssl_ciphers |
字符串 | 重载生效 | HIGH:MEDIUM:+3DES:!aNULL |
103 次 | |
| 指定允许用于 TLS 1.2 及更低版本连接的 SSL 密码套件列表;对于 TLS 1.3 连接,请参见 ssl_tls13_ciphers。 | 现存 | ||||
ssl_crl_dir |
字符串 | 重载生效 | 空字符串 |
— | |
| 指定包含 SSL 客户端证书吊销列表(CRL)的目录名称。 | 现存 | ||||
ssl_crl_file |
字符串 | 重载生效 | 空字符串 |
101 次 | |
| 指定包含 SSL 客户端证书吊销列表(CRL)的文件名。 | 现存 | ||||
ssl_dh_params_file |
字符串 | 重载生效 | 空字符串 |
— | |
| 指定包含 Diffie-Hellman 参数的文件名,这些参数用于所谓临时 DH 系列的 SSL 密码套件。 | 现存 | ||||
ssl_ecdh_curve |
字符串 | 重载生效 | prime256v1 |
101 次 | |
| 指定在 ECDH 密钥交换中使用的曲线名称。 | 于 18 移除 | ||||
ssl_groups |
字符串 | 重载生效 | X25519:prime256v1 |
— | |
| 指定用于 TLS 密钥交换的命名组。 | 现存 | ||||
ssl_key_file |
字符串 | 重载生效 | server.key |
101 次 | |
| 指定包含 SSL 服务器私钥的文件名。 | 现存 | ||||
ssl_max_protocol_version |
枚举 | 重载生效 | 空字符串 |
— | |
| 设置要使用的最高 SSL/TLS 协议版本。 | 现存 | ||||
ssl_min_protocol_version |
枚举 | 重载生效 | TLSv1.2 |
131 次 | |
| 设置要使用的最低 SSL/TLS 协议版本。 | 现存 | ||||
ssl_passphrase_command |
字符串 | 重载生效 | 空字符串 |
— | |
| 设置获取用于解密私钥等 SSL 文件的口令时要调用的外部命令。 | 现存 | ||||
ssl_passphrase_command_supports_reload |
布尔 | 重载生效 | off |
— | |
| 此参数决定:配置重载期间,如果密钥文件需要口令,是否也调用 ssl_passphrase_command 设置的口令命令。 | 现存 | ||||
ssl_prefer_server_ciphers |
布尔 | 重载生效 | on |
101 次 | |
| 指定是否使用服务器的 SSL 密码套件优先顺序,而非客户端的优先顺序。 | 现存 | ||||
ssl_sni |
布尔 | — | — | ||
| 启用 SSL 连接的 SNI 配置。 | 现存 | ||||
ssl_tls13_ciphers |
字符串 | 重载生效 | 空字符串 |
— | |
| 指定允许用于 TLS 版本 1.3 连接的密码套件列表。 | 现存 | ||||
| Connections and Authentication 5 | |||||
krb_realm |
字符串 | — | — | ||
| 设置对 Kerberos、GSSAPI 和 SSPI 用户名进行匹配时所用的 realm。 | 于 8.4 移除 | ||||
krb_server_hostname |
字符串 | — | — | ||
| 设置服务主体的主机名部分。 | 于 8.4 移除 | ||||
rendezvous_name |
字符串 | — | — | ||
| 指定Rendezvous广播名称。 | 于 8.1 移除 | ||||
tcpip_socket |
布尔 | — | — | ||
| 如果为真,服务器将接受 TCP/IP 连接。 | 于 8.0 移除 | ||||
virtual_host |
字符串 | — | — | ||
| 指定服务器用于监听来自客户端应用连接的主机名或 IP 地址。 | 于 8.0 移除 | ||||
| 内存 23 | |||||
autovacuum_work_mem |
整数 | 重载生效 | -1 kB |
— | |
| 指定每个自动清理工作进程可使用的最大内存量。 | 现存 | ||||
commit_timestamp_buffers |
整数 | 重启生效 | 0 B (0 × 8kB) |
— | |
| 指定用于缓存 pg_commit_ts 内容的内存量(参见表 66.1)。 | 现存 | ||||
dynamic_shared_memory_type |
枚举 | 重启生效 | posix |
121 次 | |
| 指定服务器应使用的动态共享内存实现。 | 现存 | ||||
hash_mem_multiplier |
浮点 | 会话 | 2 |
151 次 | |
| 用于计算基于 hash 的操作可以使用的最大内存量。 | 现存 | ||||
huge_page_size |
整数 | 重启生效 | 0 B |
— | |
| 控制通过 huge_pages 启用巨型页时所使用的页大小。 | 现存 | ||||
huge_pages |
枚举 | 重启生效 | try |
— | |
| 控制是否为主共享内存区域请求巨型页。 | 现存 | ||||
logical_decoding_work_mem |
整数 | 会话 | 64 MiB |
— | |
| 指定逻辑解码在将部分已解码的更改写入本地磁盘之前可使用的最大内存量。 | 现存 | ||||
maintenance_work_mem |
整数 | 会话 | 64 MiB |
172 次 | |
| 指定维护操作(如 VACUUM、CREATE INDEX 和 ALTER TABLE ADD FOREIGN KEY)可使用的最大内存量。 | 现存 | ||||
max_prepared_transactions |
整数 | 重启生效 | 0 |
9.62 次 | |
| 设置可同时处于“预备”状态的事务的最大数量(见 PREPARE TRANSACTION)。 | 现存 | ||||
max_stack_depth |
整数 | 会话(超级用户) | 100 KiB |
— | |
| 指定服务器执行栈的最大安全深度。 | 现存 | ||||
min_dynamic_shared_memory |
整数 | 重启生效 | 0 B |
— | |
| 指定服务器启动时为并行查询分配的内存量。 | 现存 | ||||
multixact_member_buffers |
整数 | 重启生效 | 256 KiB (32 × 8kB) |
— | |
| 指定用于缓存 pg_multixact/members 内容的共享内存量(参见表 66.1)。 | 现存 | ||||
multixact_offset_buffers |
整数 | 重启生效 | 128 KiB (16 × 8kB) |
— | |
| 指定用于缓存 pg_multixact/offsets 内容的共享内存量(参见表 66.1)。 | 现存 | ||||
notify_buffers |
整数 | 重启生效 | 128 KiB (16 × 8kB) |
— | |
| 指定用于缓存 pg_notify 内容的共享内存量(参见表 66.1)。 | 现存 | ||||
replacement_sort_tuples |
整数 | 会话 | 150000 |
— | |
| 当待排序的元组数小于此数值时,排序会使用置换选择而非快速排序来产生第一个输出有序段。 | 于 11 移除 | ||||
serializable_buffers |
整数 | 重启生效 | 256 KiB (32 × 8kB) |
— | |
| 指定用于缓存 pg_serial 内容的共享内存量(参见表 66.1)。 | 现存 | ||||
shared_buffers |
整数 | 重启生效 | 128 MiB (16384 × 8kB) |
151 次 | |
| 设置数据库服务器用于共享内存缓冲区的内存量。 | 现存 | ||||
shared_memory_type |
枚举 | 重启生效 | mmap |
— | |
| 指定服务器用于主共享内存区域的共享内存实现,该区域存放 PostgreSQL 的共享缓冲区及其他共享数据。 | 现存 | ||||
subtransaction_buffers |
整数 | 重启生效 | 0 B (0 × 8kB) |
— | |
| 指定用于缓存 pg_subtrans 内容的共享内存量(参见表 66.1)。 | 现存 | ||||
temp_buffers |
整数 | 会话 | 8 MiB (1024 × 8kB) |
— | |
| 设置每个数据库会话用于临时缓冲区的最大内存量。 | 现存 | ||||
transaction_buffers |
整数 | 重启生效 | 0 B (0 × 8kB) |
— | |
| 指定用于缓存 pg_xact 内容的共享内存量(参见表 66.1)。 | 现存 | ||||
vacuum_buffer_usage_limit |
整数 | 会话 | 2 MiB |
171 次 | |
| 指定 VACUUM 和 ANALYZE 命令使用的缓冲区访问策略的大小。 | 现存 | ||||
work_mem |
整数 | 会话 | 4 MiB |
9.41 次 | |
| 设置查询操作(如排序或 hash 表)在写入临时磁盘文件之前可使用的基础最大内存量。 | 现存 | ||||
| 磁盘 4 | |||||
file_copy_method |
枚举 | 会话 | copy |
— | |
| 指定用于复制文件的方法。 | 现存 | ||||
file_extend_method |
枚举 | 重载生效 | posix_fallocate |
— | |
| 指定在诸如 COPY 这类批量操作期间扩展数据文件时所使用的方法。 | 现存 | ||||
max_notify_queue_pages |
整数 | 重启生效 | 1048576 |
— | |
| 指定 NOTIFY / LISTEN 队列可分配页面的最大数量。 | 现存 | ||||
temp_file_limit |
整数 | 会话(超级用户) | -1 kB |
— | |
| 指定一个进程可用于临时文件的最大磁盘空间,例如排序和 hash 临时文件,或保留游标的存储文件。 | 现存 | ||||
| 内核资源 1 | |||||
max_files_per_process |
整数 | 重启生效 | 1000 |
131 次 | |
| 设置每个服务器子进程允许同时打开的最大文件数量。 | 现存 | ||||
| 计时 1 | |||||
timing_clock_source |
枚举 | — | — | ||
| 选择使用操作系统或专用 CPU 指令进行计时测量的方法。 | 现存 | ||||
| 后台写入器 4 | |||||
bgwriter_delay |
整数 | 重载生效 | 200 ms |
— | |
| 指定后台写入器各轮活动之间的延迟。 | 现存 | ||||
bgwriter_flush_after |
整数 | 重载生效 | 512 KiB (64 × 8kB) |
— | |
| 每当后台写入器写出的数据超过此数量时,就尝试强制操作系统将这些写操作发往底层存储。 | 现存 | ||||
bgwriter_lru_maxpages |
整数 | 重载生效 | 100 |
101 次 | |
| 后台写入器每轮写出的缓冲区数量不会超过此值。 | 现存 | ||||
bgwriter_lru_multiplier |
浮点 | 重载生效 | 2 |
— | |
| 每轮写出的脏缓冲区数量取决于最近几轮服务器进程所需的新缓冲区数量。 | 现存 | ||||
| I/O 12 | |||||
backend_flush_after |
整数 | 会话 | 0 B (0 × 8kB) |
— | |
| 每当单个后端写出的数据超过此数量时,就尝试强制操作系统将这些写操作发往底层存储。 | 现存 | ||||
effective_io_concurrency |
整数 | 会话 | 16 |
181 次 | |
| 设置 PostgreSQL 预期可以同时执行的并发存储 I/O 操作数量。 | 现存 | ||||
io_combine_limit |
整数 | 会话 | 128 KiB (16 × 8kB) |
181 次 | |
| 控制合并 I/O 操作时允许的最大 I/O 大小。 | 现存 | ||||
io_max_combine_limit |
整数 | 重启生效 | 128 KiB (16 × 8kB) |
— | |
| 控制合并 I/O 操作时允许的最大 I/O 大小,并会静默限制用户可设置的参数 io_combine_limit。 | 现存 | ||||
io_max_concurrency |
整数 | 重启生效 | -1 |
— | |
| 控制一个进程可以同时执行的最大 I/O 操作数。 | 现存 | ||||
io_max_workers |
整数 | — | — | ||
| 设置 I/O 工作进程的最大数量。 | 现存 | ||||
io_method |
枚举 | 重启生效 | worker |
— | |
| 选择执行异步 I/O 的方法。 | 现存 | ||||
io_min_workers |
整数 | — | — | ||
| 设置 I/O 工作进程的最小数量。 | 现存 | ||||
io_worker_idle_timeout |
整数 | — | — | ||
| 设置完全空闲的 I/O 工作进程退出前经过的时间,从而将池大小缩减到与需求匹配。 | 现存 | ||||
io_worker_launch_interval |
整数 | — | — | ||
| 设置启动另一个 I/O 工作进程之前的最短时间。 | 现存 | ||||
io_workers |
整数 | 重载生效 | 3 |
— | |
| 选择要使用的 I/O 工作进程数量。 | 于 19 移除 | ||||
maintenance_io_concurrency |
整数 | 会话 | 16 |
181 次 | |
| 与 effective_io_concurrency 类似,但用于为多个客户端会话执行的维护工作。 | 现存 | ||||
| 异步行为 1 | |||||
old_snapshot_threshold |
整数 | 重启生效 | -1 min |
— | |
| 设置查询快照在使用时不发生“snapshot too old”错误的最短可用时间。 | 于 17 移除 | ||||
| 工作进程 5 | |||||
max_parallel_maintenance_workers |
整数 | 会话 | 2 |
— | |
| 设置单个工具命令能够启动的并行工作进程的最大数量。 | 现存 | ||||
max_parallel_workers |
整数 | 会话 | 8 |
— | |
| 设置集簇能够为并行操作提供的工作进程的最大数量。 | 现存 | ||||
max_parallel_workers_per_gather |
整数 | 会话 | 2 |
101 次 | |
| 设置单个 Gather 或 Gather Merge 节点能够启动的工作进程的最大数量。 | 现存 | ||||
max_worker_processes |
整数 | 重启生效 | 8 |
9.61 次 | |
| 设置集簇能够支持的后台进程的最大数量。 | 现存 | ||||
parallel_leader_participation |
布尔 | 会话 | on |
— | |
| 允许领导者进程执行 Gather 和 Gather Merge 节点下的查询计划,而不是等待工作进程。 | 现存 | ||||
| Resource Usage 10 | |||||
bgwriter_all_maxpages |
整数 | — | — | ||
| 在每一轮中,由于对整个缓冲池的扫描而写出的缓冲区不会多于这个数目。 | 于 8.3 移除 | ||||
bgwriter_all_percent |
浮点 | — | — | ||
| 为了减少检查点时刻需要完成的工作量,后台写入器还会对整个缓冲池做循环扫描,写出发现为脏的缓冲区。 | 于 8.3 移除 | ||||
bgwriter_lru_percent |
浮点 | — | — | ||
| 为了降低服务器进程需要自己发出写操作的可能性,后台写入器会尝试写那些可能很快被回收的缓冲区。 | 于 8.3 移除 | ||||
bgwriter_maxpages |
整数 | — | — | ||
| 在每一轮中,写入的脏缓冲区不会超过这个数目。 | 于 8.1 移除 | ||||
bgwriter_percent |
整数 | — | — | ||
| 在每一轮中,写入的当前脏缓冲区不会超过这个百分比(任何小数部分都向上取整为整数个缓冲区)。 | 于 8.1 移除 | ||||
max_fsm_pages |
整数 | — | — | ||
| 设置共享空闲空间映射中跟踪其空闲空间的磁盘页面的最大数量。 | 于 8.4 移除 | ||||
max_fsm_relations |
整数 | — | — | ||
| 设置共享空闲空间映射中跟踪其空闲空间的关系(表和索引)的最大数量。 | 于 8.4 移除 | ||||
preload_libraries |
字符串 | — | — | ||
| 这个变量指定在服务器启动时预装载的一个或多个共享库。 | 于 8.2 移除 | ||||
sort_mem |
整数 | — | — | ||
| 指定内部排序操作和哈希表在切换到临时磁盘文件之前可使用的内存量。 | 于 8.0 移除 | ||||
vacuum_mem |
整数 | — | — | ||
| 指定 VACUUM 用于跟踪待回收行所用的最大内存量。 | 于 8.0 移除 | ||||
| 设置 15 | |||||
commit_delay |
整数 | 会话(超级用户) | 0 |
9.31 次 | |
| 设置 commit_delay 会在发起 WAL 刷盘之前添加时间延迟。 | 现存 | ||||
commit_siblings |
整数 | 会话 | 5 |
9.11 次 | |
| 执行 commit_delay 延迟前要求的并发活动事务的最小数目。 | 现存 | ||||
fsync |
布尔 | 重载生效 | on |
— | |
| 如果打开这个参数,PostgreSQL 服务器将尝试确保更新被物理地写入到磁盘,做法是发出 fsync() 系统调用或者使用多种等价的方法(见 wal_sync_method)。 | 现存 | ||||
full_page_writes |
布尔 | 重载生效 | on |
— | |
| 启用此参数时,PostgreSQL 服务器会在检查点之后首次修改每个磁盘页面时,将该页面的全部内容写入 WAL。 | 现存 | ||||
synchronous_commit |
枚举 | 会话 | on |
9.63 次 | |
| 指定数据库服务器向客户端返回“成功”指示之前,必须完成多少 WAL 处理。 | 现存 | ||||
wal_buffers |
整数 | 重启生效 | -1 8kB |
9.11 次 | |
| 用于还未写入磁盘的 WAL 数据的共享内存量。 | 现存 | ||||
wal_compression |
枚举 | 会话(超级用户) | off |
151 次 | |
| 此参数启用使用指定的压缩方法对 WAL 进行压缩。 | 现存 | ||||
wal_init_zero |
布尔 | 会话(超级用户) | on |
— | |
| 如果设置为 on(默认值),此选项会导致新的 WAL 文件被零填充。 | 现存 | ||||
wal_level |
枚举 | 重启生效 | replica |
103 次 | |
| wal_level 决定多少信息写入到 WAL 中。 | 现存 | ||||
wal_log_hints |
布尔 | 重启生效 | off |
— | |
| 当这个参数为 on 时,PostgreSQL 服务器在检查点之后首次修改页面时把该磁盘页面的整个内容都写入 WAL,即使对所谓的提示位做非关键修改也会这样做。 | 现存 | ||||
wal_recycle |
布尔 | 会话(超级用户) | on |
— | |
| 如果设置为 on(默认值),此选项通过重命名来回收 WAL 文件,从而避免创建新文件。 | 现存 | ||||
wal_skip_threshold |
整数 | 会话 | 2 MiB |
— | |
| 当 wal_level 为 minimal,且事务在创建或重写永久关系后提交时,此设置决定如何持久保存新数据。 | 现存 | ||||
wal_sync_method |
枚举 | 重载生效 | fdatasync |
8.41 次 | |
| 用于将 WAL 更新强制写入磁盘的方法。 | 现存 | ||||
wal_writer_delay |
整数 | 重载生效 | 200 ms |
— | |
| 指定 WAL 写入器刷写 WAL 的频繁程度,以时间为单位。 | 现存 | ||||
wal_writer_flush_after |
整数 | 重载生效 | 1 MiB (128 × 8kB) |
— | |
| 指定 WAL 写入器刷写 WAL 的频繁程度,按数据量衡量。 | 现存 | ||||
| 检查点 7 | |||||
checkpoint_completion_target |
浮点 | 重载生效 | 0.9 |
141 次 | |
| 指定检查点完成所用时间的目标值,以检查点之间总时间的比例表示。 | 现存 | ||||
checkpoint_flush_after |
整数 | 重载生效 | 256 KiB (32 × 8kB) |
— | |
| 当执行检查点时写入的数据量超过此数量时,就尝试强制 OS 把这些写发送到底层存储。 | 现存 | ||||
checkpoint_segments |
整数 | 重载生效 | 3 |
— | |
| 自动 WAL 检查点之间日志文件段的最大数量(每个段通常为 16 兆字节)。 | 于 9.5 移除 | ||||
checkpoint_timeout |
整数 | 重载生效 | 5 min |
9.61 次 | |
| 自动 WAL 检查点之间的最长时间。 | 现存 | ||||
checkpoint_warning |
整数 | 重载生效 | 30 s |
— | |
| 如果由于填充 WAL 段文件导致的检查点之间的间隔低于这个参数表示的时间量,那么就向服务器日志写一个消息(它建议增加 max_wal_size 的值)。 | 现存 | ||||
max_wal_size |
整数 | 重载生效 | 1 GiB |
101 次 | |
| 在自动检查点期间允许 WAL 增长的最大大小。 | 现存 | ||||
min_wal_size |
整数 | 重载生效 | 80 MiB |
101 次 | |
| 只要 WAL 磁盘用量保持在这个设置之下,在检查点时旧的 WAL 文件总是被回收以便未来使用,而不是直接被删除。 | 现存 | ||||
| 归档 4 | |||||
archive_command |
字符串 | 重载生效 | 空字符串 |
— | |
| 本地 shell 命令被执行来归档一个完成的 WAL 段文件。 | 现存 | ||||
archive_library |
字符串 | 重载生效 | 空字符串 |
— | |
| 用于归档已完成的 WAL 段文件的库。 | 现存 | ||||
archive_mode |
枚举 | 重启生效 | off |
9.51 次 | |
| 当启用 archive_mode 时,完成的 WAL 段会通过设置 archive_command 或 archive_library 发送到归档存储。 | 现存 | ||||
archive_timeout |
整数 | 重载生效 | 0 s |
— | |
| archive_command 或 archive_library 只针对已完成的 WAL 段调用。 | 现存 | ||||
| 恢复 2 | |||||
recovery_prefetch |
枚举 | 重载生效 | try |
— | |
| 是否在恢复期间尝试预取 WAL 中引用但尚未在缓冲池中的块。 | 现存 | ||||
wal_decode_buffer_size |
整数 | 重启生效 | 512 KiB |
— | |
| 服务器可以在 WAL 中查找预取块的最大提前量限制。 | 现存 | ||||
| 归档恢复 3 | |||||
archive_cleanup_command |
字符串 | 重载生效 | 空字符串 |
— | |
| 这个可选参数指定了一个 shell 命令,它将在每一个重启点被执行。 | 现存 | ||||
recovery_end_command |
字符串 | 重载生效 | 空字符串 |
— | |
| 这个参数指定了一个将只在恢复末尾被执行一次的 shell 命令。 | 现存 | ||||
restore_command |
字符串 | 重载生效 | 空字符串 |
141 次 | |
| 用于获取 WAL 文件系列的一个已归档段的本地 shell 命令。 | 现存 | ||||
| 恢复目标 8 | |||||
recovery_target |
字符串 | 重启生效 | 空字符串 |
201 次 | |
| 这个参数指定恢复应该在达到一个一致状态后尽快结束,即尽早结束。 | 现存 | ||||
recovery_target_action |
枚举 | 重启生效 | pause |
— | |
| 指定在达到恢复目标时服务器应该立刻采取的动作。 | 现存 | ||||
recovery_target_inclusive |
布尔 | 重启生效 | on |
— | |
| 指定我们是否仅在指定的恢复目标之后停止(on),或者仅在恢复目标之前停止(off)。 | 现存 | ||||
recovery_target_lsn |
字符串 | 重启生效 | 空字符串 |
— | |
| 此参数指定恢复要进行到的预写日志位置的 LSN。 | 现存 | ||||
recovery_target_name |
字符串 | 重启生效 | 空字符串 |
— | |
| 这个参数指定(pg_create_restore_point() 所创建)的已命名的恢复点,恢复将进行到该恢复点。 | 现存 | ||||
recovery_target_time |
字符串 | 重启生效 | 空字符串 |
— | |
| 此参数指定恢复要进行到的时间戳。 | 现存 | ||||
recovery_target_timeline |
字符串 | 重启生效 | latest |
— | |
| 指定恢复到一个特定的时间线中。 | 现存 | ||||
recovery_target_xid |
字符串 | 重启生效 | 空字符串 |
— | |
| 这个参数指定恢复要进行到的事务 ID。 | 现存 | ||||
| WAL 汇总 2 | |||||
summarize_wal |
布尔 | 重载生效 | off |
— | |
| 启用 WAL 汇总进程。 | 现存 | ||||
wal_summary_keep_time |
整数 | 重载生效 | 10 d |
— | |
| 配置 WAL 汇总器自动删除旧 WAL 汇总文件之前保留它们的时间。 | 现存 | ||||
| 发送服务器 12 | |||||
idle_replication_slot_timeout |
整数 | 重载生效 | 0 s |
— | |
| 使保持空闲状态(未被复制连接使用)超过此持续时间的复制槽失效。 | 现存 | ||||
max_repack_replication_slots |
整数 | — | — | ||
| 指定可供 REPACK 命令使用的复制槽最大数量。 | 现存 | ||||
max_replication_slots |
整数 | 重启生效 | 10 |
102 次 | |
| 指定服务器可以支持的复制槽(见第 26.2.6 节)最大数量。 | 现存 | ||||
max_slot_wal_keep_size |
整数 | 重载生效 | -1 MB |
— | |
| 指定检查点时复制槽允许在 pg_wal 目录中保留的 WAL 文件最大总量。 | 现存 | ||||
max_wal_senders |
整数 | 重启生效 | 10 |
103 次 | |
| 指定来自备库或流式基础备份客户端的最大并发连接数(即同时运行的 WAL 发送进程的最大数量)。 | 现存 | ||||
output_plugin_libraries |
字符串 | 会话(超级用户) | pgoutput, test_decoding |
— | |
| 列出安装在 dynamic_library_path 所指定位置中、同时也受信任、可供复制客户端用作逻辑输出插件的库。 | 现存 | ||||
replication_timeout |
整数 | 重载生效 | 1 min |
— | |
| 终止不活动时间超过指定毫秒数的复制连接。 | 于 9.3 移除 | ||||
track_commit_timestamp |
布尔 | 重启生效 | off |
— | |
| 记录事务的提交时间。 | 现存 | ||||
wal_keep_segments |
整数 | 重载生效 | 0 |
— | |
| 指定在 pg_wal 目录中保留的过去日志文件段的最小数量,以便备库可能需要获取它们来进行流复制。 | 于 13 移除 | ||||
wal_keep_size |
整数 | 重载生效 | 0 B |
— | |
| 指定在 pg_wal 目录中保留的旧 WAL 文件的最小总量,以便备库需要时获取这些文件进行流复制。 | 现存 | ||||
wal_sender_shutdown_timeout |
整数 | — | — | ||
| 指定服务器在关闭期间等待所有 WAL 数据复制到接收端的最长时间。 | 现存 | ||||
wal_sender_timeout |
整数 | 会话 | 1 min |
121 次 | |
| 终止非活动时间超过此值的复制连接。 | 现存 | ||||
| 主服务器 1 | |||||
wal_sender_delay |
整数 | 重载生效 | 1 s |
9.11 次 | |
| 指定 WAL 发送进程各轮活动之间的延迟。 | 于 9.2 移除 | ||||
| 主库 3 | |||||
synchronized_standby_slots |
字符串 | 重载生效 | 空字符串 |
— | |
| 逻辑 WAL 发送进程将等待的流复制备库槽名称的逗号分隔列表。 | 现存 | ||||
synchronous_standby_names |
字符串 | 重载生效 | 空字符串 |
— | |
| 如第 26.2.8 节所述,这个参数指定一个支持同步复制的备库的列表。 | 现存 | ||||
vacuum_defer_cleanup_age |
整数 | 重载生效 | 0 |
— | |
| 指定 VACUUM 和 HOT 更新延迟清理死行版本的事务数。 | 于 16 移除 | ||||
| 备库 13 | |||||
hot_standby |
布尔 | 重启生效 | on |
101 次 | |
| 指定在恢复期间,你是否能够连接并运行查询,如第 26.4 节中所述。 | 现存 | ||||
hot_standby_feedback |
布尔 | 重载生效 | off |
— | |
| 指定一个热备机是否将会向主库或上游备库发送有关于备库上当前正被执行的查询的反馈。 | 现存 | ||||
max_standby_archive_delay |
整数 | 重载生效 | 30 s |
9.11 次 | |
| 当热备处于活动状态时,此参数确定备库在取消与即将应用的 WAL 条目冲突的备库查询之前应等待多长时间,如第 26.4.2 节中所述。 | 现存 | ||||
max_standby_streaming_delay |
整数 | 重载生效 | 30 s |
9.11 次 | |
| 当热备处于活动状态时,此参数确定备库在取消与即将应用的 WAL 条目冲突的备库查询之前应等待多长时间,如第 26.4.2 节中所述。 | 现存 | ||||
primary_conninfo |
字符串 | 重载生效 | 空字符串 |
131 次 | |
| 指定备库用来连接发送服务器的连接字符串。 | 现存 | ||||
primary_slot_name |
字符串 | 重载生效 | 空字符串 |
131 次 | |
| 可选地指定通过流复制连接到发送服务器时使用一个现有的复制槽来控制上游节点上的资源移除(见第 26.2.6 节)。 | 现存 | ||||
promote_trigger_file |
字符串 | 重载生效 | 空字符串 |
— | |
| 指定一个触发文件,该文件的存在会结束备库上的恢复。 | 于 16 移除 | ||||
recovery_min_apply_delay |
整数 | 重载生效 | 0 ms |
— | |
| 默认情况下,备库会尽快恢复来自发送服务器的 WAL 记录。 | 现存 | ||||
sync_replication_slots |
布尔 | 重载生效 | off |
— | |
| 使物理备库能够从主库同步逻辑故障切换槽,以便逻辑订阅者在故障切换后能够从新的主库恢复复制。 | 现存 | ||||
wal_receiver_create_temp_slot |
布尔 | 重载生效 | off |
— | |
| 指定在未使用 primary_slot_name 配置要使用的永久复制槽时,WAL 接收进程是否应在远程实例上创建临时复制槽。 | 现存 | ||||
wal_receiver_status_interval |
整数 | 重载生效 | 10 s |
— | |
| 指定在备库上的 WAL 接收进程向主库或上游备库发送有关复制进度的信息的最小频度,它可以使用 pg_stat_replication 视图看到。 | 现存 | ||||
wal_receiver_timeout |
整数 | 重载生效 | 1 min |
191 次 | |
| 中止处于非活动状态超过这个时间量的复制连接。 | 现存 | ||||
wal_retrieve_retry_interval |
整数 | 重载生效 | 5 s |
— | |
| 指定当从任何来源(物理流复制、本地 pg_wal 或者 WAL 归档)都得不到 WAL 数据时,备库应该等待多久才去重新尝试获取 WAL 数据。 | 现存 | ||||
| 订阅者 4 | |||||
max_active_replication_origins |
整数 | 重启生效 | 10 |
— | |
| 指定同时可以跟踪多少个复制源(参见第 48 章),从而实际上限制了服务器上可以创建多少逻辑复制订阅。 | 现存 | ||||
max_logical_replication_workers |
整数 | 重启生效 | 4 |
— | |
| 指定逻辑复制工作进程的最大数量,其中包括领导者应用工作进程、并行应用工作进程和表/序列同步工作进程。 | 现存 | ||||
max_parallel_apply_workers_per_subscription |
整数 | 重载生效 | 2 |
— | |
| 每个订阅可使用的并行应用工作进程最大数。 | 现存 | ||||
max_sync_workers_per_subscription |
整数 | 重载生效 | 2 |
— | |
| 每个订阅允许的最大同步工作进程数。 | 现存 | ||||
| 规划器方法配置 26 | |||||
enable_async_append |
布尔 | 会话 | on |
— | |
| 启用或禁用查询规划器对支持异步执行的 append 计划类型的使用。 | 现存 | ||||
enable_bitmapscan |
布尔 | 会话 | on |
— | |
| 启用或禁用查询规划器对位图扫描计划类型的使用。 | 现存 | ||||
enable_distinct_reordering |
布尔 | 会话 | on |
— | |
| 启用或禁用查询规划器重新排序 DISTINCT 键以匹配输入路径的路径键的能力。 | 现存 | ||||
enable_eager_aggregate |
布尔 | — | — | ||
| 启用或禁用查询规划器使用急切聚合的能力,即将聚合部分地下推到连接之前,并在所有关系完成连接后再做最终聚合。 | 现存 | ||||
enable_gathermerge |
布尔 | 会话 | on |
— | |
| 启用或禁用查询规划器对收集归并计划类型的使用。 | 现存 | ||||
enable_group_by_reordering |
布尔 | 会话 | on |
— | |
| 控制查询规划器是否生成让 GROUP BY 键按照计划子节点(例如索引扫描)的键顺序排序的计划。 | 现存 | ||||
enable_groupagg |
布尔 | — | — | ||
| 启用或禁用查询规划器使用基于排序的分组和聚合计划类型。 | 现存 | ||||
enable_hashagg |
布尔 | 会话 | on |
— | |
| 启用或禁用查询规划器对 hash 聚合计划类型的使用。 | 现存 | ||||
enable_hashjoin |
布尔 | 会话 | on |
— | |
| 启用或禁用查询规划器对哈希连接计划类型的使用。 | 现存 | ||||
enable_incremental_sort |
布尔 | 会话 | on |
— | |
| 启用或禁用查询规划器对增量排序步骤的使用。 | 现存 | ||||
enable_indexonlyscan |
布尔 | 会话 | on |
— | |
| 启用或禁用查询规划器对仅索引扫描计划类型的使用(参见第 11.9 节)。 | 现存 | ||||
enable_indexscan |
布尔 | 会话 | on |
— | |
| 启用或禁用查询规划器对索引扫描和仅索引扫描计划类型的使用。 | 现存 | ||||
enable_material |
布尔 | 会话 | on |
— | |
| 允许或者禁止查询规划器使用物化。 | 现存 | ||||
enable_memoize |
布尔 | 会话 | on |
— | |
| 启用或禁用查询规划器使用 memoize 计划来缓存嵌套循环连接中参数化扫描的结果。 | 现存 | ||||
enable_mergejoin |
布尔 | 会话 | on |
— | |
| 启用或禁用查询规划器对归并连接计划类型的使用。 | 现存 | ||||
enable_nestloop |
布尔 | 会话 | on |
— | |
| 允许或禁止查询规划器使用嵌套循环连接计划。 | 现存 | ||||
enable_parallel_append |
布尔 | 会话 | on |
— | |
| 启用或禁用查询规划器对支持并行执行的 append 计划类型的使用。 | 现存 | ||||
enable_parallel_hash |
布尔 | 会话 | on |
— | |
| 启用或禁用查询规划器对使用并行 hash 的哈希连接计划类型的使用。 | 现存 | ||||
enable_partition_pruning |
布尔 | 会话 | on |
— | |
| 允许或者禁止查询规划器从查询计划中消除一个分区表的分区。 | 现存 | ||||
enable_partitionwise_aggregate |
布尔 | 会话 | off |
— | |
| 启用或禁用查询规划器对分区分组或聚合的使用,使分区表上的分组或聚合可以在各个分区上分别执行。 | 现存 | ||||
enable_partitionwise_join |
布尔 | 会话 | off |
— | |
| 启用或禁用查询规划器对分区连接的使用,使分区表之间的连接可以通过连接相匹配的分区来完成。 | 现存 | ||||
enable_presorted_aggregate |
布尔 | 会话 | on |
— | |
| 控制查询规划器是否生成这样的计划:提供的行已按查询中带有 ORDER BY / DISTINCT 的聚合函数所要求的顺序预先排序。 | 现存 | ||||
enable_self_join_elimination |
布尔 | 会话 | on |
— | |
| 启用或禁用查询规划器的一项优化,该优化会分析查询树并将自连接替换为语义等价的单次扫描。 | 现存 | ||||
enable_seqscan |
布尔 | 会话 | on |
— | |
| 允许或禁止查询规划器使用顺序扫描计划类型。 | 现存 | ||||
enable_sort |
布尔 | 会话 | on |
— | |
| 允许或禁止查询规划器使用显式排序步骤。 | 现存 | ||||
enable_tidscan |
布尔 | 会话 | on |
— | |
| 允许或禁止查询规划器使用 TID 扫描计划类型。 | 现存 | ||||
| 规划器代价常量 15 | |||||
cpu_index_tuple_cost |
浮点 | 会话 | 0.005 |
— | |
| 设置规划器对一次索引扫描中处理每一个索引项的代价估计。 | 现存 | ||||
cpu_operator_cost |
浮点 | 会话 | 0.0025 |
— | |
| 设置规划器对于一次查询中处理每个操作符或函数的代价估计。 | 现存 | ||||
cpu_tuple_cost |
浮点 | 会话 | 0.01 |
— | |
| 设置规划器对一次查询中处理每一行的代价估计。 | 现存 | ||||
effective_cache_size |
整数 | 会话 | 4 GiB (524288 × 8kB) |
9.42 次 | |
| 设置规划器对一个单一查询可用的有效磁盘缓存尺寸的假设。 | 现存 | ||||
jit_above_cost |
浮点 | 会话 | 100000 |
— | |
| 设置激活 JIT 编译的查询代价,如果查询代价超过这个值就会激活 JIT 编译(如果启用了 JIT,见第 30 章)。 | 现存 | ||||
jit_inline_above_cost |
浮点 | 会话 | 500000 |
— | |
| 设置 JIT 编译尝试内联函数和操作符的查询代价阈值,如果查询代价超过这个值,JIT 编译就会尝试内联。 | 现存 | ||||
jit_optimize_above_cost |
浮点 | 会话 | 500000 |
— | |
| 设置 JIT 编译应用优化的查询代价阈值,如果查询代价超过这个值,JIT 编译就会应用开销较大的优化。 | 现存 | ||||
min_eager_agg_group_size |
浮点 | — | — | ||
| 设置考虑应用急切聚合所需的最小平均分组大小。 | 现存 | ||||
min_parallel_index_scan_size |
整数 | 会话 | 512 KiB (64 × 8kB) |
— | |
| 设置考虑使用并行扫描时必须扫描的最小索引数据量。 | 现存 | ||||
min_parallel_relation_size |
整数 | 会话 | 8 MiB (1024 × 8kB) |
— | |
| 设置为并行扫描所考虑的关系的最小尺寸。 | 于 10 移除 | ||||
min_parallel_table_scan_size |
整数 | 会话 | 8 MiB (1024 × 8kB) |
— | |
| 设置考虑使用并行扫描时必须扫描的最小表数据量。 | 现存 | ||||
parallel_setup_cost |
浮点 | 会话 | 1000 |
— | |
| 设置规划器对启动并行工作进程的代价估计。 | 现存 | ||||
parallel_tuple_cost |
浮点 | 会话 | 0.1 |
— | |
| 设置规划器对于从一个并行工作进程传递一个元组给另一个进程的代价估计。 | 现存 | ||||
random_page_cost |
浮点 | 会话 | 4 |
— | |
| 设置规划器对一次非顺序磁盘页面读取的代价估计。 | 现存 | ||||
seq_page_cost |
浮点 | 会话 | 1 |
— | |
| 设置规划器对一系列顺序磁盘页面读取中单次读取的代价估计。 | 现存 | ||||
| 遗传查询优化 7 | |||||
geqo |
布尔 | 会话 | on |
— | |
| 允许或禁止遗传查询优化。 | 现存 | ||||
geqo_effort |
整数 | 会话 | 5 |
— | |
| 控制 GEQO 中规划时间和查询计划质量之间的权衡。 | 现存 | ||||
geqo_generations |
整数 | 会话 | 0 |
— | |
| 控制 GEQO 使用的代数,即算法的迭代次数。 | 现存 | ||||
geqo_pool_size |
整数 | 会话 | 0 |
— | |
| 控制 GEQO 使用的池大小,它就是遗传种群中的个体数目。 | 现存 | ||||
geqo_seed |
浮点 | 会话 | 0 |
— | |
| 控制 GEQO 使用的随机数生成器的初始值,随机数生成器用于在连接顺序搜索空间中选择随机路径。 | 现存 | ||||
geqo_selection_bias |
浮点 | 会话 | 2 |
8.01 次 | |
| 控制 GEQO 使用的选择偏好。 | 现存 | ||||
geqo_threshold |
整数 | 会话 | 12 |
— | |
| 对涉及至少这么多个 FROM 项的查询,使用遗传查询优化来生成计划。 | 现存 | ||||
| 其他规划器选项 8 | |||||
constraint_exclusion |
枚举 | 会话 | partition |
8.41 次 | |
| 控制查询规划器对表约束的使用,以优化查询。 | 现存 | ||||
cursor_tuple_fraction |
浮点 | 会话 | 0.1 |
— | |
| 设置规划器对将被检索的一个游标的行的比例的估计。 | 现存 | ||||
default_statistics_target |
整数 | 会话 | 100 |
— | |
| 为没有通过 ALTER TABLE SET STATISTICS 设置列相关目标的表列设置默认统计目标。 | 现存 | ||||
from_collapse_limit |
整数 | 会话 | 8 |
— | |
| 如果生成的 FROM 列表不超过这么多项,规划器将把子查询融合到上层查询。 | 现存 | ||||
jit |
布尔 | 会话 | on |
192 次 | |
| 决定如果可用(见第 30 章),PostgreSQL 是否可以使用 JIT 编译。 | 现存 | ||||
join_collapse_limit |
整数 | 会话 | 8 |
— | |
| 如果得出的列表中不超过这么多项,那么规划器将把显式 JOIN(除了 FULL JOIN)结构重写到 FROM 项列表中。 | 现存 | ||||
plan_cache_mode |
枚举 | 会话 | auto |
— | |
| 预备语句(无论是显式预备的,还是由 PL/pgSQL 等隐式生成的)可以使用自定义计划或通用计划执行。 | 现存 | ||||
recursive_worktable_factor |
浮点 | 会话 | 10 |
— | |
| 设置规划器对递归查询的工作表的平均大小的估计值,作为查询初始非递归项的估计大小的倍数。 | 现存 | ||||
| 记录到哪里 14 | |||||
event_source |
字符串 | 重启生效 | PostgreSQL |
— | |
| 当启用了向事件日志记录时,这个参数决定用来标识日志中 PostgreSQL 消息的程序名。 | 现存 | ||||
log_destination |
字符串 | 重载生效 | stderr |
— | |
| PostgreSQL 支持多种记录服务器消息的方法,包括 stderr,csvlog,jsonlog 和 syslog。 | 现存 | ||||
log_directory |
字符串 | 重载生效 | log |
101 次 | |
| 当 logging_collector 被启用时,这个参数决定日志文件将被在哪个目录下创建。 | 现存 | ||||
log_file_mode |
整数 | 重载生效 | 384 |
— | |
| 在 Unix 系统上,当 logging_collector 被启用时,这个参数设置日志文件的权限(在微软 Windows 上这个参数将被忽略)。 | 现存 | ||||
log_filename |
字符串 | 重载生效 | postgresql-%Y-%m-%d_%H%M%S.log |
— | |
| 当 logging_collector 被启用时,这个参数设置被创建的日志文件的文件名。 | 现存 | ||||
log_rotation_age |
整数 | 重载生效 | 1 d |
— | |
| 当 logging_collector 被启用时,这个参数决定单个日志文件使用的最长时间,超过后创建一个新的日志文件。 | 现存 | ||||
log_rotation_size |
整数 | 重载生效 | 10 MiB |
181 次 | |
| 当 logging_collector 被启用时,这个参数决定单个日志文件的最大尺寸。 | 现存 | ||||
log_truncate_on_rotation |
布尔 | 重载生效 | off |
— | |
| 当 logging_collector 被启用时,这个参数将导致 PostgreSQL 截断(覆盖而不是追加)任何已有的同名日志文件。 | 现存 | ||||
logging_collector |
布尔 | 重启生效 | off |
— | |
| 这个参数启用日志收集器,它是一个捕捉被发送到 stderr 的日志消息的后台进程,并且它会将这些消息重定向到日志文件中。 | 现存 | ||||
silent_mode |
布尔 | 重启生效 | off |
— | |
| 静默地运行服务器。 | 于 9.2 移除 | ||||
syslog_facility |
枚举 | 重载生效 | local0 |
8.41 次 | |
| 当启用了向 syslog 记录时,这个参数决定要使用的 syslog“设施”。 | 现存 | ||||
syslog_ident |
字符串 | 重载生效 | postgres |
— | |
| 当启用了向 syslog 记录时,这个参数决定用来标识 syslog 中的 PostgreSQL 消息的程序名。 | 现存 | ||||
syslog_sequence_numbers |
布尔 | 重载生效 | on |
— | |
| 当日志被记录到 syslog 并且这个设置为 on(默认)时,每一个消息会被加上一个增长的序号作为前缀(例如[2])。 | 现存 | ||||
syslog_split_messages |
布尔 | 重载生效 | on |
— | |
| 当启用把日志记录到 syslog 时,这个参数决定消息如何送达 syslog。 | 现存 | ||||
| 何时记录 7 | |||||
log_min_duration_sample |
整数 | 会话(超级用户) | -1 ms |
— | |
| 允许对运行时间至少达到指定时间的已完成语句进行采样。 | 现存 | ||||
log_min_duration_statement |
整数 | 会话(超级用户) | -1 ms |
9.11 次 | |
| 记录每个已完成语句的持续时间,如果语句运行时间至少达到指定时间。 | 现存 | ||||
log_min_error_statement |
枚举 | 会话(超级用户) | error |
8.41 次 | |
| 控制在服务器日志中记录哪些导致错误条件的 SQL 语句。 | 现存 | ||||
log_min_messages |
枚举 | 会话(超级用户) | warning |
192 次 | |
| 控制将哪些消息级别写入服务器日志。 | 现存 | ||||
log_startup_progress_interval |
整数 | 重载生效 | 10 s |
— | |
| 设置启动进程在长时间运行的操作开始后,等待多久才记录第一条进度消息,以及此后该操作的进度消息之间的时间间隔。 | 现存 | ||||
log_statement_sample_rate |
浮点 | 会话(超级用户) | 1 |
— | |
| 确定持续时间超过 log_min_duration_sample 的语句中,将被记录的语句比例。 | 现存 | ||||
log_transaction_sample_rate |
浮点 | 会话(超级用户) | 0 |
— | |
| 设置需要记录全部语句的事务比例,这些记录是在因其他原因记录的语句之外额外进行的。 | 现存 | ||||
| 记录什么 25 | |||||
application_name |
字符串 | 会话 | 空字符串 |
— | |
| application_name 可以是任意小于 NAMEDATALEN 个字符(标准编译中是 64 个字符)的字符串。 | 现存 | ||||
debug_pretty_print |
布尔 | 会话 | on |
— | |
| 当被设置时,debug_pretty_print 会缩进由 debug_print_raw_parse、debug_print_parse、debug_print_rewritten 或 debug_print_plan 产生的输出。 | 现存 | ||||
debug_print_parse |
布尔 | 会话 | off |
— | |
| 这些参数会启用多种调试输出。 | 现存 | ||||
debug_print_plan |
布尔 | 会话 | off |
— | |
| 这些参数会启用多种调试输出。 | 现存 | ||||
debug_print_raw_parse |
布尔 | — | — | ||
| 这些参数会启用多种调试输出。 | 现存 | ||||
debug_print_rewritten |
布尔 | 会话 | off |
— | |
| 这些参数会启用多种调试输出。 | 现存 | ||||
log_autoanalyze_min_duration |
整数 | — | — | ||
| 当自动清理执行的分析操作运行时间至少达到指定时间时,就会记录该操作。 | 现存 | ||||
log_autovacuum_min_duration |
整数 | 重载生效 | 10 min |
152 次 | |
| 当自动清理执行的清理操作运行时间至少达到指定时间时,就会记录该操作。 | 现存 | ||||
log_checkpoints |
布尔 | 重载生效 | on |
151 次 | |
| 导致检查点和重启点在服务器日志中记录。 | 现存 | ||||
log_connections |
字符串 | 连接时(超级用户) | 空字符串 |
182 次 | |
| 控制是否记录到服务器的每次连接的相关信息。 | 现存 | ||||
log_disconnections |
布尔 | 连接时(超级用户) | off |
9.51 次 | |
| 导致会话终止被记录。 | 现存 | ||||
log_duration |
布尔 | 会话(超级用户) | off |
— | |
| 记录每个已完成语句的持续时间。 | 现存 | ||||
log_error_verbosity |
枚举 | 会话(超级用户) | default |
8.41 次 | |
| 控制在服务器日志中记录的每条消息的详细程度。 | 现存 | ||||
log_hostname |
布尔 | 重载生效 | off |
— | |
| 默认情况下,连接日志消息只显示连接主机的 IP 地址。 | 现存 | ||||
log_line_prefix |
字符串 | 重载生效 | %m [%p] |
101 次 | |
| 这是一个 printf 风格的字符串,它在发送到 stderr、syslog 或 eventlog 的每条日志条目的开头输出。 | 现存 | ||||
log_lock_failures |
布尔 | 会话(超级用户) | off |
— | |
| 控制当获取锁失败时是否生成详细日志消息。 | 现存 | ||||
log_lock_waits |
布尔 | 会话(超级用户) | off |
191 次 | |
| 控制会话为获取锁而等待的时间超过 deadlock_timeout 时是否生成日志消息。 | 现存 | ||||
log_parameter_max_length |
整数 | 会话(超级用户) | -1 B |
— | |
| 如果大于零,则记录在非错误语句日志消息中的每个绑定参数值都会被截断为指定的字节数。 | 现存 | ||||
log_parameter_max_length_on_error |
整数 | 会话 | 0 B |
— | |
| 如果大于零,则错误消息中报告的每个绑定参数值都将裁剪为这么多字节。 | 现存 | ||||
log_recovery_conflict_waits |
布尔 | 重载生效 | off |
— | |
| 控制启动进程因恢复冲突而等待超过 deadlock_timeout 时是否产生日志消息。 | 现存 | ||||
log_replication_commands |
布尔 | 会话(超级用户) | off |
— | |
| 在服务器日志中记录每个复制命令,以及 walsender 进程获取和释放复制槽的操作。 | 现存 | ||||
log_statement |
枚举 | 会话(超级用户) | none |
8.42 次 | |
| 控制哪些 SQL 语句被记录。 | 现存 | ||||
log_statement_max_length |
整数 | — | — | ||
| 如果大于零,通过 log_statement、log_min_duration_statement、log_min_duration_sample 或 log_transaction_sample_rate 记录的每条语句,其文本都会被截断为最多这么多字节。 | 现存 | ||||
log_temp_files |
整数 | 会话(超级用户) | -1 kB |
— | |
| 控制临时文件名和大小的日志记录。 | 现存 | ||||
log_timezone |
字符串 | 重载生效 | GMT |
9.22 次 | |
| 设置在服务器日志中写入的时间戳的时区。 | 现存 | ||||
| 进程标题 2 | |||||
cluster_name |
字符串 | 重启生效 | 空字符串 |
— | |
| 设置一个用于各种目的、标识此数据库集簇(实例)的名称。 | 现存 | ||||
update_process_title |
布尔 | 会话(超级用户) | on |
— | |
| 启用后,每次服务器接收到新的 SQL 命令时都会更新进程标题。 | 现存 | ||||
| Reporting and Logging 5 | |||||
log_pid |
布尔 | — | — | ||
| 在服务器日志文件的每条消息前加上服务器进程的进程 ID。 | 于 8.0 移除 | ||||
log_source_port |
布尔 | — | — | ||
| 在连接日志消息中显示连接主机的源端口号。 | 于 8.0 移除 | ||||
log_timestamp |
布尔 | — | — | ||
| 在服务器日志的每条消息前加上时间戳。 | 于 8.0 移除 | ||||
redirect_stderr |
布尔 | — | — | ||
| 这个参数允许把发送到stderr的消息捕获并重定向到日志文件中。 | 于 8.3 移除 | ||||
syslog |
整数 | — | — | ||
| PostgreSQL 允许使用 syslog 记录日志。 | 于 8.0 移除 | ||||
| 累积查询和索引统计 8 | |||||
stats_fetch_consistency |
枚举 | 会话 | cache |
— | |
| 确定在事务中多次访问累积统计信息时的行为。 | 现存 | ||||
track_activities |
布尔 | 会话(超级用户) | on |
— | |
| 启用对每个会话当前执行命令的信息收集,包括其标识符和命令开始执行的时间。 | 现存 | ||||
track_activity_query_size |
整数 | 重启生效 | 1 KiB |
132 次 | |
| 为每个活动会话指定存储当前执行命令的文本所预留的内存量,它们被用于 pg_stat_activity.query 字段。 | 现存 | ||||
track_cost_delay_timing |
布尔 | 会话(超级用户) | off |
— | |
| 启用基于代价的清理延迟计时(参见第 19.10.2 节)。 | 现存 | ||||
track_counts |
布尔 | 会话(超级用户) | on |
— | |
| 启用对数据库活动的统计信息收集。 | 现存 | ||||
track_functions |
枚举 | 会话(超级用户) | none |
— | |
| 启用函数调用次数和耗时的跟踪。 | 现存 | ||||
track_io_timing |
布尔 | 会话(超级用户) | off |
— | |
| 启用数据库 I/O 等待的计时。 | 现存 | ||||
track_wal_io_timing |
布尔 | 会话(超级用户) | off |
— | |
| 启用 WAL I/O 等待的计时。 | 现存 | ||||
| 查询和索引统计收集器 1 | |||||
stats_temp_directory |
字符串 | 重载生效 | pg_stat_tmp |
— | |
| 设置存放临时统计信息数据的目录。 | 于 15 移除 | ||||
| 统计监控 5 | |||||
compute_query_id |
枚举 | 会话(超级用户) | auto |
— | |
| 启用内置的查询标识符计算功能。 | 现存 | ||||
log_executor_stats |
布尔 | 会话(超级用户) | off |
— | |
| 对于每个查询,将各自模块的性能统计输出到服务器日志中。 | 现存 | ||||
log_parser_stats |
布尔 | 会话(超级用户) | off |
— | |
| 对于每个查询,将各自模块的性能统计输出到服务器日志中。 | 现存 | ||||
log_planner_stats |
布尔 | 会话(超级用户) | off |
— | |
| 对于每个查询,将各自模块的性能统计输出到服务器日志中。 | 现存 | ||||
log_statement_stats |
布尔 | 会话(超级用户) | off |
— | |
| 对于每个查询,将各自模块的性能统计输出到服务器日志中。 | 现存 | ||||
| Statistics 5 | |||||
stats_block_level |
布尔 | — | — | ||
| 启用对数据库活动的块级统计收集。 | 于 8.3 移除 | ||||
stats_command_string |
布尔 | — | — | ||
| 启用对每个会话当前正在执行的命令的信息收集,包括该命令开始执行的时间。 | 于 8.3 移除 | ||||
stats_reset_on_server_start |
布尔 | — | — | ||
| 如果打开,已收集的块级和行级统计会在每次服务器重启时清零。 | 于 8.3 移除 | ||||
stats_row_level |
布尔 | — | — | ||
| 启用对数据库活动的行级统计收集。 | 于 8.3 移除 | ||||
stats_start_collector |
布尔 | — | — | ||
| 控制服务器是否应启动统计收集子进程。 | 于 8.3 移除 | ||||
| 自动清理 21 | |||||
autovacuum |
布尔 | 重载生效 | on |
— | |
| 控制服务器是否运行自动清理启动器后台进程。 | 现存 | ||||
autovacuum_analyze_scale_factor |
浮点 | 重载生效 | 0.1 |
— | |
| 指定一个表尺寸的分数,在决定是否触发 ANALYZE 时将它加到 autovacuum_analyze_threshold 上。 | 现存 | ||||
autovacuum_analyze_score_weight |
浮点 | — | — | ||
| 指定自动清理在确定优先级时所用评分中,分析阈值分量的缩放因子。 | 现存 | ||||
autovacuum_analyze_threshold |
整数 | 重载生效 | 50 |
— | |
| 指定能在一个表上触发 ANALYZE 的被插入、被更新或被删除元组的最小数量。 | 现存 | ||||
autovacuum_freeze_max_age |
整数 | 重启生效 | 200000000 |
— | |
| 指定在必须强制执行 VACUUM 以防止表内事务 ID 回卷之前,一个表的 pg_class.relfrozenxid 字段可以达到的最大年龄(以事务计)。 | 现存 | ||||
autovacuum_freeze_score_weight |
浮点 | — | — | ||
| 指定自动清理在确定优先级时所用评分中,事务 ID 年龄分量的缩放因子。 | 现存 | ||||
autovacuum_max_parallel_workers |
整数 | — | — | ||
| 设置单个自动清理工作进程在处理索引时可使用的并行工作进程最大数量。 | 现存 | ||||
autovacuum_max_workers |
整数 | 重载生效 | 3 |
183 次 | |
| 指定能同时运行的自动清理进程(除了自动清理启动器之外)的最大数量。 | 现存 | ||||
autovacuum_multixact_freeze_max_age |
整数 | 重启生效 | 400000000 |
— | |
| 指定在必须强制执行 VACUUM 以防止表内多事务 ID 回卷之前,一个表的 pg_class.relminmxid 字段可以达到的最大年龄(以多事务计)。 | 现存 | ||||
autovacuum_multixact_freeze_score_weight |
浮点 | — | — | ||
| 指定自动清理在确定优先级时所用评分中,多事务 ID 年龄分量的缩放因子。 | 现存 | ||||
autovacuum_naptime |
整数 | 重载生效 | 1 min |
— | |
| 指定自动清理在任意给定数据库上各次运行之间的最小间隔。 | 现存 | ||||
autovacuum_vacuum_cost_delay |
浮点 | 重载生效 | 2 ms |
121 次 | |
| 指定用于自动 VACUUM 操作中的代价延迟值。 | 现存 | ||||
autovacuum_vacuum_cost_limit |
整数 | 重载生效 | -1 |
— | |
| 指定用于自动 VACUUM 操作中的代价限制值。 | 现存 | ||||
autovacuum_vacuum_insert_scale_factor |
浮点 | 重载生效 | 0.2 |
— | |
| 指定表中未冻结页面的比例,在决定是否触发 VACUUM 时,将由该比例计算出的数量加到 autovacuum_vacuum_insert_threshold 上。 | 现存 | ||||
autovacuum_vacuum_insert_score_weight |
浮点 | — | — | ||
| 指定自动清理在确定优先级时所用评分中,由插入触发的清理阈值分量的缩放因子。 | 现存 | ||||
autovacuum_vacuum_insert_threshold |
整数 | 重载生效 | 1000 |
— | |
| 指定在任何一个表中触发 VACUUM 所需要插入的元组数。 | 现存 | ||||
autovacuum_vacuum_max_threshold |
整数 | 重载生效 | 100000000 |
— | |
| 指定在任意一个表上触发 VACUUM 所需更新或删除元组数的最大值,也就是对 autovacuum_vacuum_threshold 和 autovacuum_vacuum_scale_factor 计算结果所施加的上限。 | 现存 | ||||
autovacuum_vacuum_scale_factor |
浮点 | 重载生效 | 0.2 |
— | |
| 指定一个表尺寸的分数,在决定是否触发 VACUUM 时将它加到 autovacuum_vacuum_threshold 上。 | 现存 | ||||
autovacuum_vacuum_score_weight |
浮点 | — | — | ||
| 指定自动清理在确定优先级时所用评分中,清理阈值分量的缩放因子。 | 现存 | ||||
autovacuum_vacuum_threshold |
整数 | 重载生效 | 50 |
— | |
| 指定能在一个表上触发 VACUUM 的被更新或被删除元组的最小数量。 | 现存 | ||||
autovacuum_worker_slots |
整数 | 重启生效 | 16 |
— | |
| 指定为自动清理工作进程保留的后端槽位数。 | 现存 | ||||
| 基于代价的清理延迟 5 | |||||
vacuum_cost_delay |
浮点 | 会话 | 0 ms |
121 次 | |
| 超过代价上限后,进程将休眠的时长。 | 现存 | ||||
vacuum_cost_limit |
整数 | 会话 | 200 |
— | |
| 会使清理进程休眠 vacuum_cost_delay 指定时长的累计代价。 | 现存 | ||||
vacuum_cost_page_dirty |
整数 | 会话 | 20 |
— | |
| 清理操作修改原本干净的数据块时所计入的估算代价。 | 现存 | ||||
vacuum_cost_page_hit |
整数 | 会话 | 1 |
— | |
| 清理在共享缓冲区缓存中找到的缓冲区时所计入的估算代价。 | 现存 | ||||
vacuum_cost_page_miss |
整数 | 会话 | 2 |
141 次 | |
| 清理必须从磁盘读取的缓冲区时所计入的估算代价。 | 现存 | ||||
| 默认行为 1 | |||||
vacuum_truncate |
布尔 | 会话 | on |
— | |
| 启用或禁用 vacuum 尝试截断表末尾的空页。 | 现存 | ||||
| 冻结 7 | |||||
vacuum_failsafe_age |
整数 | 会话 | 1600000000 |
— | |
| 指定表的 pg_class.relfrozenxid 字段在 VACUUM 采取非常措施以避免系统范围事务 ID 回卷失败之前所允许达到的最大年龄(以事务数计)。 | 现存 | ||||
vacuum_freeze_min_age |
整数 | 会话 | 50000000 |
— | |
| 指定 VACUUM 在决定是否冻结带有较旧 XID 的页面时应采用的截止年龄(以事务数计)。 | 现存 | ||||
vacuum_freeze_table_age |
整数 | 会话 | 150000000 |
— | |
| 如果表的 pg_class.relfrozenxid 字段达到此设置指定的年龄,VACUUM 就会执行一次激进扫描。 | 现存 | ||||
vacuum_max_eager_freeze_failure_rate |
浮点 | 会话 | 0.03 |
— | |
| 指定 VACUUM 在急切扫描模式下可以扫描但未能在可见性映射中设置为 all-frozen 的页面数量占整个关系总页面数的比例,超过该比例后就会禁用急切扫描。 | 现存 | ||||
vacuum_multixact_failsafe_age |
整数 | 会话 | 1600000000 |
— | |
| 指定表的 pg_class.relminmxid 字段在 VACUUM 采取特别措施避免系统范围的多事务 ID 回卷故障之前,所能达到的最大年龄(以多事务计)。 | 现存 | ||||
vacuum_multixact_freeze_min_age |
整数 | 会话 | 5000000 |
— | |
| 指定 VACUUM 在决定是否冻结带有较旧多事务 ID 的页面时应采用的截止年龄(以多事务计)。 | 现存 | ||||
vacuum_multixact_freeze_table_age |
整数 | 会话 | 150000000 |
— | |
| 如果表的 pg_class.relminmxid 字段达到此设置指定的年龄,VACUUM 就会执行一次激进扫描。 | 现存 | ||||
| 语句行为 28 | |||||
bytea_output |
枚举 | 会话 | hex |
— | |
| 设置 bytea 类型值的输出格式。 | 现存 | ||||
check_function_bodies |
布尔 | 会话 | on |
— | |
| 这个参数通常为打开。 | 现存 | ||||
client_min_messages |
枚举 | 会话 | notice |
8.41 次 | |
| 控制被发送给客户端的消息级别。 | 现存 | ||||
createrole_self_grant |
字符串 | 会话 | 空字符串 |
— | |
| 如果一个拥有 CREATEROLE 但不拥有 SUPERUSER 权限的用户创建了角色,并且此选项被设置为非空值,则新创建的角色将以指定选项授予创建者。 | 现存 | ||||
default_table_access_method |
字符串 | 会话 | heap |
— | |
| 创建表或物化视图时,如果 CREATE 命令没有显式指定访问方法,或者使用了不允许指定表访问方法的 SELECT ... | 现存 | ||||
default_tablespace |
字符串 | 会话 | 空字符串 |
— | |
| 这个变量指定当一个 CREATE 命令没有显式指定一个表空间时,创建对象(表和索引)的默认表空间。 | 现存 | ||||
default_toast_compression |
枚举 | 会话 | pglz |
191 次 | |
| 这个变量设置可压缩列的值所使用的默认 TOAST 压缩方法。 | 现存 | ||||
default_transaction_deferrable |
布尔 | 会话 | off |
— | |
| 当运行在 serializable 隔离级别时,一个可延迟只读 SQL 事务可能在获准继续之前被延迟一段时间。 | 现存 | ||||
default_transaction_isolation |
枚举 | 会话 | read committed |
8.41 次 | |
| 每个 SQL 事务都有一个隔离级别,可以是“读未提交”、“读已提交”、“可重复读”或者“可串行化”。 | 现存 | ||||
default_transaction_read_only |
布尔 | 会话 | off |
— | |
| 一个只读的 SQL 事务不能修改非临时表。 | 现存 | ||||
event_triggers |
布尔 | 会话(超级用户) | on |
— | |
| 允许临时禁用事件触发器的执行,以便对有故障的事件触发器进行故障排查和修复。 | 现存 | ||||
gin_pending_list_limit |
整数 | 会话 | 4 MiB |
— | |
| 设置 fastupdate 被启用时可以使用的 GIN 索引的待处理列表的最大尺寸。 | 现存 | ||||
idle_in_transaction_session_timeout |
整数 | 会话 | 0 ms |
— | |
| 终止在打开的事务中空闲(即等待客户端查询)超过指定时长的任何会话。 | 现存 | ||||
idle_session_timeout |
整数 | 会话 | 0 ms |
— | |
| 终止不在打开的事务中、且空闲(即等待客户端查询)超过指定时长的任何会话。 | 现存 | ||||
lock_timeout |
整数 | 会话 | 0 ms |
— | |
| 如果任何语句在试图获取表、索引、行或其他数据库对象上的锁时等待超过指定的时间量,该语句将被中止。 | 现存 | ||||
restrict_nonsystem_relation_kind |
字符串 | 会话 | 空字符串 |
— | |
| 设置禁止访问非系统关系的关系类型。 | 现存 | ||||
row_security |
布尔 | 会话 | on |
— | |
| 这个变量控制是否以抛出一个错误来代替应用一条行安全性策略。 | 现存 | ||||
search_path |
字符串 | 会话 | "$user", public |
9.51 次 | |
| 这个变量指定当一个对象(表、数据类型、函数等)被用一个无模式限定的简单名称引用时,搜索该对象时的模式顺序。 | 现存 | ||||
session_replication_role |
枚举 | 会话(超级用户) | origin |
8.41 次 | |
| 控制当前会话中复制相关触发器和规则的触发。 | 现存 | ||||
statement_timeout |
整数 | 会话 | 0 ms |
— | |
| 中止任何使用了超过指定时间量的语句。 | 现存 | ||||
temp_tablespaces |
字符串 | 会话 | 空字符串 |
— | |
| 这个变量指定当一个 CREATE 命令没有显式指定一个表空间时,创建临时对象(临时表和临时表上的索引)的默认表空间。 | 现存 | ||||
transaction_deferrable |
布尔 | 会话 | off |
— | |
| 此参数反映当前事务的可延迟性状态。 | 现存 | ||||
transaction_isolation |
枚举 | 会话 | read committed |
122 次 | |
| 此参数反映当前事务的隔离级别。 | 现存 | ||||
transaction_read_only |
布尔 | 会话 | off |
— | |
| 此参数反映当前事务的只读状态。 | 现存 | ||||
transaction_timeout |
整数 | 会话 | 0 ms |
— | |
| 终止任何在一个事务中运行时间超过指定时长的会话。 | 现存 | ||||
vacuum_cleanup_index_scale_factor |
浮点 | 会话 | 0.1 |
— | |
| 执行索引清理前插入的元组数量,以 reltuples 的比例表示。 | 于 14 移除 | ||||
xmlbinary |
枚举 | 会话 | base64 |
8.41 次 | |
| 设置二进制值如何被编码为 XML。 | 现存 | ||||
xmloption |
枚举 | 会话 | content |
8.41 次 | |
| 设置在 XML 与字符串值之间进行转换时,隐含采用 DOCUMENT 还是 CONTENT。 | 现存 | ||||
| 区域和格式化 12 | |||||
client_encoding |
字符串 | 会话 | SQL_ASCII |
— | |
| 设置客户端编码(字符集)。 | 现存 | ||||
DateStyle |
字符串 | 会话 | ISO, MDY |
— | |
| 设置日期和时间值的显示格式,以及解释有歧义的日期输入值的规则。 | 现存 | ||||
default_text_search_config |
字符串 | 会话 | pg_catalog.simple |
— | |
| 选择被那些没有显式参数指定配置的文本检索函数变体使用的文本检索配置。 | 现存 | ||||
extra_float_digits |
整数 | 会话 | 1 |
121 次 | |
| 这个参数调整以文本形式输出浮点值时所用的位数,包括 float4,float8 以及几何数据类型。 | 现存 | ||||
icu_validation_level |
枚举 | 会话 | warning |
— | |
| 控制在遇到 ICU 区域设置验证问题时使用何种消息严重级别报告该问题。 | 现存 | ||||
IntervalStyle |
枚举 | 会话 | postgres |
— | |
| 设置时间间隔值的显示格式。 | 现存 | ||||
lc_messages |
字符串 | 会话(超级用户) | 空字符串 |
— | |
| 设置消息显示的语言。 | 现存 | ||||
lc_monetary |
字符串 | 会话 | C |
— | |
| 设置用于格式化货币量的区域设置,例如用 to_char 函数族。 | 现存 | ||||
lc_numeric |
字符串 | 会话 | C |
— | |
| 设置用于格式化数字的区域设置,例如用 to_char 函数族。 | 现存 | ||||
lc_time |
字符串 | 会话 | C |
— | |
| 设置用于格式化日期和时间的区域设置,例如用 to_char 函数族。 | 现存 | ||||
TimeZone |
字符串 | 会话 | GMT |
9.22 次 | |
| 设置用于显示和解释时间戳的时区。 | 现存 | ||||
timezone_abbreviations |
字符串 | 会话 | 未设置 |
9.11 次 | |
| 设置服务器在日期时间输入中接受的额外时区缩写集合(除当前 TimeZone 设置所定义的缩写之外)。 | 现存 | ||||
| 共享库预载入 4 | |||||
jit_provider |
字符串 | 重启生效 | llvmjit |
— | |
| 这个变量是要被使用的 JIT 提供者库的名称(见第 30.4.2 节)。 | 现存 | ||||
local_preload_libraries |
字符串 | 会话 | 空字符串 |
9.51 次 | |
| 这个变量指定一个或者多个要在连接开始时预载入的共享库。 | 现存 | ||||
session_preload_libraries |
字符串 | 会话(超级用户) | 空字符串 |
— | |
| 这个变量指定在连接开始时要预加载的一个或多个共享库。 | 现存 | ||||
shared_preload_libraries |
字符串 | 重启生效 | 空字符串 |
— | |
| 这个变量指定一个或者多个要在服务器启动时预载入的共享库。 | 现存 | ||||
| 其他默认值 3 | |||||
dynamic_library_path |
字符串 | 会话(超级用户) | $libdir |
— | |
| 如果需要打开一个可以动态装载的模块并且在 CREATE FUNCTION 或 LOAD 命令中指定的文件名没有目录部分(即名字中不包含斜线),那么系统将搜索这个路径以查找所需的文件。 | 现存 | ||||
extension_control_path |
字符串 | 会话(超级用户) | $system |
— | |
| 搜索扩展的路径,特别是扩展控制文件(name.control)。 | 现存 | ||||
gin_fuzzy_search_limit |
整数 | 会话 | 0 |
— | |
| GIN 索引扫描返回的集合尺寸的软上限。 | 现存 | ||||
| Client Connection Defaults 3 | |||||
australian_timezones |
布尔 | — | — | ||
| 如果设为 on,ACST、CST、EST和SAT将被解释为澳大利亚时区,而不是北美/南美时区和星期六。 | 于 8.2 移除 | ||||
explain_pretty_print |
布尔 | — | — | ||
| 决定EXPLAIN VERBOSE显示详细查询树转储时使用缩进格式还是非缩进格式。 | 于 8.4 移除 | ||||
max_expr_depth |
整数 | — | — | ||
| 设置解析器的最大表达式嵌套深度。 | 于 8.0 移除 | ||||
deadlock_timeout |
整数 | 会话(超级用户) | 1 s |
9.22 次 | |
| 指定在检查是否发生死锁之前等待锁的时间。 | 现存 | ||||
max_locks_per_transaction |
整数 | 重启生效 | 64 |
191 次 | |
| 共享锁表为每个服务器进程或预备事务预留可容纳 max_locks_per_transaction 个对象(例如表)的空间;因此,在任何时刻可被锁住的不同对象数都不能超过总容量。 | 现存 | ||||
max_pred_locks_per_page |
整数 | 重载生效 | 2 |
— | |
| 这个参数控制在谓词锁被提升为覆盖整个页面之前,可以对单个页面中的多少行加谓词锁。 | 现存 | ||||
max_pred_locks_per_relation |
整数 | 重载生效 | -2 |
— | |
| 这个参数控制在谓词锁被提升为覆盖整个关系之前,可以对单个关系中的多少页面或元组加谓词锁。 | 现存 | ||||
max_pred_locks_per_transaction |
整数 | 重启生效 | 64 |
— | |
| 共享谓词锁表为每个服务器进程或预备事务预留可容纳 max_pred_locks_per_transaction 个对象(例如表)的空间;因此,在任何时刻可被锁住的不同对象数都不能超过总容量。 | 现存 | ||||
| 以前的 PostgreSQL 版本 10 | |||||
array_nulls |
布尔 | 会话 | on |
— | |
| 这个参数控制数组输入解析器是否把未用引号的 NULL 识别为一个值为空值的数组元素。 | 现存 | ||||
backslash_quote |
枚举 | 会话 | safe_encoding |
8.41 次 | |
| 这个参数控制转义字符串语法(E'...')中的单引号是否能够用\' 来表示。 | 现存 | ||||
default_with_oids |
布尔 | 会话 | off |
— | |
| 此参数控制在既未指定 WITH OIDS 也未指定 WITHOUT OIDS 时,CREATE TABLE 和 CREATE TABLE AS 是否在新建表中包含 OID 列。 | 于 12 移除 | ||||
escape_string_warning |
布尔 | 会话 | on |
— | |
| 打开时,如果在普通字符串字面量中('...' 语法)出现了一个反斜线(\)并且 standard_conforming_strings 为关闭,那么就会发出一个警告。 | 于 19 移除 | ||||
lo_compat_privileges |
布尔 | 会话(超级用户) | off |
— | |
| 在 PostgreSQL 9.0 之前的版本中,大对象没有访问权限,因此始终可以被所有用户读取和写入。 | 现存 | ||||
operator_precedence_warning |
布尔 | 会话 | off |
— | |
| 开启时,对于任何可能因操作符优先级的变化而在 PostgreSQL 9.4 之后改变含义的构造,解析器都会发出警告。 | 于 14 移除 | ||||
quote_all_identifiers |
布尔 | 会话 | off |
— | |
| 当数据库产生 SQL 时,强制所有标识符被引号包围,即使它们(当前)不是关键字。 | 现存 | ||||
sql_inheritance |
布尔 | 会话 | on |
— | |
| 这个设置控制不带修饰的表引用是否被认为包括继承子表。 | 于 10 移除 | ||||
standard_conforming_strings |
布尔 | 会话 | on |
9.11 次 | |
| 从 PostgreSQL 19 开始,这个参数始终为 on。 | 现存 | ||||
synchronize_seqscans |
布尔 | 会话 | on |
— | |
| 它允许对大型表的顺序扫描与其他扫描同步,因此并发扫描可以在几乎相同的时刻读取相同的块,这样可以分担 I/O 负载。 | 现存 | ||||
| 其他平台和客户端 2 | |||||
allow_alter_system |
布尔 | 重载生效 | on |
— | |
| 当 allow_alter_system 被设置为 off 时,执行 ALTER SYSTEM 命令会返回错误。 | 现存 | ||||
transform_null_equals |
布尔 | 会话 | off |
— | |
| 当打开时,形如 expr = NULL(或 NULL = expr)的表达式将被当做 expr IS NULL,也就是说,如果 expr 计算结果为空值则返回真,否则返回假。 | 现存 | ||||
| Version and Platform Compatibility 2 | |||||
add_missing_from |
布尔 | — | — | ||
| 打开时,如果查询引用的表尚未出现在FROM子句中,会自动把它添加进去。 | 于 9.0 移除 | ||||
regex_flavor |
枚举 | — | 8.41 次 | ||
| 正则表达式的“风格”可以设置为 advanced、extended 或 basic。 | 于 9.0 移除 | ||||
data_sync_retry |
布尔 | 重启生效 | off |
— | |
| 当设置为 off(默认值)时,PostgreSQL 在将修改后的数据文件刷盘到文件系统失败时,将引发 PANIC 级错误。 | 现存 | ||||
exit_on_error |
布尔 | 会话 | off |
— | |
| 如果为开(on),任何错误将中止当前会话。 | 现存 | ||||
recovery_init_sync_method |
枚举 | 重载生效 | fsync |
— | |
| 当设置为 fsync,也就是默认值,PostgreSQL 将在崩溃恢复开始之前递归地打开并同步数据目录中的所有文件。 | 现存 | ||||
restart_after_crash |
布尔 | 重载生效 | on |
— | |
| 当设置为 on(默认值)时,PostgreSQL 将在一次后端崩溃后自动重新初始化。 | 现存 | ||||
block_size |
整数 | 内部 | 8192 |
— | |
| 报告一个磁盘块的大小。 | 现存 | ||||
data_checksums |
布尔 | 内部 | off |
201 次 | |
| 报告这个集簇的数据校验和状态。 | 现存 | ||||
data_directory_mode |
整数 | 内部 | 448 |
— | |
| 在 Unix 系统上,这个参数报告服务器启动时数据目录(由 data_directory 定义)的权限。 | 现存 | ||||
debug_assertions |
布尔 | 内部 | off |
9.51 次 | |
| 报告 PostgreSQL 是否在构建时启用了断言。 | 现存 | ||||
debug_exec_backend |
布尔 | — | — | ||
| 报告 PostgreSQL 是否在构建时启用了 EXEC_BACKEND。 | 现存 | ||||
effective_wal_level |
枚举 | — | — | ||
| 报告当前系统中实际生效的 WAL 记录级别。 | 现存 | ||||
huge_pages_status |
枚举 | 内部 | unknown |
— | |
| 报告当前实例中大页的状态:on、off 或 unknown(当通过 postgres -C 查看时)。 | 现存 | ||||
in_hot_standby |
布尔 | 内部 | off |
— | |
| 报告服务器当前是否处于热备模式。 | 现存 | ||||
integer_datetimes |
布尔 | 内部 | on |
— | |
| 报告 PostgreSQL 是否在编译时启用了对 64 位整数日期和时间的支持。 | 现存 | ||||
lc_collate |
字符串 | 内部 | C |
— | |
| 报告对文本数据进行排序所使用的区域设置。 | 于 16 移除 | ||||
lc_ctype |
字符串 | 内部 | C |
— | |
| 报告决定字符分类的区域设置。 | 于 16 移除 | ||||
max_function_args |
整数 | 内部 | 100 |
— | |
| 报告函数参数的最大数量。 | 现存 | ||||
max_identifier_length |
整数 | 内部 | 63 |
— | |
| 报告标识符的最大长度。 | 现存 | ||||
max_index_keys |
整数 | 内部 | 32 |
— | |
| 报告索引键的最大数目。 | 现存 | ||||
num_os_semaphores |
整数 | 内部 | 0 |
— | |
| 根据配置的最大连接数(max_connections)、允许的自动清理工作进程数(autovacuum_max_workers)、允许的 WAL 发送进程数(max_wal_senders)、允许的后台进程数(max_worker_processes)等,报告服务器所需的信号量数量。 | 现存 | ||||
segment_size |
整数 | 内部 | 1 GiB (131072 × 8kB) |
— | |
| 报告一个文件段中可以存储的块(页)的数量。 | 现存 | ||||
server_encoding |
字符串 | 内部 | SQL_ASCII |
— | |
| 报告数据库的编码(字符集)。 | 现存 | ||||
server_version |
字符串 | 内部 | 18.6 (Debian 18.6-1.pgdg13+2) |
1916 次 | |
| 报告服务器的版本号。 | 现存 | ||||
server_version_num |
整数 | 内部 | 180006 |
1916 次 | |
| 以整数形式报告服务器的版本号。 | 现存 | ||||
shared_memory_size |
整数 | 内部 | 0 B |
— | |
| 报告主共享内存区域的大小,向上取整到整数兆字节。 | 现存 | ||||
shared_memory_size_in_huge_pages |
整数 | 内部 | -1 |
— | |
| 报告基于指定的 huge_page_size 所需的主共享内存区域的大页数。 | 现存 | ||||
ssl_library |
字符串 | 内部 | OpenSSL |
— | |
| 报告此 PostgreSQL 服务器在构建时使用的 SSL 库的名称(即使此实例当前未配置或使用 SSL),例如 OpenSSL,如果没有使用 SSL 库,则报告空字符串。 | 现存 | ||||
wal_block_size |
整数 | 内部 | 8192 |
— | |
| 报告一个 WAL 磁盘块的尺寸。 | 现存 | ||||
wal_segment_size |
整数 | 内部 | 16 MiB |
111 次 | |
| 报告 WAL 段文件的大小。 | 现存 | ||||
custom_variable_classes |
字符串 | 重载生效 | 未设置 |
— | |
| 这个变量指定一个或多个用于自定义变量的类名,形式为逗号分隔的列表。 | 于 9.2 移除 | ||||
composite_type_mismatch |
枚举 | 会话(超级用户) | error |
— | |
| 设置如何处理复合类型数据的版本不匹配。 | 现存 | ||||
allow_in_place_tablespaces |
布尔 | 会话(超级用户) | off |
— | |
| 当向 CREATE TABLESPACE 命令提供空的位置字符串时,允许将表空间创建为 pg_tblspc 内的目录。 | 现存 | ||||
allow_system_table_mods |
布尔 | 会话(超级用户) | off |
131 次 | |
| 允许修改系统表的结构以及对系统表进行某些其他风险操作。 | 现存 | ||||
backtrace_functions |
字符串 | 会话(超级用户) | 空字符串 |
— | |
| 这个参数包含一个以逗号分隔的 C 函数名称列表。 | 现存 | ||||
debug_copy_parse_plan_trees |
布尔 | — | — | ||
| 启用该选项会强制所有解析树和计划树都经过 copyObject() 处理,以便更容易发现 copyObject() 中的错误和遗漏。 | 现存 | ||||
debug_deadlocks |
布尔 | — | — | ||
| 如果设置,当死锁超时发生时,转储所有当前锁的信息。 | 现存 | ||||
debug_discard_caches |
整数 | 会话(超级用户) | 0 |
— | |
| 当设置为 1 时,每个系统目录缓存条目都会在最早可能的时刻被置为无效,无论是否真的发生了使其失效的事件。 | 现存 | ||||
debug_io_direct |
字符串 | 重启生效 | 空字符串 |
— | |
| 要求内核使用 O_DIRECT(大多数类 Unix 系统)、F_NOCACHE(macOS)或 FILE_FLAG_NO_BUFFERING(Windows),尽量减小关系数据和 WAL 文件缓存的影响。 | 现存 | ||||
debug_logical_replication_streaming |
枚举 | 会话 | buffered |
— | |
| 允许值为 buffered 和 immediate。 | 现存 | ||||
debug_parallel_query |
枚举 | 会话 | off |
— | |
| 允许出于测试目的使用并行查询,即使预计不会带来性能收益也是如此。 | 现存 | ||||
debug_raw_expression_coverage_test |
布尔 | — | — | ||
| 启用该选项会强制所有 DML 语句的原始解析树都经过 raw_expression_tree_walker() 扫描,以便更容易发现该函数中的错误和遗漏。 | 现存 | ||||
debug_shared_buffers |
整数 | — | — | ||
| 缓冲区空闲列表报告之间的秒数。 | 于 8.1 移除 | ||||
debug_write_read_parse_plan_trees |
布尔 | — | — | ||
| 启用该选项会强制所有解析树和计划树都经过 outfuncs.c/readfuncs.c 处理,以便更容易发现这些模块中的错误和遗漏。 | 现存 | ||||
force_parallel_mode |
枚举 | 会话 | off |
— | |
| 允许为测试目的使用并行查询,即使预期不会带来性能收益。 | 于 16 移除 | ||||
ignore_checksum_failure |
布尔 | 会话(超级用户) | off |
— | |
| 只有启用数据校验和时才有效。 | 现存 | ||||
ignore_invalid_pages |
布尔 | 重启生效 | off |
— | |
| 如果设置为 off(默认值),则在恢复期间检测到引用无效页面的 WAL 记录会导致 PostgreSQL 引发 PANIC 级别错误,中止恢复。 | 现存 | ||||
ignore_system_indexes |
布尔 | 连接时 | off |
— | |
| 读取系统表时忽略系统索引(但是修改系统表时依然同时更新索引)。 | 现存 | ||||
jit_debugging_support |
布尔 | 连接时(超级用户) | off |
— | |
| 如果 LLVM 具有所需的功能,则向 GDB 注册生成的函数。 | 现存 | ||||
jit_dump_bitcode |
布尔 | 会话(超级用户) | off |
— | |
| 将生成的 LLVM IR 写入文件系统,位于 data_directory 内。 | 现存 | ||||
jit_expressions |
布尔 | 会话 | on |
— | |
| 当 JIT 编译被激活时(见第 30.2 节),确定表达式是否用 JIT 编译。 | 现存 | ||||
jit_profiling_support |
布尔 | 连接时(超级用户) | off |
— | |
| 如果 LLVM 具有所需的功能,则输出让 perf 对 JIT 生成的函数进行性能分析所需的数据。 | 现存 | ||||
jit_tuple_deforming |
布尔 | 会话 | on |
— | |
| 当 JIT 编译被激活时(见第 30.2 节),确定元组拆解是否被 JIT 编译。 | 现存 | ||||
log_btree_build_stats |
布尔 | — | — | ||
| 如果设置,会记录 B-树操作上的系统资源使用情况统计(内存和 CPU)。 | 现存 | ||||
post_auth_delay |
整数 | 连接时 | 0 s |
— | |
| 新服务器进程启动并完成认证过程之后的延迟时间。 | 现存 | ||||
pre_auth_delay |
整数 | 重载生效 | 0 s |
— | |
| 新服务器进程刚刚派生之后、执行认证过程之前的延迟时间。 | 现存 | ||||
remove_temp_files_after_crash |
布尔 | 重载生效 | on |
— | |
| 当设置为 on(默认值)时,PostgreSQL 将在后端崩溃后自动删除临时文件。 | 现存 | ||||
send_abort_for_crash |
布尔 | 重载生效 | off |
— | |
| 默认情况下,后端崩溃后,postmaster 会向其余子进程发送 SIGQUIT 信号使其停止,这样它们可以较为平稳地退出。 | 现存 | ||||
send_abort_for_kill |
布尔 | 重载生效 | off |
— | |
| 默认情况下,在尝试用 SIGQUIT 停止子进程之后,postmaster 会等待五秒,然后发送 SIGKILL 强制立即终止。 | 现存 | ||||
trace_connection_negotiation |
布尔 | 重启生效 | off |
— | |
| 记录认证开始前连接握手过程的详细信息。 | 现存 | ||||
trace_lock_oidmin |
整数 | — | 8.41 次 | ||
| 如果设置,不会跟踪 OID 小于此值的表上的锁(用于避免在系统表上的输出)。 | 现存 | ||||
trace_lock_table |
整数 | — | 8.41 次 | ||
| 无条件地跟踪此表(OID)上的锁。 | 现存 | ||||
trace_locks |
布尔 | — | — | ||
| 如果开启,发出锁使用情况的信息。 | 现存 | ||||
trace_lwlocks |
布尔 | — | — | ||
| 如果开启,发出轻量级锁的使用信息。 | 现存 | ||||
trace_notify |
布尔 | 会话 | off |
— | |
| 为 LISTEN 和 NOTIFY 命令生成大量调试输出。 | 现存 | ||||
trace_recovery_messages |
枚举 | 重载生效 | log |
— | |
| 启用原本不会记录的恢复相关调试输出。 | 于 17 移除 | ||||
trace_sort |
布尔 | 会话 | off |
— | |
| 如果开启,输出排序操作中的资源使用信息。 | 现存 | ||||
trace_userlocks |
布尔 | — | — | ||
| 如果开启,发出关于用户锁使用的信息。 | 现存 | ||||
wal_consistency_checking |
字符串 | 会话(超级用户) | 空字符串 |
— | |
| 这个参数被设计用来检查 WAL 重做例程中的缺陷。 | 现存 | ||||
wal_debug |
布尔 | — | 8.01 次 | ||
| 如果被打开,WAL 相关的调试输出将被发出。 | 现存 | ||||
zero_damaged_pages |
布尔 | 会话(超级用户) | off |
— | |
| 检测到损坏的页面头通常会导致 PostgreSQL 报告错误,中止当前事务。 | 现存 | ||||
没有匹配的参数。清除筛选
库里共 492 个参数、24 个大版本、6707 份逐版本快照;相邻大版本之间记录到 80 次默认值变更与 158 处实质变化(默认值、单位、生效上下文、类型、取值范围或枚举值),59 个参数已经不在最新版本里。每行的「版本变动」是一排方格,一格一个大版本,与表头刻度逐格对齐;鼠标停在某一格上会写出它是哪一版、发生了什么。「默认值」一列取的是当前稳定版 18 的 boot_val,带单位的值换算成了可读形式;18 里不存在的参数取它最后存在的那一版。数据来自 guc.pg.center,说明的中文取自本站手册译文,没有译文的按英文原文显示。