你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于:
Azure Database for PostgreSQL 灵活服务器
Azure Database for PostgreSQL 为每个服务器都提供了一组可配置的参数。
这些参数可以对应于:
-
数据库引擎:PostgreSQL 数据库引擎或实现扩展功能的二进制库定义的参数。 数据库引擎内置参数的一些示例包括
autovacuum_max_workers、DateStyle、client_min_messages、password_encryption、max_connections、geqo、from_collapse_limit、cpu_tuple_cost、cpu_tuple_cost、max_standby_streaming_delay、log_connections、log_min_duration_statement、max_parallel_workers、bgwriter_delay和shared_buffers。 扩展定义的一些参数示例包括pg_qs.max_query_text_length(pg_qs 扩展、实现查询存储的功能)、pg_stat_statements.max(pg_stat_statements 扩展)、pgaudit.log_catalog(pgaudit 扩展)和cron.database_name(cron 扩展)。 -
非数据库引擎:控制某些内置功能的参数,这是 Azure Database for PostgreSQL 灵活服务器服务的核心,但不属于数据库引擎或其任何扩展。 这些参数的示例为
metrics.collector_database_activity(控制服务是否应收集被视为增强指标且默认未收集的指标列表)、pgbouncer.enabled(允许用户激活内置于服务的 PgBouncer 实例)、index_tuning.analysis_interval(设置应唤醒自动索引优化以生成建议的频率)
自定义参数
数据库引擎参数和非数据库引擎参数都可以在服务器级别配置。 有关详细信息,请参阅设置一个或多个服务器参数的值。
注意
Azure Database for PostgreSQL 是托管数据库服务,因此用户没有主机或操作系统访问权限,无法查看或修改配置文件(例如 postgresql.conf)。 这些文件的内容会根据所做的参数更改自动更新。
数据库引擎参数也可以在更精细的范围内配置。 这些调整将覆盖全局设置的值。 它们的范围和持续时间取决于你创建它们的级别:
数据库级别:使用
ALTER DATABASE命令进行特定于数据库的配置。角色或用户级别:使用 命令进行以用户为中心的设置。
ALTER USER函数、过程级别:定义函数或过程时,可以指定或更改在调用函数时使用的配置参数。
表级别:例如,可在此级别修改与 autovacuum 相关的参数。
会话级别:在单个数据库会话的生命周期内,可以调整特定参数。 PostgreSQL 通过以下 SQL 命令促进这种调整:
- 使用
SET命令进行特定于会话的调整。 这些更改将作为当前会话期间的默认设置。 要访问这些更改,可能需要特定的SET权限,并且上述可修改参数和只读参数的限制不适用。 相应的 SQL 函数为set_config(setting_name, new_value, is_local)。 - 使用
SHOW命令检查现有参数设置。 其 SQL 函数等效项为current_setting(setting_name text)。
- 使用
使用时区参数
如果你打算在 PostgreSQL 中使用日期和时间数据,请确保为你的位置设置正确的时区。 所有需要显示时区的日期和时间均以 UTC 形式存储在 PostgreSQL 内部。 它们会转换为 TimeZone 服务器参数指定的时区中的当地时间,然后再显示给客户端。 可以在“服务器参数”页上编辑此参数。 PostgreSQL 允许以三种不同的形式指定时区:
完整的时区名称,例如 America/New_York。 识别的时区名称列在 pg_timezone_names 视图中。
在 psql 中查询此视图并获取时区名称列表的示例:select name FROM pg_timezone_names LIMIT 20;
应看到如下结果集:
name ----------------------- GMT0 Iceland Factory NZ-CHAT America/Panama America/Fort_Nelson America/Pangnirtung America/Belem America/Coral_Harbour America/Guayaquil America/Marigot America/Barbados America/Porto_Velho America/Bogota America/Menominee America/Martinique America/Asuncion America/Toronto America/Tortola America/Managua (20 rows)时区缩写,例如 PST。 此类规范仅定义相对于 UTC 的特定偏移量,而完全时区名称则意味着一组夏令时转换日期规则。 识别的缩写列在 pg_timezone_abbrevs 视图中 在 psql 中查询此视图并获取时区缩写的示例:
select abbrev from pg_timezone_abbrevs limit 20;
应看到如下结果集:
abbrev| ------+ ACDT | ACSST | ACST | ACT | ACWST | ADT | AEDT | AESST | AEST | AFT | AKDT | AKST | ALMST | ALMT | AMST | AMT | ANAST | ANAT | ARST | ART |除了时区名称和缩写之外,PostgreSQL 还接受 POSIX 风格的时区规范,其形式为 STDoffset 或 STDoffsetDST。 STD 是区域缩写。 Offset 是数字偏移量,以 UTC 西向小时数表示。 DST 是可选的夏令时区缩写,被认为比给定的偏移量提前一小时。
支持的服务器参数
自动真空
| 名称 | 版本 | 说明 |
|---|---|---|
autovacuum |
11, 12, 13, 14, 15, 16, 17, 18 | 启动 autovacuum 子进程。 |
autovacuum_analyze_scale_factor |
11, 12, 13, 14, 15, 16, 17, 18 | 分析前发生的元组插入、更新或删除操作次数(占 reltuples 的比例)。 |
autovacuum_analyze_threshold |
11, 12, 13, 14, 15, 16, 17, 18 | 在进行分析之前,至少需要执行的元组插入、更新或删除操作的次数。 |
autovacuum_freeze_max_age |
11, 12, 13, 14, 15, 16, 17, 18 | 为了防止事务 ID 溢出,autovacuum 表的时间阈值。 |
autovacuum_max_workers |
11, 12, 13, 14, 15, 16, 17, 18 | 设置同时运行的 autovacuum 辅助角色数量上限。 |
autovacuum_multixact_freeze_max_age |
11, 12, 13, 14, 15, 16, 17, 18 | 触发表 autovacuum 以防止 Multixact 回绕的阈值。 |
autovacuum_naptime |
11, 12, 13, 14, 15, 16, 17, 18 | 运行 autovacuum 之间的睡眠时间。 |
autovacuum_vacuum_cost_delay |
11, 12, 13, 14, 15, 16, 17, 18 | Vacuum 的延迟时间(毫秒),用于控制 autovacuum 的频率。 |
autovacuum_vacuum_cost_limit |
11, 12, 13, 14, 15, 16, 17, 18 | autovacuum 在短暂睡眠之前可用的 Vacuum 开销。 |
autovacuum_vacuum_insert_scale_factor |
13, 14, 15, 16, 17, 18 | 触发 VACUUM 之前,所需插入的元组数(占 reltuples 的比例)。 |
autovacuum_vacuum_insert_threshold |
13, 14, 15, 16, 17, 18 | 在执行 Vacuum 之前的最少元组插入次数,或设置为 -1 以禁用插入 Vacuum。 |
autovacuum_vacuum_max_threshold |
18 | 在执行 Vacuum 之前,支持的最大元组更新或删除次数。 -1 禁用最大阈值。 |
autovacuum_vacuum_scale_factor |
11, 12, 13, 14, 15, 16, 17, 18 | 在执行 Vacuum 之前的元组更新或删除次数(占 reltuples 的比例)。 |
autovacuum_vacuum_threshold |
11, 12, 13, 14, 15, 16, 17, 18 | 在执行 Vacuum 之前,支持的最小元组更新或删除次数。 |
autovacuum_worker_slots |
18 | 设置为 autovacuum 进程分配的后端槽位数量。 |
vacuum_max_eager_freeze_failure_rate |
18 | 在关系 Vacuum 的处理过程中,页面的一部分可能会被扫描,但在禁用提前扫描之前无法被冻结。 当该值为 0.0 时,会禁用提前扫描;当该值为 1.0 时,则会主动扫描关系中最多 100% 的全部可见页面。 如果 Vacuum 操作成功冻结了这些页面,那么上限会低于 100%,因为其目标是将页面冻结的开销分摊到多次 Vacuum 操作中。 |
vacuum_truncate |
18 | 使 Vacuum 能够截断表末尾的空页。 |
客户端连接默认值/区域设置和格式设置
| 名称 | 版本 | 说明 |
|---|---|---|
client_encoding |
11, 12, 13, 14, 15, 16, 17, 18 | 设置客户端的字符集编码。 |
DateStyle |
11, 12, 13, 14, 15, 16, 17, 18 | 设置日期和时间值的显示格式。 还控制对不明确日期输入的解释。 |
default_text_search_config |
11, 12, 13, 14, 15, 16, 17, 18 | 设置默认文本搜索配置。 |
extra_float_digits |
11, 12, 13, 14, 15, 16, 17, 18 | 设置要为浮点值显示的位数。 这会影响实际、双精度和几何数据类型。 零或负的参数值会加到标准的数字位数上(根据情况使用 FLT_DIG 或 DBL_DIG)。 大于零的任何值都选择精确的输出模式。 |
icu_validation_level |
16, 17, 18 | 报告无效 ICU 区域设置字符串的日志级别。 |
IntervalStyle |
11, 12, 13, 14, 15, 16, 17, 18 | 设置间隔值的显示格式。 |
lc_messages |
11, 12, 13, 14, 15, 16, 17, 18 | 设置消息的显示语言。 |
lc_monetary |
11, 12, 13, 14, 15, 16, 17, 18 | 设置用于指定货币金额格式的区域设置。 |
lc_numeric |
11, 12, 13, 14, 15, 16, 17, 18 | 设置用于指定数字格式的区域设置。 |
lc_time |
11, 12, 13, 14, 15, 16, 17, 18 | 设置用于指定日期和时间值格式的区域设置。 |
TimeZone |
11, 12, 13, 14, 15, 16, 17, 18 | 设置用于显示和解释时间戳的时区。 |
timezone_abbreviations |
11, 12, 13, 14, 15, 16, 17, 18 | 选择一个时区缩写文件。 |
客户端连接默认值/其他默认值
| 名称 | 版本 | 说明 |
|---|---|---|
dynamic_library_path |
11, 12, 13, 14, 15, 16, 17, 18 | 设置可动态加载模块的路径。 如果需要打开动态加载模块,并且指定名称没有目录组件(即名称不包含斜杠),系统将搜索指定文件的路径。 |
gin_fuzzy_search_limit |
11, 12, 13, 14, 15, 16, 17, 18 | 设置按 GIN 进行的精确匹配搜索允许的最大结果数。 |
客户端连接默认值/共享库预加载
| 名称 | 版本 | 说明 |
|---|---|---|
jit_provider |
11, 12, 13, 14, 15, 16, 17, 18 | 要使用的 JIT 提供者。 |
local_preload_libraries |
11, 12, 13, 14, 15, 16, 17, 18 | 列出要预加载到每个后端的无特权共享库。 |
session_preload_libraries |
11, 12, 13, 14, 15, 16, 17, 18 | 列出要预加载到每个后端的共享库。 |
shared_preload_libraries |
11, 12, 13, 14, 15, 16, 17, 18 | 列出要预加载到服务器的共享库。 |
客户端连接默认值/语句行为
| 名称 | 版本 | 说明 |
|---|---|---|
bytea_output |
11, 12, 13, 14, 15, 16, 17, 18 | 设置 bytea 的输出格式。 |
check_function_bodies |
11, 12, 13, 14, 15, 16, 17, 18 | 在 CREATE FUNCTION 和 CREATE PROCEDURE 期间检查例程正文。 |
client_min_messages |
11, 12, 13, 14, 15, 16, 17, 18 | 设置发送到客户端的消息级别。 每个级别包括其后面的所有级别。 级别越晚,发送的消息越少。 |
createrole_self_grant |
16, 17, 18 | 设置 CREATEROLE 用户是否自动向自己授予角色以及具有哪些选项。 |
default_table_access_method |
12, 13, 14, 15, 16, 17, 18 | 设置新表的默认表访问方法。 |
default_tablespace |
11, 12, 13, 14, 15, 16, 17, 18 | 设置要在其中创建表和索引的默认表空间。 空字符串选择数据库的默认表空间。 |
default_toast_compression |
14, 15, 16, 17, 18 | 设置可压缩值的默认压缩方法。 |
default_transaction_deferrable |
11, 12, 13, 14, 15, 16, 17, 18 | 设置新事务的默认可延迟状态。 |
default_transaction_isolation |
11, 12, 13, 14, 15, 16, 17, 18 | 设置每个新事务的事务隔离级别。 |
default_transaction_read_only |
11, 12, 13, 14, 15, 16, 17, 18 | 设置新事务的默认只读状态。 |
event_triggers |
17,18 | 启用事件触发器。 启用后,所有适用语句都会触发事件触发器。 |
extension_control_path |
18 | 用于搜索扩展程序的路径,特别是扩展程序控制文件 (name.control)。 |
gin_pending_list_limit |
11, 12, 13, 14, 15, 16, 17, 18 | 设置 GIN 索引的挂起列表的大小上限。 |
idle_in_transaction_session_timeout |
11, 12, 13, 14, 15, 16, 17, 18 | 设置事务中查询之间允许的最大空闲时间。 值为 0 时,超时功能会关闭。 |
idle_session_timeout |
14, 15, 16, 17, 18 | 设置查询之间允许的最大空闲时间(不在事务中时)。 值为 0 时,超时功能会关闭。 |
lock_timeout |
11, 12, 13, 14, 15, 16, 17, 18 | 设置等待锁定的最大允许持续时间。 值为 0 时,超时功能会关闭。 |
restrict_nonsystem_relation_kind |
12, 16, 17, 18 | 禁止访问指定类型的非系统关系。 |
row_security |
11, 12, 13, 14, 15, 16, 17, 18 | 启用行安全性。 启用后,行安全性将应用于所有用户。 |
search_path |
11, 12, 13, 14, 15, 16, 17, 18 | 设置非架构限定的名称的架构搜索顺序。 |
session_replication_role |
11, 12, 13, 14, 15, 16, 17, 18 | 设置触发器和重写规则的会话行为。 |
statement_timeout |
11, 12, 13, 14, 15, 16, 17, 18 | 设置任何语句允许的最大持续时间。 值为 0 时,超时功能会关闭。 |
temp_tablespaces |
11, 12, 13, 14, 15, 16, 17, 18 | 设置一个或多个表空间,用于临时表和排序文件。 |
transaction_deferrable |
11, 12, 13, 14, 15, 16, 17, 18 | 是否延迟只读可序列化事务,直到可以执行该事务,且不会发生可能的序列化失败。 |
transaction_isolation |
11, 12, 13, 14, 15, 16, 17, 18 | 设置当前事务的隔离级别。 |
transaction_read_only |
11, 12, 13, 14, 15, 16, 17, 18 | 设置当前事务的只读状态。 |
transaction_timeout |
17,18 | 设置会话中任何事务允许的最大持续时间(不是已准备的事务)。 值为 0 时,超时功能会关闭。 |
vacuum_cleanup_index_scale_factor |
11、12、13 | 索引清理之前的元组插入数(作为 reltuples 的一部分)。 |
vacuum_failsafe_age |
14, 15, 16, 17, 18 | VACUUM 触发防故障以避免回绕中断应达到的期限。 |
vacuum_freeze_min_age |
11, 12, 13, 14, 15, 16, 17, 18 | 在 VACUUM 冻结表行之前所要达到的最短期限。 |
vacuum_freeze_table_age |
11, 12, 13, 14, 15, 16, 17, 18 | VACUUM 扫描整个表以冻结元组应达到的期限。 |
vacuum_multixact_failsafe_age |
14, 15, 16, 17, 18 | VACUUM 触发防故障以避免回绕中断应达到的 Multixact 期限。 |
vacuum_multixact_freeze_min_age |
11, 12, 13, 14, 15, 16, 17, 18 | 在 VACUUM 冻结表行中的 MultiXactId 之前所要达到的最短期限。 |
vacuum_multixact_freeze_table_age |
11, 12, 13, 14, 15, 16, 17, 18 | VACUUM 扫描整个表以冻结元组应达到的 Multixact 期限。 |
xmlbinary |
11, 12, 13, 14, 15, 16, 17, 18 | 设置如何在 XML 中对二进制值进行编码。 |
xmloption |
11, 12, 13, 14, 15, 16, 17, 18 | 设置是要将隐式分析和序列化操作中的 XML 数据视为文档还是内容片段。 |
连接和身份验证/身份验证
| 名称 | 版本 | 说明 |
|---|---|---|
authentication_timeout |
11, 12, 13, 14, 15, 16, 17, 18 | 设置完成客户端身份验证的最大允许时间。 |
db_user_namespace |
11, 12, 13, 14, 15, 16, 17 | 启用每数据库用户名。 |
gss_accept_delegation |
16, 17, 18 | 设置是否应从客户端接受 GSSAPI 委派。 |
krb_caseins_users |
11, 12, 13, 14, 15, 16, 17, 18 | 设置是否应将 Kerberos 和 GSSAPI 用户名视为不区分大小写。 |
krb_server_keyfile |
11, 12, 13, 14, 15, 16, 17, 18 | 设置 Kerberos 服务器密钥文件的位置。 |
password_encryption |
11, 12, 13, 14, 15, 16, 17, 18 | 选择用于加密密码的算法。 |
scram_iterations |
16, 17, 18 | 设置 SCRAM 机密生成的迭代计数。 |
连接和身份验证/连接设置
| 名称 | 版本 | 说明 |
|---|---|---|
bonjour |
11, 12, 13, 14, 15, 16, 17, 18 | 允许通过 Bonjour 播发服务器。 |
bonjour_name |
11, 12, 13, 14, 15, 16, 17, 18 | 设置 Bonjour 服务名称。 |
listen_addresses |
11, 12, 13, 14, 15, 16, 17, 18 | 设置要侦听的主机名或 IP 地址。 |
max_connections |
11, 12, 13, 14, 15, 16, 17, 18 | 设置最大并发连接数。 |
oauth_validator_libraries |
18 | 列出可以调用以验证 OAuth v2 持有者令牌的库。 |
port |
11, 12, 13, 14, 15, 16, 17, 18 | 设置服务器侦听的 TCP 端口。 |
reserved_connections |
11, 12, 13, 14, 15, 16, 17, 18 | 设置保留给具有pg_use_reserved_connections权限角色的连接插槽数量。 |
superuser_reserved_connections |
11, 12, 13, 14, 15, 16, 17, 18 | 设置为超级用户保留的连接槽数。 |
unix_socket_directories |
11, 12, 13, 14, 15, 16, 17, 18 | 设置将在其中创建 Unix 域套接字的目录。 |
unix_socket_group |
11, 12, 13, 14, 15, 16, 17, 18 | 设置 Unix 域套接字的所属组。 套接字的负责人用户始终是启动服务器的用户。 |
unix_socket_permissions |
11, 12, 13, 14, 15, 16, 17, 18 | 设置 Unix 域套接字的访问权限。 Unix 域套接字使用常用的 Unix 文件系统权限集。 参数值应是一个数字模式规范,该规范采用 chmod 和 umask 系统调用所接受的形式。 (若要使用自定义八进制格式,数字必须以 0 开头(零)。 |
连接和身份验证/SSL
| 名称 | 版本 | 说明 |
|---|---|---|
ssl |
11, 12, 13, 14, 15, 16, 17, 18 | 启用 SSL 连接。 |
ssl_ca_file |
11, 12, 13, 14, 15, 16, 17, 18 | SSL 证书颁发机构文件的位置。 |
ssl_cert_file |
11, 12, 13, 14, 15, 16, 17, 18 | SSL 服务器证书文件的位置。 |
ssl_ciphers |
11, 12, 13, 14, 15, 16, 17, 18 | 设置允许的 SSL 密码列表。 |
ssl_crl_dir |
14, 15, 16, 17, 18 | SSL 证书吊销列表目录的位置。 |
ssl_crl_file |
11, 12, 13, 14, 15, 16, 17, 18 | SSL 证书吊销列表文件的位置。 |
ssl_dh_params_file |
11, 12, 13, 14, 15, 16, 17, 18 | SSL DH 参数文件的位置。 |
ssl_ecdh_curve |
11, 12, 13, 14, 15, 16, 17 | 设置用于 ECDH 的曲线。 |
ssl_key_file |
11, 12, 13, 14, 15, 16, 17, 18 | SSL 服务器私钥文件的位置。 |
ssl_max_protocol_version |
12, 13, 14, 15, 16, 17, 18 | 设置要使用的最高 SSL/TLS 协议版本。 |
ssl_min_protocol_version |
12, 13, 14, 15, 16, 17, 18 | 设置要使用的最低 SSL/TLS 协议版本。 |
ssl_passphrase_command |
11, 12, 13, 14, 15, 16, 17, 18 | 用于获取 SSL 通行短语的命令。 |
ssl_passphrase_command_supports_reload |
11, 12, 13, 14, 15, 16, 17, 18 | 控制在服务器重新加载期间是否调用“ssl_passphrase_command”。 |
ssl_prefer_server_ciphers |
11, 12, 13, 14, 15, 16, 17, 18 | 优先考虑服务器密码套件顺序。 |
连接和身份验证/TCP 设置
| 名称 | 版本 | 说明 |
|---|---|---|
client_connection_check_interval |
14, 15, 16, 17, 18 | 设置在运行查询时检查断开连接之间的时间间隔。 |
tcp_keepalives_count |
11, 12, 13, 14, 15, 16, 17, 18 | TCP Keepalive 重传的次数上限。 在将连接视为已断开之前,可以丢失的连续 keepalive 重传次数。 当值为 0 时,使用系统默认值。 |
tcp_keepalives_idle |
11, 12, 13, 14, 15, 16, 17, 18 | 发出 TCP Keepalive 的时间间隔。 当值为 0 时,使用系统默认值。 |
tcp_keepalives_interval |
11, 12, 13, 14, 15, 16, 17, 18 | TCP keepalive 重新传输的间隔时间。 当值为 0 时,使用系统默认值。 |
tcp_user_timeout |
12, 13, 14, 15, 16, 17, 18 | TCP 用户超时。 当值为 0 时,使用系统默认值。 |
自定义选项
| 名称 | 版本 | 说明 |
|---|---|---|
age.enable_containment |
13, 14, 15, 16 | 使用 @> 运算符转换 MATCH 的筛选器。 否则,请使用 -> 运算符。 |
anon.algorithm |
12, 13, 14, 15, 16, 17, 18 | 用于假名化函数的哈希方法。 |
anon.k_anonymity_provider |
12, 13, 14, 15, 16, 17, 18 | 用于 k 匿名的安全标签提供程序。 |
anon.masking_policies |
12, 13, 14, 15, 16, 17, 18 | 定义多个掩码策略(尚未实现)。 |
anon.maskschema |
12, 13, 14, 15, 16, 17, 18 | 存储动态掩码视图的架构。 |
anon.privacy_by_default |
12, 13, 14, 15, 16, 17, 18 | 使用 NULL(或 NOT NULL 列的默认值)屏蔽所有列。 |
anon.restrict_to_trusted_schemas |
12, 13, 14, 15, 16, 17, 18 | 屏蔽筛选器必须位于受信任架构中。 激活此选项可防止非超级用户使用其自己的屏蔽筛选器。 |
anon.salt |
12, 13, 14, 15, 16, 17, 18 | 用于假名化函数的盐值。 |
anon.sourceschema |
12, 13, 14, 15, 16, 17, 18 | 动态掩码引擎屏蔽表时采用的架构。 |
anon.strict_mode |
12, 13, 14, 15, 16, 17, 18 | 掩码规则无法更改列数据类型,除非禁用它。 不建议禁用此模式。 |
anon.transparent_dynamic_masking |
12, 13, 14, 15, 16, 17, 18 | 新的掩码引擎(实验性)。 |
auto_explain.log_analyze |
11, 12, 13, 14, 15, 16, 17, 18 | 使用 EXPLAIN ANALYZE 记录计划。 |
auto_explain.log_buffers |
11, 12, 13, 14, 15, 16, 17, 18 | 记录缓冲区使用情况。 |
auto_explain.log_format |
11, 12, 13, 14, 15, 16, 17, 18 | 用于记录计划的 EXPLAIN 格式。 |
auto_explain.log_level |
12, 13, 14, 15, 16, 17, 18 | 计划的日志级别。 |
auto_explain.log_min_duration |
11, 12, 13, 14, 15, 16, 17, 18 | 设置最短执行时间,超过该时间将将记录计划。 零打印所有计划。 -1 关闭此功能。 |
auto_explain.log_nested_statements |
11, 12, 13, 14, 15, 16, 17, 18 | 记录嵌套语句。 |
auto_explain.log_parameter_max_length |
16, 17, 18 | 设置要记录的查询参数的最大长度。 零日志没有查询参数,-1 完整记录这些参数。 |
auto_explain.log_settings |
12, 13, 14, 15, 16, 17, 18 | 记录影响查询计划的已修改配置参数。 |
auto_explain.log_timing |
11, 12, 13, 14, 15, 16, 17, 18 | 收集计时数据,而不仅仅是行计数。 |
auto_explain.log_triggers |
11, 12, 13, 14, 15, 16, 17, 18 | 在计划中包括触发器统计信息。 除非还设置了 log_analyze,否则这不起作用。 |
auto_explain.log_verbose |
11, 12, 13, 14, 15, 16, 17, 18 | 使用 EXPLAIN VERBOSE 记录计划。 |
auto_explain.log_wal |
13, 14, 15, 16, 17, 18 | 记录 WAL 使用情况。 |
auto_explain.sample_rate |
11, 12, 13, 14, 15, 16, 17, 18 | 要处理的查询的占比。 |
azure.accepted_password_auth_method |
11, 12, 13, 14, 15, 16, 17, 18 | 由服务器接受的密码身份验证方法(用逗号分隔)。 |
azure.allow_hostname_in_username |
11 | 指定是否允许在 Azure Database for PostgreSQL 灵活服务器的用户名中使用主机名。 |
azure_cdc.change_batch_buffer_size |
13, 14, 15, 16, 17, 18 | 用于更改批处理的缓冲区大小(以 MB 为单位)。 这些缓冲区用于在将 CDC 更改写入磁盘之前临时存储这些更改。 |
azure_cdc.change_batch_export_timeout |
13, 14, 15, 16, 17, 18 | 在一批更改准备好进行导出之前,可等待的最长的时间(以秒为单位)。 |
azure_cdc.max_fabric_mirrors |
13, 14, 15, 16, 17, 18 | 可以同时运行的并行构造镜像的最大数目。 |
azure_cdc.max_snapshot_workers |
13, 14, 15, 16, 17, 18 | 为快照导出而启动的最工作线程数量上限。 每个工作线程一次会导出一个表。 |
azure_cdc.onelake_buffer_size |
13, 14, 15, 16, 17, 18 | 要上传到 Onelake 的缓冲区大小(以兆字节为单位)。 Onelake 以区块的形式上传文件,并将数据缓冲到内存中,直至达到此限制。 |
azure_cdc.parquet_compression |
13, 14, 15, 16, 17, 18 | 用于 parquet 文件的压缩算法。 确定用于 parquet 文件的压缩算法。 支持的值为“未压缩”、“snappy”、“gzip”和“zstd”。 |
azure_cdc.snapshot_buffer_size |
13, 14, 15, 16, 17, 18 | 快照数据文件的缓冲区大小(以兆字节为单位)。 这些缓冲区用于写入快照数据。 虽然这间接影响文件大小,但由于压缩和其他因素,实际文件大小可能更小。 |
azure_cdc.snapshot_export_timeout |
13, 14, 15, 16, 17, 18 | 在导出数据库快照时,若出现错误,则允许等待的最长时间(以分钟为单位)。 |
azure.enable_temp_tablespaces_on_local_ssd |
11, 12, 13, 14, 15, 16, 17, 18 | 将临时对象存储在本地固态磁盘上。 |
azure.extensions |
11, 12, 13, 14, 15, 16, 17, 18 | 允许名单中的扩展列表,用逗号分隔。 如果扩展不在此列表中,则尝试在该扩展上执行 CREATE、ALTER、COMMENT、DROP EXTENSION 语句失败。 |
azure.fabric_mirror_enabled |
13, 14, 15, 16, 17, 18 | 验证Fabric Mirroring正常运行的先决条件。 仅当此设置从“off”更改为“on”时,才会进行验证。 |
credcheck.auth_delay_ms |
18 | 报告身份验证失败前延迟的毫秒数。 |
credcheck.auth_failure_cache_size |
18 | 身份验证失败缓存中的最大条目数。 |
credcheck.encrypted_password_allowed |
18 | 系统允许使用加密密码,否则抛出错误。 |
credcheck.history_max_size |
18 | 密码历史记录中的最大条目数。 |
credcheck.max_auth_failure |
18 | 用户登录帐户失效之前的最大身份验证失败次数。 |
credcheck.password_contain |
18 | 密码应包含这些字符 |
credcheck.password_contain_username |
18 | 密码包含用户名 |
credcheck.password_ignore_case |
18 | 在密码检查时忽略大小写 |
credcheck.password_min_digit |
18 | 最小密码位数 |
credcheck.password_min_length |
18 | 最短密码长度 |
credcheck.password_min_lower |
18 | 最小密码小写字母 |
credcheck.password_min_repeat |
18 | 最小密码字符重复次数限制 |
credcheck.password_min_special |
18 | 最小特殊字符 |
credcheck.password_min_upper |
18 | 密码中大写字母的最小数量 |
credcheck.password_not_contain |
18 | 密码不应包含这些字符 |
credcheck.password_reuse_history |
18 | 允许重用密码前的最小更改次数 |
credcheck.password_reuse_interval |
18 | 允许重用之前经过的最短天数 |
credcheck.password_valid_max |
18 | 强制在 CREATE ROLE 语句中使用 VALID UNTIL 子句,并设定天数上限 |
credcheck.password_valid_until |
18 | 在 CREATE ROLE 语句中必须使用 VALID UNTIL 子句,并设定一个最低天数限制 |
credcheck.reset_superuser |
18 | 在被禁止时还原超级用户访问权限。 |
credcheck.username_contain |
18 | 用户名应包含这些字符 |
credcheck.username_contain_password |
18 | 用户名包含密码 |
credcheck.username_ignore_case |
18 | 在用户名检查时忽略大小写 |
credcheck.username_min_digit |
18 | 最小用户名位数 |
credcheck.username_min_length |
18 | 最小用户名长度 |
credcheck.username_min_lower |
18 | 最小用户名小写字母 |
credcheck.username_min_repeat |
18 | 用户名字符的最小重复次数 |
credcheck.username_min_special |
18 | 最少用户名特殊字符数量 |
credcheck.username_min_upper |
18 | 用户名中必须包含的最小大写字母数量 |
credcheck.username_not_contain |
18 | 用户名不应包含这些字符 |
credcheck.whitelist |
18 | 要从密码策略检查中排除的用户名的逗号分隔列表。 |
credcheck.whitelist_auth_failure |
18 | 以逗号分隔的用户列表,用于指定不计入最大登录失败次数的用户名。 |
cron.database_name |
11, 12, 13, 14, 15, 16, 17, 18 | 用于存储pg_cron元数据的数据库。 |
cron.enable_superuser_jobs |
12, 13, 14, 15, 16, 17, 18 | 允许以超级用户身份安排作业。 |
cron.host |
12, 13, 14, 15, 16, 17, 18 | 要连接到 PostgreSQL 数据库的主机名。 使用后台辅助角色时,此设置不起作用。 |
cron.launch_active_jobs |
12, 13, 14, 15, 16, 17, 18 | 启动被定义为活动的作业。 |
cron.log_min_messages |
12, 13, 14, 15, 16, 17, 18 | 启动器 bgworker 的 log_min_messages。 |
cron.log_run |
11, 12, 13, 14, 15, 16, 17, 18 | 将所有作业运行记录到 job_run_details 表中。 |
cron.log_statement |
11, 12, 13, 14, 15, 16, 17, 18 | 在执行之前记录所有 cron 语句。 |
cron.max_running_jobs |
11, 12, 13, 14, 15, 16, 17, 18 | 可并发运行的最大作业数。 |
cron.timezone |
12, 13, 14, 15, 16, 17, 18 | 指定用于 cron 计划的时区。 |
cron.use_background_workers |
12, 13, 14, 15, 16, 17, 18 | 使用后台工作者而不是客户端会话。 |
pgaadauth.enable_group_sync |
12, 13, 14, 15, 16, 17, 18 | 启用 Microsoft Entra ID 组成员的同步。 |
pgaudit.log |
11, 12, 13, 14, 15, 16, 17, 18 | 指定会话审核日志将记录哪些语句类。 可以使用逗号分隔的列表来提供多个类,并且可以通过用 - 符号开头来减去类。 |
pgaudit.log_catalog |
11, 12, 13, 14, 15, 16, 17, 18 | 指定在语句中的所有关系都处于 pg_catalog 的情况下,应启用会话日志记录。 禁用此设置将减少来自大量查询目录的工具(如 psql 和 PgAdmin)的日志中的干扰。 |
pgaudit.log_client |
11, 12, 13, 14, 15, 16, 17, 18 | 指定审核消息是否应对客户端可见。 此设置通常应处于禁用状态,但对于调试或其他目的可能很有用。 |
pgaudit.log_level |
11, 12, 13, 14, 15, 16, 17, 18 | 指定将用于日志条目的日志级别。 此设置用于回归测试,也可用于最终用户进行测试或其他目的。 它不应在生产环境中使用,因为它可能会泄露正在记录的语句给用户。 |
pgaudit.log_parameter |
11, 12, 13, 14, 15, 16, 17, 18 | 指定审核日志应包含随语句一起传递的参数。 如果存在参数,这些参数将包含在语句文本之后的 CSV 格式。 |
pgaudit.log_parameter_max_size |
16, 17, 18 | 指定要记录的可变长度参数的最大长度(以字节为单位)。 如果为 0(默认值),则不会检查参数的大小。 如果设置,当参数的大小超过设置时,审核日志中的值将替换为占位符。 请注意,对于字符类型,参数编码的长度为字节,而不是字符。 |
pgaudit.log_relation |
11, 12, 13, 14, 15, 16, 17, 18 | 指定会话审核日志记录是否应为 SELECT 或 DML 语句中引用的每个关系创建单独的日志条目。 这是一种在不使用对象审核日志记录的情况下实现全面日志记录的有用快捷方式。 |
pgaudit.log_rows |
14, 15, 16, 17, 18 | 指定日志记录是否会包含由某条语句检索到或影响到的行。 |
pgaudit.log_statement |
14, 15, 16, 17, 18 | 指定日志记录是否包括语句文本和参数。 根据要求,审核日志中可能不需要完整语句文本。 |
pgaudit.log_statement_once |
11, 12, 13, 14, 15, 16, 17, 18 | 指定日志记录是否会包括语句文本及其参数,是在语句/子语句组合的第一条日志项目中包含,还是在每条日志项目中都包含。 禁用此设置将导致日志详细程度降低,但可能更难以确定生成日志条目的语句。不过,语句/子语句对以及进程 ID 应该足以识别与先前记录一起的语句文本。 |
pgaudit.role |
11, 12, 13, 14, 15, 16, 17, 18 | 指定要用于对象审核日志的主角色。 可以通过将权限授予主角色,来定义多个审核角色。 这样,多个组就可以负责审核日志记录的不同方面。 |
pg_failover_slots.drop_extra_slots |
12, 13, 14, 15, 16 | 是否删除与 pg_failover_slots.synchronize_slot_names 不匹配的额外备用槽位。 |
pg_failover_slots.primary_dsn |
12, 13, 14, 15, 16 | 用于在备用服务器上同步逻辑复制槽的主服务器连接串。 如果为空,则使用默认值primary_conninfo。 |
pg_failover_slots.standby_slot_names |
12, 13, 14, 15, 16 | 在解码插件发送更改之前,必须确认的槽名称列表。 物理复制槽列表,在输出插件将某个 LSN 之前的提交复制到逻辑对等方之前,必须确认该 LSN 的持久化刷新。 在逻辑复制之前强制执行物理复制的顺序。 |
pg_failover_slots.standby_slots_min_confirmed |
12, 13, 14, 15, 16 | pg_failover_slots.standby_slot_names 的槽位数量,这些槽位必须确认 LSN。 修改 pg_failover_slots.standby_slot_names 的行为,以便在至少有 pg_failover_slots.standby_slots_min_confirmed 个物理对等方确认该事务已成功持久刷新之后,能够对事务进行逻辑复制。 值 -1(默认值)表示 pg_failover_slots.standby_slot_names 中的所有条目必须确认写入。 当取值为 0 时,pg_failover_slots.standby_slots_min_confirmed 将被有效地忽略。 |
pg_failover_slots.synchronize_slot_names |
12, 13, 14, 15, 16 | 要从主服务器同步到物理备用服务器的插槽列表。 |
pg_failover_slots.version |
12, 13, 14, 15, 16 | pg_failover_slots模块版本。 |
pg_failover_slots.wait_for_inactive_slots |
12, 13, 14, 15, 16 | 是否要等待主服务器上处于闲置状态的复制槽位来与备用服务器同步。 |
pg_hint_plan.debug_print |
12, 13, 14, 15, 16, 17, 18 | 记录提示分析的结果。 |
pg_hint_plan.enable_hint |
12, 13, 14, 15, 16, 17, 18 | 强制规划器使用查询前面的提示注释中指定的计划。 |
pg_hint_plan.enable_hint_table |
12, 13, 14, 15, 16, 17, 18 | 让 pg_hint_plan 去查找提示表。 |
pg_hint_plan.hints_anywhere |
13, 14, 15, 16 | 从查询中的任何位置读取提示。 此选项允许pg_hint_plan忽略语法,因此对误读应谨慎。 |
pg_hint_plan.message_level |
12, 13, 14, 15, 16, 17, 18 | 调试消息的消息级别。 |
pg_hint_plan.parse_messages |
12, 13, 14, 15, 16, 17, 18 | 解析错误的信息级别。 |
pglogical.batch_inserts |
11, 12, 13, 14, 15, 16, 17, 18 | 如果可能,请告知 PGLogical 使用批量插入机制。 |
pglogical.conflict_log_level |
11, 12, 13, 14, 15, 16, 17, 18 | 设置当 pglogical.conflict_resolution 设置为除 error 以外的任何值时报告检测到的冲突的日志级别。 |
pglogical.conflict_resolution |
11, 12, 13, 14, 15, 16, 17, 18 | 设置本地数据和传入更改之间检测到的任何冲突的解决方法。 |
pglogical.extra_connection_options |
12, 13, 14, 15, 16, 17, 18 | 添加到所有对等节点连接的连接选项。 |
pglogical.synchronous_commit |
12, 13, 14, 15, 16, 17, 18 | pglogical 特定的同步提交值。 |
pglogical.temp_directory |
12, 13, 14, 15, 16, 17, 18 | 用于存储本地还原用的备份文件的目录。 |
pglogical.use_spi |
11, 12, 13, 14, 15, 16, 17, 18 | 告知 PGLogical 使用 SPI 接口形成实际 SQL(INSERT、UPDATE、DELETE)语句来应用传入更改,而不是使用内部低级别接口。 |
pgms_stats.is_enabled_fs |
11, 12, 13, 14, 15, 16, 17, 18 | 仅供内部使用:此参数用作功能替代开关。 |
pgms_wait_sampling.history_period |
11, 12, 13, 14, 15, 16, 17, 18 | 设置采样等待事件的频率(以毫秒为单位)。 |
pgms_wait_sampling.is_enabled_fs |
11, 12, 13, 14, 15, 16, 17 | 仅供内部使用:此参数用作功能替代开关。 如果显示为“关闭”,则会禁用等待采样,即使为 pgms_wait_sampling.query_capture_mode 设置了值,也会禁用。 |
pgms_wait_sampling.query_capture_mode |
11, 12, 13, 14, 15, 16, 17, 18 | 可以选择由该扩展跟踪的等待事件类型。 需要重新加载配置以使更改生效。 |
pg_partman_bgw.analyze |
11, 12, 13, 14, 15, 16, 17, 18 | 是否在run_maintenance()期间创建新分区时对分区集运行分析。 设置为“开启”以发送 TRUE(默认)。 设置为“关闭”以发送 FALSE。 |
pg_partman_bgw.dbname |
11, 12, 13, 14, 15, 16, 17, 18 | 群集中要运行pg_partman BGW 的特定数据库的 CSV 列表。 |
pg_partman_bgw.interval |
11, 12, 13, 14, 15, 16, 17, 18 | run_maintenance()的调用频率(以秒为单位)。 |
pg_partman_bgw.jobmon |
11, 12, 13, 14, 15, 16, 17, 18 | 是否记录run_maintenance()对pg_jobmon的调用(如果已安装)。 设置为“开启”以发送 TRUE(默认值)。 设置为“关闭”以发送 FALSE。 |
pg_partman_bgw.maintenance_wait |
16, 17, 18 | 运行维护操作时,每个分区集之间的等待时间(以秒为单位)。 |
pg_partman_bgw.role |
11, 12, 13, 14, 15, 16, 17, 18 | 供 BGW 使用的角色。 必须对 run_maintenance() 具有执行权限。 |
pg_prewarm.autoprewarm |
12, 13, 14, 15, 16, 17, 18 | 启动自动预热工作线程。 |
pg_prewarm.autoprewarm_interval |
12, 13, 14, 15, 16, 17, 18 | 设置共享缓冲区转储之间的间隔。 如果设置为 0,则禁用基于时间的转储。 |
pg_qs.interval_length_minutes |
11, 12, 13, 14, 15, 16, 17, 18 | 设置聚合窗口(以分钟为单位)。 需要重新加载配置以使更改生效。 |
pg_qs.max_captured_queries |
13, 14, 15, 16, 17, 18 | 指定查询存储在每个时间间隔内要收集运行时统计数据的最相关查询数量。 |
pg_qs.max_plan_size |
11, 12, 13, 14, 15, 16, 17, 18 | 设置将保存查询计划文本的最大字节数;较长的计划将被截断。 需要重新加载此更改的配置才能生效。 |
pg_qs.max_query_text_length |
11, 12, 13, 14, 15, 16, 17, 18 | 设置将保存的最大查询文本长度;将截断较长的查询。 需要重新加载配置以使更改生效。 |
pg_qs.parameters_capture_mode |
11, 12, 13, 14, 15, 16, 17, 18 | 选择pg_qs捕获位置查询参数的方式。 需要重新加载配置,使更改生效。 |
pg_qs.query_capture_mode |
11, 12, 13, 14, 15, 16, 17, 18 | 选择pg_qs跟踪的语句。 需要重新加载配置以使更改生效。 |
pg_qs.retention_period_in_days |
11, 12, 13, 14, 15, 16, 17, 18 | 设置 pg_qs 的保留期窗口(以天为单位)- 数据将在此时间之后删除。 需要重启服务器以使更改生效。 |
pg_qs.store_query_plans |
11, 12, 13, 14, 15, 16, 17, 18 | 启用或禁用查询计划保存。 需要重新加载配置,使更改生效。 |
pg_qs.track_utility |
11, 12, 13, 14, 15, 16, 17, 18 | 选择是否通过 pg_qs 跟踪实用工具命令。 需要重新加载配置以使更改生效。 |
pg_stat_statements.max |
11, 12, 13, 14, 15, 16, 17, 18 | 设置 pg_stat_statements 跟踪的语句数量上限。 |
pg_stat_statements.save |
11, 12, 13, 14, 15, 16, 17, 18 | 每次服务器关机后保存 pg_stat_statements 统计信息。 |
pg_stat_statements.track |
11, 12, 13, 14, 15, 16, 17, 18 | 选择 pg_stat_statements 跟踪哪些语句。 |
pg_stat_statements.track_planning |
13, 14, 15, 16, 17, 18 | 选择是否通过 pg_stat_statements 跟踪计划持续时间。 |
pg_stat_statements.track_utility |
11, 12, 13, 14, 15, 16, 17, 18 | 选择是否通过 pg_stat_statements 跟踪实用工具命令。 |
postgis.gdal_enabled_drivers |
11, 12, 13, 14, 15, 16, 17, 18 | 控制已启用 postgis GDAL 的驱动程序设置。 |
squeeze.max_xlock_time |
12, 13, 14, 15, 16, 17, 18 | 已处理表可以被独占锁定的最长时间。 源表在处理的最后阶段以独占方式锁定。 如果锁定时间应超过此值,则会释放锁,最后阶段将重试几次。 |
squeeze.worker_autostart |
12, 13, 14, 15, 16, 17, 18 | 后台工作线程自动启动的数据库的名称。 群集启动完成后立即开始压缩工作线程的数据库的逗号分隔列表。 |
squeeze.worker_role |
12, 13, 14, 15, 16, 17, 18 | 后台工作者连接数据库时使用的角色。 如果在群集启动时自动启动后台工作进程,它将使用此角色来启动数据库连接。 |
squeeze.workers_per_database |
15, 16, 17, 18 | 为每个数据库启动的最大压缩工作线程数。 |
timescaledb.bgw_launcher_poll_time |
12, 13, 14, 15, 16, 17 | 启动器超时值(以毫秒为单位)。 配置启动器等待查找新的 TimescaleDB 实例的时间。 |
timescaledb.disable_load |
12, 13, 14, 15, 16, 17 | 禁用实际扩展的加载。 |
timescaledb.max_background_workers |
12, 13, 14, 15, 16, 17 | 分配给 TimescaleDB 的最大后台工作线程数。 分配给 TimescaleDB 的最大后台工作线程 - 设置为至少 1 + Postgres 实例中的数据库数量,以使用后台工作线程。 |
timescaledb_osm.disable_load |
13, 14, 15, 16, 17 | 禁用实际扩展的加载。 |
开发人员选项
| 名称 | 版本 | 说明 |
|---|---|---|
allow_in_place_tablespaces |
11, 12, 13, 14, 15, 16, 17, 18 | 允许直接位于 pg_tblspc 内的表空间进行测试。 |
allow_system_table_mods |
11, 12, 13, 14, 15, 16, 17, 18 | 允许修改系统表的结构。 |
backtrace_functions |
13, 14, 15, 16, 17, 18 | 记录对这些函数中错误的回溯。 |
debug_discard_caches |
14, 15, 16, 17, 18 | 出于调试目的,主动刷新系统缓存。 |
debug_io_direct |
16, 17, 18 | 使用直接 I/O 进行文件访问。 |
debug_logical_replication_streaming |
16, 17, 18 | 强制在大型事务中立即进行流式传输或序列化更改。 在发布服务器上,它允许对逻辑解码中的每个更改进行流式处理或序列化。 在订阅者一侧,它允许对文件的所有更改进行序列化,并通知并行应用工作者在事务结束时读取并应用这些更改。 |
debug_parallel_query |
16, 17, 18 | 强制规划器使用并行查询节点。 这可用于测试并行查询基础结构,方法是强制规划器生成包含节点的计划,这些节点执行工作器与主进程之间的元组通信。 |
force_parallel_mode |
11、12、13、14、15 | 强制使用并行查询工具。 |
ignore_checksum_failure |
11, 12, 13, 14, 15, 16, 17, 18 | 在校验和故障后继续处理。 检测到校验和错误时,PostgreSQL 通常会报告错误并中止当前事务。 将ignore_checksum_failure设置为 true 会导致系统忽略失败(但仍报告警告),并继续处理。 此行为可能会导致崩溃或其他严重问题。 仅当启用了校验和时,才有效。 |
ignore_invalid_pages |
13, 14, 15, 16, 17, 18 | 在页面无效故障后继续恢复。 检测在恢复期间引用无效页面的 WAL 记录会导致 PostgreSQL 引发 PANIC 级错误,从而中止恢复。 将“ignore_invalid_pages”设置为 true 会导致系统忽略 WAL 记录中的无效页面引用(但仍报告警告),并继续恢复。 此行为可能会导致崩溃、数据丢失、传播或隐藏损坏或其他严重问题。 仅在恢复或处于待机模式期间有效。 |
ignore_system_indexes |
11, 12, 13, 14, 15, 16, 17, 18 | 禁止读取系统索引。 它不会阻止更新索引,因此可以安全地使用。 最严重的后果是缓慢。 |
jit_debugging_support |
11, 12, 13, 14, 15, 16, 17, 18 | 向调试程序注册 JIT 编译的函数。 |
jit_dump_bitcode |
11, 12, 13, 14, 15, 16, 17, 18 | 写出 LLVM Bitcode 以方便 JIT 调试。 |
jit_expressions |
11, 12, 13, 14, 15, 16, 17, 18 | 允许 JIT 编译表达式。 |
jit_profiling_support |
11, 12, 13, 14, 15, 16, 17, 18 | 向性能探查器注册 JIT 编译的函数。 |
jit_tuple_deforming |
11, 12, 13, 14, 15, 16, 17, 18 | 允许 JIT 编译元组变形。 |
post_auth_delay |
11, 12, 13, 14, 15, 16, 17, 18 | 设置在连接启动时进行身份验证之后等待的时间长度。 这允许将调试器附加到进程。 |
pre_auth_delay |
11, 12, 13, 14, 15, 16, 17, 18 | 设置在连接启动时进行身份验证之前等待的时间长度。 这允许将调试器附加到进程。 |
remove_temp_files_after_crash |
14, 16, 17, 18 | 在后端崩溃后删除临时文件。 |
send_abort_for_crash |
16, 17, 18 | 在后端崩溃后,将 SIGABRT 而不是 SIGQUIT 发送到子进程。 |
send_abort_for_kill |
16, 17, 18 | 将 SIGABRT 而不是 SIGKILL 发送到停滞的子进程。 |
trace_connection_negotiation |
17,18 | 记录预身份验证连接握手的详细信息。 |
trace_notify |
11, 12, 13, 14, 15, 16, 17, 18 | 为 LISTEN 和 NOTIFY 生成调试输出。 |
trace_recovery_messages |
11、12、13、14、15、16 | 启用与恢复相关的调试信息的日志记录。 |
trace_sort |
11, 12, 13, 14, 15, 16, 17, 18 | 发出有关排序中资源使用情况的信息。 |
wal_consistency_checking |
11, 12, 13, 14, 15, 16, 17, 18 | 设置执行 WAL 一致性检查的 WAL 资源管理器。 所有数据块的完整页面图像都将被记录下来,并与 WAL 日志回放的结果进行交叉验证。 |
zero_damaged_pages |
11, 12, 13, 14, 15, 16, 17, 18 | 继续处理已损坏的页眉。 检测损坏的页面标头通常会导致 PostgreSQL 报告错误,中止当前事务。 将“zero_damaged_pages”设置为 true 会导致系统改为报告警告、零掉损坏的页面并继续处理。 这种行为会破坏数据,即损坏页面上的所有数据行。 |
错误处理
| 名称 | 版本 | 说明 |
|---|---|---|
data_sync_retry |
11, 12, 13, 14, 15, 16, 17, 18 | 同步数据文件失败后是否继续运行。 |
exit_on_error |
11, 12, 13, 14, 15, 16, 17, 18 | 在任何错误时终止会话。 |
recovery_init_sync_method |
14, 15, 16, 17, 18 | 设置在故障恢复之前同步数据目录的方法。 |
restart_after_crash |
11, 12, 13, 14, 15, 16, 17, 18 | 在后端故障后重新初始化服务器。 |
文件位置
| 名称 | 版本 | 说明 |
|---|---|---|
config_file |
11, 12, 13, 14, 15, 16, 17, 18 | 设置服务器的主配置文件。 |
data_directory |
11, 12, 13, 14, 15, 16, 17, 18 | 设置服务器的数据目录。 |
external_pid_file |
11, 12, 13, 14, 15, 16, 17, 18 | 将 postmaster PID 写入指定文件。 |
hba_file |
11, 12, 13, 14, 15, 16, 17, 18 | 设置服务器的“hba”配置文件。 |
ident_file |
11, 12, 13, 14, 15, 16, 17, 18 | 设置服务器的“ident”配置文件。 |
智能优化
| 名称 | 版本 | 说明 |
|---|---|---|
index_tuning.analysis_interval |
12, 13, 14, 15, 16, 17, 18 | 将 index_tuning.mode 设置为“REPORT”时触发每个索引优化会话的频率。 |
index_tuning.max_columns_per_index |
12, 13, 14, 15, 16, 17, 18 | 任何建议索引的索引键中可以包含的最大列数。 |
index_tuning.max_index_count |
12, 13, 14, 15, 16, 17, 18 | 在一个优化会话期间可以为每个数据库推荐的最大索引数。 |
index_tuning.max_indexes_per_table |
12, 13, 14, 15, 16, 17, 18 | 每个表可推荐的最大索引数。 |
index_tuning.max_queries_per_database |
12, 13, 14, 15, 16, 17, 18 | 可向其推荐索引的每个数据库的最慢查询数。 |
index_tuning.max_regression_factor |
12, 13, 14, 15, 16, 17, 18 | 在一个优化会话期间所分析的任何查询上,由推荐的索引所引入的可接受回归。 |
index_tuning.max_total_size_factor |
12, 13, 14, 15, 16, 17, 18 | 任何给定数据库的所有建议索引所能使用的最大总空间占总磁盘空间的百分比。 |
index_tuning.min_improvement_factor |
12, 13, 14, 15, 16, 17, 18 | 在一个优化会话期间,建议的索引必须向至少一个所分析查询提供的成本改善幅度。 |
index_tuning.mode |
12, 13, 14, 15, 16, 17, 18 | 将索引优化配置为已禁用 ('OFF'),或仅启用以仅发出建议。 需要通过将 pg_qs.query_capture_mode 设置为 'TOP' 或 'ALL' 来启用查询存储。 |
index_tuning.unused_dml_per_table |
12, 13, 14, 15, 16, 17, 18 | 影响表的每日平均 DML 操作的最小数量,超过此值时将考虑删除其未使用的索引。 |
index_tuning.unused_min_period |
12, 13, 14, 15, 16, 17, 18 | 根据系统统计信息,未使用索引的最小天数,超过此值时将考虑删除索引。 |
index_tuning.unused_reads_per_table |
12, 13, 14, 15, 16, 17, 18 | 影响表的每日平均读取操作的最小数量,超过此值时将考虑删除其未使用的索引。 |
intelligent_tuning |
11, 12, 13, 14, 15, 16, 17 | 启用智能优化 |
intelligent_tuning.metric_targets |
11, 12, 13, 14, 15, 16, 17 | 指定智能优化将调整哪些指标。 |
logfiles.download_enable |
11, 12, 13, 14, 15, 16, 17, 18 | 启用或禁用服务器日志功能。 |
logfiles.retention_days |
11, 12, 13, 14, 15, 16, 17, 18 | 设置服务器日志的保留期时间段(以天为单位)- 数据将在此时间之后被删除。 |
锁管理
| 名称 | 版本 | 说明 |
|---|---|---|
deadlock_timeout |
11, 12, 13, 14, 15, 16, 17, 18 | 设置在检查死锁之前等待某个锁的时间。 |
max_locks_per_transaction |
11, 12, 13, 14, 15, 16, 17, 18 | 设置每个事务的最大锁数。 共享锁表的大小基于以下假设:在任何时刻,每个服务器进程或准备事务需要锁定的对象数不超过“max_locks_per_transaction”的值。 |
max_pred_locks_per_page |
11, 12, 13, 14, 15, 16, 17, 18 | 设置每页的谓词锁定元组数量上限。 如果在同一页上被连接锁定的元组数量超过此数,则这些锁将被页级锁替换。 |
max_pred_locks_per_relation |
11, 12, 13, 14, 15, 16, 17, 18 | 设置每个关系的谓词锁定页和元组数量上限。 如果一个连接对同一个关系中的页面和元组数量超过了某个阈值,那么系统会将这些锁替换为关系级别的锁。 |
max_pred_locks_per_transaction |
11, 12, 13, 14, 15, 16, 17, 18 | 设置每个事务的谓词锁定数量上限。 共享谓词锁表的大小基于以下假设:在任何时刻,每个服务器进程或准备事务需要锁定的对象数不超过“max_pred_locks_per_transaction”的值。 |
指标
| 名称 | 版本 | 说明 |
|---|---|---|
metrics.autovacuum_diagnostics |
11, 12, 13, 14, 15, 16, 17, 18 | 为数据库中的所有表统计信息启用指标收集 |
metrics.collector_database_activity |
11, 12, 13, 14, 15, 16, 17, 18 | 为数据库和活动统计信息启用指标收集 |
metrics.pgbouncer_diagnostics |
11, 12, 13, 14, 15, 16, 17, 18 | 为 PgBouncer 启用指标收集。 |
Migration
| 名称 | 版本 | 说明 |
|---|---|---|
azure.migration_copy_with_binary |
11, 12, 13, 14, 15, 16, 17, 18 | 设置为 on 时,此参数将允许在迁移过程中使用二进制格式来复制数据。 |
azure.migration_skip_analyze |
11, 12, 13, 14, 15, 16, 17, 18 | 设置为“启用”时,此参数将在迁移过程中跳过分析阶段(vacuumdb --analyze-only)。 |
azure.migration_skip_extensions |
11, 12, 13, 14, 15, 16, 17, 18 | 设置为“开启”时,此参数将跳过扩展的迁移。 |
azure.migration_skip_large_objects |
11, 12, 13, 14, 15, 16, 17, 18 | 设置为 on 时,此参数将跳过大型对象(如 BLOB)的迁移。 |
azure.migration_skip_role_user |
11, 12, 13, 14, 15, 16, 17, 18 | 设置为“启用”时,此参数将从迁移过程中排除用户角色。 |
azure.migration_table_split_size |
11, 12, 13, 14, 15, 16, 17, 18 | 设置时,此参数指定在迁移期间将分区表的大小。 |
PgBouncer
| 名称 | 版本 | 说明 |
|---|---|---|
pgbouncer.default_pool_size |
11, 12, 13, 14, 15, 16, 17, 18 | 每个用户/数据库对允许的服务器连接数。 |
pgbouncer.enabled |
11, 12, 13, 14, 15, 16, 17, 18 | 表示是否启用了 pgBouncer 服务。 |
pgbouncer.ignore_startup_parameters |
11, 12, 13, 14, 15, 16, 17, 18 | PgBouncer 可忽略的参数的逗号分隔列表,因为这些参数将由管理员处理。 |
pgbouncer.max_client_conn |
11, 12, 13, 14, 15, 16, 17, 18 | 允许的最大客户端连接数。 |
pgbouncer.max_prepared_statements |
11, 12, 13, 14, 15, 16, 17, 18 | 当它设置为非零值时,PgBouncer 会跟踪客户端在事务和语句池模式下发送的、协议级命名的、已准备好的语句相关命令。 |
pgbouncer.min_pool_size |
11, 12, 13, 14, 15, 16, 17, 18 | 如果低于此数量,请将更多服务器连接添加到池。 |
pgbouncer.pool_mode |
11, 12, 13, 14, 15, 16, 17, 18 | 指定服务器连接何时可供其他客户端重复使用。 |
pgbouncer.query_wait_timeout |
11, 12, 13, 14, 15, 16, 17, 18 | 允许查询等待执行的最长时间(以秒为单位)。 如果在此时间段内未将查询分配给服务器,客户端将断开连接。 |
pgbouncer.server_idle_timeout |
11, 12, 13, 14, 15, 16, 17, 18 | 如果服务器连接空闲时间超过此秒数,则会将其断开。 如果为 0,则禁用超时。 |
pgbouncer.stats_users |
11, 12, 13, 14, 15, 16, 17, 18 | 获允在 pgBouncer 控制台上连接和运行只读查询的数据库用户的逗号分隔列表。 |
预设选项
| 名称 | 版本 | 说明 |
|---|---|---|
block_size |
11, 12, 13, 14, 15, 16, 17, 18 | 显示磁盘块的大小。 |
data_checksums |
11, 12, 13, 14, 15, 16, 17, 18 | 显示是否为此群集启用了数据校验和。 |
data_directory_mode |
11, 12, 13, 14, 15, 16, 17, 18 | 显示数据目录的模式。 参数值是以 chmod 和 umask 系统调用接受的形式表示的数字模式规范。 (若要使用自定义八进制格式,数字必须以 0 开头(零)。 |
debug_assertions |
11, 12, 13, 14, 15, 16, 17, 18 | 显示正在运行的服务器是否启用了断言检查。 |
huge_pages_status |
17,18 | 指示巨页的状态。 |
in_hot_standby |
14, 15, 16, 17, 18 | 显示热备用服务器当前是否处于活动状态。 |
integer_datetimes |
11, 12, 13, 14, 15, 16, 17, 18 | 显示日期/时间是否基于整数。 |
lc_collate |
11、12、13、14、15 | 显示排序规则顺序区域设置。 |
lc_ctype |
11、12、13、14、15 | 显示字符分类和大小写转换区域设置。 |
max_function_args |
11, 12, 13, 14, 15, 16, 17, 18 | 显示函数自变量的最大数目。 |
max_identifier_length |
11, 12, 13, 14, 15, 16, 17, 18 | 显示最大标识符长度。 |
max_index_keys |
11, 12, 13, 14, 15, 16, 17, 18 | 显示索引键的最大数目。 |
num_os_semaphores |
18 | 显示需要为服务器配置的信号量数量。 |
segment_size |
11, 12, 13, 14, 15, 16, 17, 18 | 显示每个磁盘文件的页面数。 |
server_encoding |
11, 12, 13, 14, 15, 16, 17, 18 | 显示服务器(数据库)字符集编码。 |
server_version |
11, 12, 13, 14, 15, 16, 17, 18 | 显示服务器版本。 |
server_version_num |
11, 12, 13, 14, 15, 16, 17, 18 | 将服务器版本显示为整数。 |
shared_memory_size |
15, 16, 17, 18 | 显示服务器的主共享内存区域的大小(向上舍入到最近的 MB)。 |
shared_memory_size_in_huge_pages |
15, 16, 17, 18 | 显示主共享内存区域所需的大型页数。 -1 表示无法确定该值。 |
ssl_library |
12, 13, 14, 15, 16, 17, 18 | 显示 SSL 库的名称。 |
wal_block_size |
11, 12, 13, 14, 15, 16, 17, 18 | 显示预写日志中的块大小。 |
wal_segment_size |
11, 12, 13, 14, 15, 16, 17, 18 | 显示预写日志段的大小。 |
进程标题
| 名称 | 版本 | 说明 |
|---|---|---|
cluster_name |
11, 12, 13, 14, 15, 16, 17, 18 | 设置进程标题中包含的群集名称。 |
update_process_title |
11, 12, 13, 14, 15, 16, 17, 18 | 更新进程标题以显示活动 SQL 命令。 启用每次服务器接收新的 SQL 命令时更新进程标题。 |
查询优化/基因查询优化器
| 名称 | 版本 | 说明 |
|---|---|---|
geqo |
11, 12, 13, 14, 15, 16, 17, 18 | 启用遗传查询优化。 此算法尝试进行规划,而无需详尽搜索。 |
geqo_effort |
11, 12, 13, 14, 15, 16, 17, 18 | GEQO:为其他 GEQO 参数设置默认值所付出的工作量。 |
geqo_generations |
11, 12, 13, 14, 15, 16, 17, 18 | GEQO:算法的迭代次数。 零选择合适的默认值。 |
geqo_pool_size |
11, 12, 13, 14, 15, 16, 17, 18 | GEQO:种群中的个体数目。 零选择合适的默认值。 |
geqo_seed |
11, 12, 13, 14, 15, 16, 17, 18 | GEQO:用于随机路径选择的种子。 |
geqo_selection_bias |
11, 12, 13, 14, 15, 16, 17, 18 | GEQO:种群内部的选择性压力。 |
geqo_threshold |
11, 12, 13, 14, 15, 16, 17, 18 | 设置 FROM 项的阈值,超过该阈值时会使用 GEQO。 |
查询优化/其他规划器选项
| 名称 | 版本 | 说明 |
|---|---|---|
constraint_exclusion |
11, 12, 13, 14, 15, 16, 17, 18 | 使规划器能够使用约束来优化查询。 如果某个表的约束确保没有行匹配查询条件,将跳过该表的扫描。 |
cursor_tuple_fraction |
11, 12, 13, 14, 15, 16, 17, 18 | 设置规划器对要检索的游标行的分数的估算值。 |
default_statistics_target |
11, 12, 13, 14, 15, 16, 17, 18 | 设置默认统计信息目标。 这适用于尚未通过 ALTER TABLE SET STATISTICS 设置列专用统计目标的表列。 |
from_collapse_limit |
11, 12, 13, 14, 15, 16, 17, 18 | 设置 FROM 列表大小,超过该大小时将不会折叠子查询。 规划器将在生成的 FROM 列表项不超过这个数量时,将子查询合并到上层查询中。 |
jit |
11, 12, 13, 14, 15, 16, 17, 18 | 允许 JIT 编译。 |
join_collapse_limit |
11, 12, 13, 14, 15, 16, 17, 18 | 设置 FROM 列表的大小,超过该大小时将不平展 JOIN 构造。 当列表中的项目数量不超过此值时,规划器会将显式 JOIN 结构转化为 FROM 项的列表。 |
plan_cache_mode |
12, 13, 14, 15, 16, 17, 18 | 控制规划器选择自定义或通用计划的行为。 预编译语句可以有自定义计划和通用计划,而规划器会尝试选择哪种方案更优。 这可以设置为替代默认行为。 |
recursive_worktable_factor |
15, 16, 17, 18 | 设置规划器对递归查询的工作表的平均大小的估计值。 |
查询优化/规划器成本常量
| 名称 | 版本 | 说明 |
|---|---|---|
cpu_index_tuple_cost |
11, 12, 13, 14, 15, 16, 17, 18 | 设置规划器对索引扫描期间处理每个索引条目的成本估算值。 |
cpu_operator_cost |
11, 12, 13, 14, 15, 16, 17, 18 | 设置规划器对处理每个运算符或函数调用的成本的估计值。 |
cpu_tuple_cost |
11, 12, 13, 14, 15, 16, 17, 18 | 设置规划器对每个元组(行)的处理成本的估算值。 |
effective_cache_size |
11, 12, 13, 14, 15, 16, 17, 18 | 设置规划器关于数据缓存总大小的假设。 也就是说,用于 PostgreSQL 数据文件的缓存(内核缓存和共享缓冲区)的总大小。 这以磁盘页(通常为 8 kB)进行度量。 |
jit_above_cost |
11, 12, 13, 14, 15, 16, 17, 18 | 如果查询成本更高,则执行 JIT 编译。 -1 禁用 JIT 编译。 |
jit_inline_above_cost |
11, 12, 13, 14, 15, 16, 17, 18 | 如果查询成本较高,则执行 JIT 内联。 -1 禁用代码内联。 |
jit_optimize_above_cost |
11, 12, 13, 14, 15, 16, 17, 18 | 如果查询成本更高,请优化 JIT 编译的函数。 -1 禁用优化。 |
min_parallel_index_scan_size |
11, 12, 13, 14, 15, 16, 17, 18 | 设置并行扫描的最小索引数据量。 如果规划器估计它将读取的索引页数量不够达此限制,则不会考虑进行并行索引扫描。 |
min_parallel_table_scan_size |
11, 12, 13, 14, 15, 16, 17, 18 | 设置并行扫描的最小表数据量。 如果规划器估计它将读取的表页数量小于此限制,则不会考虑并行扫描。 |
parallel_setup_cost |
11, 12, 13, 14, 15, 16, 17, 18 | 设置规划器对为并行查询启动工作进程的成本估算值。 |
parallel_tuple_cost |
11, 12, 13, 14, 15, 16, 17, 18 | 设置规划器对将每个元组(行)从辅助角色传递到主后端的成本估算值。 |
random_page_cost |
11, 12, 13, 14, 15, 16, 17, 18 | 设置规划器对不按顺序提取磁盘页的成本估算值。 |
seq_page_cost |
11, 12, 13, 14, 15, 16, 17, 18 | 设置规划器对按顺序提取磁盘页的成本估算值。 |
查询优化/规划器方法配置
| 名称 | 版本 | 说明 |
|---|---|---|
enable_async_append |
14, 15, 16, 17, 18 | 允许规划器使用异步追加计划。 |
enable_bitmapscan |
11, 12, 13, 14, 15, 16, 17, 18 | 允许规划器使用位图扫描计划。 |
enable_distinct_reordering |
18 | 启用 DISTINCT 键的重新排序。 |
enable_gathermerge |
11, 12, 13, 14, 15, 16, 17, 18 | 允许规划器使用收集合并计划。 |
enable_group_by_reordering |
17,18 | 启用 GROUP BY 键的重新排序。 |
enable_hashagg |
11, 12, 13, 14, 15, 16, 17, 18 | 允许规划器使用哈希聚合计划。 |
enable_hashjoin |
11, 12, 13, 14, 15, 16, 17, 18 | 允许规划器使用哈希联接计划。 |
enable_incremental_sort |
13, 14, 15, 16, 17, 18 | 允许规划器使用增量排序步骤。 |
enable_indexonlyscan |
11, 12, 13, 14, 15, 16, 17, 18 | 允许规划器使用仅限索引的扫描计划。 |
enable_indexscan |
11, 12, 13, 14, 15, 16, 17, 18 | 允许规划器使用索引扫描计划。 |
enable_material |
11, 12, 13, 14, 15, 16, 17, 18 | 允许规划器使用具体化。 |
enable_memoize |
14, 15, 16, 17, 18 | 允许规划器使用记忆化。 |
enable_mergejoin |
11, 12, 13, 14, 15, 16, 17, 18 | 允许规划器使用合并联接计划。 |
enable_nestloop |
11, 12, 13, 14, 15, 16, 17, 18 | 允许规划器使用嵌套循环联接计划。 |
enable_parallel_append |
11, 12, 13, 14, 15, 16, 17, 18 | 允许规划器使用并行追加计划。 |
enable_parallel_hash |
11, 12, 13, 14, 15, 16, 17, 18 | 允许规划器使用并行哈希计划。 |
enable_partition_pruning |
11, 12, 13, 14, 15, 16, 17, 18 | 启用计划时间和执行时间分区修剪。 允许查询规划器和执行程序将分区边界与查询中的条件进行比较,以确定必须扫描哪些分区。 |
enable_partitionwise_aggregate |
11, 12, 13, 14, 15, 16, 17, 18 | 支持分区聚合和分组。 |
enable_partitionwise_join |
11, 12, 13, 14, 15, 16, 17, 18 | 启用分区联接。 |
enable_presorted_aggregate |
16, 17, 18 | 使规划器能够生成为 ORDER BY / DISTINCT 聚合函数提供预排序输入的计划。 允许查询规划器生成使用 ORDER BY /DISTINCT 子句为聚合函数提供预排序输入的计划。 禁用时,隐式排序始终在执行过程中进行。 |
enable_self_join_elimination |
18 | 允许删除唯一的自联接。 |
enable_seqscan |
11, 12, 13, 14, 15, 16, 17, 18 | 允许规划器使用顺序扫描计划。 |
enable_sort |
11, 12, 13, 14, 15, 16, 17, 18 | 允许规划器使用显式排序步骤。 |
enable_tidscan |
11, 12, 13, 14, 15, 16, 17, 18 | 允许规划器使用 TID 扫描计划。 |
复制/主服务器
| 名称 | 版本 | 说明 |
|---|---|---|
synchronous_standby_names |
11, 12, 13, 14, 15, 16, 17, 18 | 同步备用服务器数和潜在同步备用服务器的名称列表。 |
复制/主服务器
| 名称 | 版本 | 说明 |
|---|---|---|
vacuum_defer_cleanup_age |
11、12、13、14、15 | 指定 VACUUM 和 HOT 更新在清理“死行版本”前,会延迟多少个事务。 |
复制/发送服务器
| 名称 | 版本 | 说明 |
|---|---|---|
max_replication_slots |
11, 12, 13, 14, 15, 16, 17, 18 | 设置同时定义的复制槽的最大数目。 |
max_slot_wal_keep_size |
13, 14, 15, 16, 17, 18 | 设置复制槽可以保留的最大 WAL 大小。 如果磁盘上的 WAL 占用了这么多空间,复制槽将被标记为失败,并且相关段会被释放以供删除或回收。 |
max_wal_senders |
11, 12, 13, 14, 15, 16, 17, 18 | 设置同时运行的 WAL 发送方进程数量上限。 |
track_commit_timestamp |
11, 12, 13, 14, 15, 16, 17, 18 | 收集事务提交时间。 |
wal_keep_segments |
11、12 | 设置为备用服务器保留的 WAL 文件数。 |
wal_keep_size |
13, 14, 15, 16, 17, 18 | 设置为备用服务器保留的 WAL 文件的大小。 |
wal_sender_timeout |
11, 12, 13, 14, 15, 16, 17, 18 | 设置等待 WAL 复制的最长时间。 |
复制/备用服务器
| 名称 | 版本 | 说明 |
|---|---|---|
hot_standby |
11, 12, 13, 14, 15, 16, 17, 18 | 允许在恢复期间连接和查询。 |
hot_standby_feedback |
11, 12, 13, 14, 15, 16, 17, 18 | 允许从热备用服务器向主服务器反馈,以避免查询冲突。 |
idle_replication_slot_timeout |
18 | 设置复制槽在被判定为无效之前允许保持空闲的时长。 |
max_active_replication_origins |
18 | 设置活动复制源的最大数目。 |
max_standby_archive_delay |
11, 12, 13, 14, 15, 16, 17, 18 | 在热备用服务器正在处理已存档 WAL 数据时,在取消查询之前设置最大延迟。 |
max_standby_streaming_delay |
11, 12, 13, 14, 15, 16, 17, 18 | 设置在取消热备用服务器处理流式传输的 WAL 数据时查询之前的最大延迟。 |
primary_conninfo |
12, 13, 14, 15, 16, 17, 18 | 设置用于连接到发送服务器的连接字符串。 |
primary_slot_name |
12, 13, 14, 15, 16, 17, 18 | 设置要在发送服务器上使用的复制槽的名称。 |
promote_trigger_file |
12、13、14、15 | 指定其状态将在备用节点中结束恢复的文件名。 |
recovery_min_apply_delay |
12, 13, 14, 15, 16, 17, 18 | 设置在恢复期间应用更改的最小延迟。 |
synchronized_standby_slots |
17,18 | 列出逻辑 WAL 发送方进程将等待的流式复制备用服务器复制槽名称。 只有在指定的复制槽已确认接收 WAL 后,逻辑 WAL 发送方进程才会将解码的更改发送到输出插件。 |
sync_replication_slots |
17,18 | 启用物理备用服务器以从主服务器同步逻辑故障转移复制槽。 |
wal_receiver_create_temp_slot |
13, 14, 15, 16, 17, 18 | 设置在未配置永久槽时 WAL 接收器是否应创建临时复制槽。 |
wal_receiver_status_interval |
11, 12, 13, 14, 15, 16, 17, 18 | 设置向发送服务器报告 WAL 接收器状态的最大时间间隔。 |
wal_receiver_timeout |
11, 12, 13, 14, 15, 16, 17, 18 | 设置从发送服务器接收数据的最大等待时间。 |
wal_retrieve_retry_interval |
11, 12, 13, 14, 15, 16, 17, 18 | 设置在尝试失败后重试以检索 WAL 之前等待的时间。 |
复制/订阅服务器
| 名称 | 版本 | 说明 |
|---|---|---|
max_logical_replication_workers |
11, 12, 13, 14, 15, 16, 17, 18 | 逻辑复制工作进程的最大数量。 |
max_parallel_apply_workers_per_subscription |
16, 17, 18 | 每个订阅可使用的最大并行应用工作进程数。 |
max_sync_workers_per_subscription |
11, 12, 13, 14, 15, 16, 17, 18 | 每个订阅的表同步辅助角色数量上限。 |
报告生成和日志记录/日志记录对象
| 名称 | 版本 | 说明 |
|---|---|---|
application_name |
11, 12, 13, 14, 15, 16, 17, 18 | 设置要在统计信息和日志中报告的应用程序名称。 |
debug_pretty_print |
11, 12, 13, 14, 15, 16, 17, 18 | 缩进分析和计划树的显示内容。 |
debug_print_parse |
11, 12, 13, 14, 15, 16, 17, 18 | 记录每个查询的分析树。 |
debug_print_plan |
11, 12, 13, 14, 15, 16, 17, 18 | 记录每个查询的执行计划。 |
debug_print_rewritten |
11, 12, 13, 14, 15, 16, 17, 18 | 记录每个查询的重写分析树。 |
log_autovacuum_min_duration |
11, 12, 13, 14, 15, 16, 17, 18 | 设置最短执行时间,超过该时间将记录 autovacuum 操作。 值为 0 时会打印所有操作。 当值为 -1 时,将关闭 autovacuum 的日志记录。 |
log_checkpoints |
11, 12, 13, 14, 15, 16, 17, 18 | 记录每个检查点。 |
log_connections |
11, 12, 13, 14, 15, 16, 17, 18 | 记录每个成功的连接。 |
log_disconnections |
11, 12, 13, 14, 15, 16, 17, 18 | 记录会话结束时间,包括持续时间。 |
log_duration |
11, 12, 13, 14, 15, 16, 17, 18 | 记录每个已完成 SQL 语句的持续时间。 |
log_error_verbosity |
11, 12, 13, 14, 15, 16, 17, 18 | 设置记录的消息的详细程度。 |
log_hostname |
11, 12, 13, 14, 15, 16, 17, 18 | 记录连接日志中的主机名。 默认情况下,连接日志仅显示连接主机的 IP 地址。 如果希望启用显示主机名的功能,可以选择开启,但这可能会根据您的主机名解析设置造成不可忽视的性能损失。 |
log_line_prefix |
11, 12, 13, 14, 15, 16, 17, 18 | 控制每个日志行前缀的信息。 如果为空,则不使用前缀。 |
log_lock_failure |
18 | 设置当锁定获取失败时是否生成详细日志消息。 |
log_lock_waits |
11, 12, 13, 14, 15, 16, 17, 18 | 记录长时间锁等待的情况。 |
log_parameter_max_length |
13, 14, 15, 16, 17, 18 | 设置记录语句时为绑定参数值记录的数据的最大长度(以字节为单位)。 使用 -1 可完整打印值。 |
log_parameter_max_length_on_error |
13, 14, 15, 16, 17, 18 | 设置记录语句并发生错误时为绑定参数值记录的数据的最大长度(以字节为单位)。 使用 -1 可完整打印值。 |
log_recovery_conflict_waits |
14, 15, 16, 17, 18 | 记录备用恢复冲突等待的情况。 |
log_replication_commands |
11, 12, 13, 14, 15, 16, 17, 18 | 记录每个复制命令。 |
log_statement |
11, 12, 13, 14, 15, 16, 17, 18 | 设置记录的语句的类型。 |
log_temp_files |
11, 12, 13, 14, 15, 16, 17, 18 | 记录使用大于此指定千字节数的临时文件。 Zero 记录所有文件。 默认值为 -1(关闭此功能)。 |
log_timezone |
11, 12, 13, 14, 15, 16, 17, 18 | 设置在日志消息中使用的时区。 |
报告和记录/何时记录
| 名称 | 版本 | 说明 |
|---|---|---|
log_min_duration_sample |
13, 14, 15, 16, 17, 18 | 设置最短执行时间,超过该时间将记录语句示例。 采样由 log_statement_sample_rate 确定。 Zero 记录所有查询的样本。 -1 关闭此功能。 |
log_min_duration_statement |
11, 12, 13, 14, 15, 16, 17, 18 | 设置记录所有语句所需的最小执行时间阈值。 值为 0 时会打印所有查询。 -1 关闭此功能。 |
log_min_error_statement |
11, 12, 13, 14, 15, 16, 17, 18 | 导致记录在此级别或更高级别生成错误的所有语句。 每个级别包括其后面的所有级别。 级别越晚,发送的消息越少。 |
log_min_messages |
11, 12, 13, 14, 15, 16, 17, 18 | 设置记录的消息级别。 每个级别包括其后面的所有级别。 级别越晚,发送的消息越少。 |
log_startup_progress_interval |
15, 16, 17, 18 | 长时间运行的启动操作的进度更新之间的时间。 0 关闭此功能。 |
log_statement_sample_rate |
13, 14, 15, 16, 17, 18 | 超过“log_min_duration_sample”时长限制的语句比例将被记录。 使用介于 0.0(永不记录)和 1.0(始终记录)之间的值。 |
log_transaction_sample_rate |
12, 13, 14, 15, 16, 17, 18 | 设置记录所有语句的事务的占比。 使用取值范围为 0.0(从不进行日志记录)到 1.0(记录所有事务的所有语句)的值。 |
报告生成和日志记录/日志记录位置
| 名称 | 版本 | 说明 |
|---|---|---|
event_source |
11, 12, 13, 14, 15, 16, 17, 18 | 设置用于标识事件日志中的 PostgreSQL 消息的应用程序名称。 |
log_destination |
11, 12, 13, 14, 15, 16, 17, 18 | 设置服务器日志输出的目标。 有效值为“stderr”、“syslog”、“csvlog”、“jsonlog”和“eventlog”的组合,具体取决于平台。 |
log_directory |
11, 12, 13, 14, 15, 16, 17, 18 | 设置日志文件的目标目录。 可以指定为相对于数据目录的路径,也可以是绝对路径。 |
log_file_mode |
11, 12, 13, 14, 15, 16, 17, 18 | 设置日志文件的文件权限。 参数值应是一个数字模式规范,该规范采用 chmod 和 umask 系统调用所接受的形式。 (若要使用自定义八进制格式,数字必须以 0 开头(零)。 |
log_filename |
11, 12, 13, 14, 15, 16, 17, 18 | 设置日志文件的文件名模式。 |
logging_collector |
11, 12, 13, 14, 15, 16, 17, 18 | 启动子进程,将 stderr、csvlog 和/或 jsonlog 捕获到日志文件中。 |
log_rotation_age |
11, 12, 13, 14, 15, 16, 17, 18 | 设置在强制日志文件轮换之前等待的时间量。 |
log_rotation_size |
11, 12, 13, 14, 15, 16, 17, 18 | 设置日志文件在轮换之前可以达到的最大大小。 |
log_truncate_on_rotation |
11, 12, 13, 14, 15, 16, 17, 18 | 在日志轮换期间截断同名的现有日志文件。 |
md5_password_warnings |
18 | 启用 MD5 密码的弃用警告。 |
syslog_facility |
11, 12, 13, 14, 15, 16, 17, 18 | 设置启用 syslog 时要使用的 syslog“设施”。 |
syslog_ident |
11, 12, 13, 14, 15, 16, 17, 18 | 设置用于标识 syslog 中的 PostgreSQL 消息的程序名称。 |
syslog_sequence_numbers |
11, 12, 13, 14, 15, 16, 17, 18 | 将序列号添加到 syslog 消息,以避免重复抑制。 |
syslog_split_messages |
11, 12, 13, 14, 15, 16, 17, 18 | 按行拆分发送到 syslog 的消息,使其不超过 1024 字节。 |
资源使用状况/异步行为
| 名称 | 版本 | 说明 |
|---|---|---|
backend_flush_after |
11, 12, 13, 14, 15, 16, 17, 18 | 在将以前执行的写入刷新到磁盘之前所要达到的页数。 |
effective_io_concurrency |
11, 12, 13, 14, 15, 16, 17, 18 | 可由磁盘子系统高效处理的同时请求数。 |
file_copy_method |
18 | 选择文件复制方法。 |
maintenance_io_concurrency |
13, 14, 15, 16, 17, 18 | 用于维护工作的“effective_io_concurrency”变体。 |
max_notify_queue_pages |
17,18 | 设置为 NOTIFY / LISTEN 队列分配的最大页数。 |
max_parallel_maintenance_workers |
11, 12, 13, 14, 15, 16, 17, 18 | 设置每个维护操作的并行进程数量上限。 |
max_parallel_workers |
11, 12, 13, 14, 15, 16, 17, 18 | 设置同时可处于活动状态的最大并行工作者数量。 |
max_parallel_workers_per_gather |
11, 12, 13, 14, 15, 16, 17, 18 | 设置每个执行程序节点的并行进程数量上限。 |
max_worker_processes |
11, 12, 13, 14, 15, 16, 17, 18 | 并发工作进程的最大数目。 |
old_snapshot_threshold |
12, 13, 14, 15, 16 | 创建快照之前的时间太旧,无法读取快照后更改的页面。 |
parallel_leader_participation |
11, 12, 13, 14, 15, 16, 17, 18 | 控制 Gather 和 Gather Merge 是否也运行子计划。 收集节点是否还应运行子计划或仅收集元组? |
资源使用情况/后台编写器
| 名称 | 版本 | 说明 |
|---|---|---|
bgwriter_delay |
11, 12, 13, 14, 15, 16, 17, 18 | 每两个轮次之间的后台写入器休眠时间。 |
bgwriter_flush_after |
11, 12, 13, 14, 15, 16, 17, 18 | 在将以前执行的写入刷新到磁盘之前所要达到的页数。 |
bgwriter_lru_maxpages |
11, 12, 13, 14, 15, 16, 17, 18 | 在每个轮次刷新的后台写入器最大 LRU 页数。 |
bgwriter_lru_multiplier |
11, 12, 13, 14, 15, 16, 17, 18 | 每个回合释放的平均缓冲区使用量的倍数。 |
资源使用状况/基于成本的清空延迟
| 名称 | 版本 | 说明 |
|---|---|---|
vacuum_cost_delay |
11, 12, 13, 14, 15, 16, 17, 18 | 真空操作成本延迟(以毫秒为单位)。 |
vacuum_cost_limit |
11, 12, 13, 14, 15, 16, 17, 18 | 在短暂睡眠之前可用的 Vacuum 开销。 |
vacuum_cost_page_dirty |
11, 12, 13, 14, 15, 16, 17, 18 | 由 VACUUM 操作弄脏页面所产生的开销。 |
vacuum_cost_page_hit |
11, 12, 13, 14, 15, 16, 17, 18 | 在缓冲区缓存中找到的页面的清空成本。 |
vacuum_cost_page_miss |
11, 12, 13, 14, 15, 16, 17, 18 | 对于未在缓冲池中找到的页面,VACUUM 操作的开销。 |
资源使用情况/磁盘
| 名称 | 版本 | 说明 |
|---|---|---|
temp_file_limit |
11, 12, 13, 14, 15, 16, 17, 18 | 限制每个进程使用的所有临时文件的总大小。 -1 表示没有限制。 |
资源使用情况/内核资源
| 名称 | 版本 | 说明 |
|---|---|---|
max_files_per_process |
11, 12, 13, 14, 15, 16, 17, 18 | 设置每个服务器进程同时打开的文件数量上限。 |
资源使用情况/内存
| 名称 | 版本 | 说明 |
|---|---|---|
autovacuum_work_mem |
11, 12, 13, 14, 15, 16, 17, 18 | 设置可供每个 autovacuum 工作进程使用的最大内存。 |
commit_timestamp_buffers |
17,18 | 设置用于提交时间戳缓存的专用缓冲池的大小。 指定 0 以将此值确定为shared_buffers的一小部分。 |
dynamic_shared_memory_type |
11, 12, 13, 14, 15, 16, 17, 18 | 选择使用的动态共享内存实现。 |
hash_mem_multiplier |
12, 13, 14, 15, 16, 17, 18 | 要用于哈希表的多个“work_mem”。 |
huge_pages |
11, 12, 13, 14, 15, 16, 17, 18 | 在 Linux 或 Windows 上使用大型页面。 |
huge_page_size |
14, 15, 16, 17, 18 | 应请求的大型页的大小。 |
io_combine_limit |
17,18 | 对数据读取和写入大小的限制。 |
io_max_combine_limit |
18 | 限制 io_combine_limit 的服务器范围限制。 |
io_max_concurrency |
18 | 一个进程能同时执行的最大数量 IO 操作。 |
io_method |
18 | 选择用于执行异步 I/O 的方法。 |
io_workers |
18 | io_method=worker 的 IO 工作进程数。 |
logical_decoding_work_mem |
13, 14, 15, 16, 17, 18 | 设置用于逻辑解码的最大内存。 在溢出到磁盘之前,每个内部重新排序缓冲区都可以使用这么多内存。 |
maintenance_work_mem |
11, 12, 13, 14, 15, 16, 17, 18 | 设置用于维护操作的最大内存。 这包括 VACUUM 和 CREATE INDEX 操作。 |
max_prepared_transactions |
11, 12, 13, 14, 15, 16, 17, 18 | 设置同时准备的事务的数量上限。 |
max_stack_depth |
11, 12, 13, 14, 15, 16, 17, 18 | 设置最大堆栈深度(以 KB 为单位)。 |
min_dynamic_shared_memory |
14, 15, 16, 17, 18 | 启动时保留的动态共享内存量。 |
multixact_member_buffers |
17,18 | 设置用于 MultiXact 成员缓存的专用缓冲池的大小。 |
multixact_offset_buffers |
17,18 | 设置用于 MultiXact 偏移缓存的专用缓冲池的大小。 |
notify_buffers |
17,18 | 设置用于 LISTEN/NOTIFY 消息缓存的专用缓冲池的大小。 |
serializable_buffers |
17,18 | 设置用于可序列化事务缓存的专用缓冲池的大小。 |
shared_buffers |
11, 12, 13, 14, 15, 16, 17, 18 | 设置服务器使用的共享内存缓冲区数。 |
shared_memory_type |
12, 13, 14, 15, 16, 17, 18 | 选择用于主共享内存区域的共享内存实现。 |
subtransaction_buffers |
17,18 | 设置用于子事务缓存的专用缓冲池的大小。 指定 0 以将此值确定为shared_buffers的一小部分。 |
temp_buffers |
11, 12, 13, 14, 15, 16, 17, 18 | 设置每个会话使用的最大临时缓冲区数。 |
transaction_buffers |
17,18 | 设置用于事务状态缓存的专用缓冲池的大小。 指定 0 以将此值确定为shared_buffers的一小部分。 |
vacuum_buffer_usage_limit |
16, 17, 18 | 设置 VACUUM、ANALYZE 和 autovacuum 的缓冲池大小。 |
work_mem |
11, 12, 13, 14, 15, 16, 17, 18 | 设置要用于查询工作区的最大内存。 在切换到临时磁盘文件之前,每个内部排序操作和哈希表都可以使用一定数量的内存。 |
统计信息/累积查询和索引统计信息
| 名称 | 版本 | 说明 |
|---|---|---|
stats_fetch_consistency |
15, 16, 17, 18 | 设置对统计信息数据的访问一致性。 |
track_activities |
11, 12, 13, 14, 15, 16, 17, 18 | 收集有关执行命令的信息。 允许收集每个会话当前正在执行的命令的信息以及该命令开始执行的时间。 |
track_activity_query_size |
11, 12, 13, 14, 15, 16, 17, 18 | 设置 pg_stat_activity.query 的保留大小,以字节为单位。 |
track_cost_delay_timing |
18 | 收集基于成本的 VACUUM 操作延迟的计时统计信息。 |
track_counts |
11, 12, 13, 14, 15, 16, 17, 18 | 收集有关数据库活动的统计信息。 |
track_functions |
11, 12, 13, 14, 15, 16, 17, 18 | 收集有关数据库活动的函数级统计信息。 |
track_io_timing |
11, 12, 13, 14, 15, 16, 17, 18 | 收集数据库 I/O 活动的计时统计信息。 |
track_wal_io_timing |
14, 15, 16, 17, 18 | 收集 WAL I/O 活动的计时统计信息。 |
统计信息/监视
| 名称 | 版本 | 说明 |
|---|---|---|
compute_query_id |
14, 15, 16, 17, 18 | 启用查询标识符的核心计算。 |
log_executor_stats |
11, 12, 13, 14, 15, 16, 17, 18 | 将执行程序性能统计信息写入服务器日志。 |
log_parser_stats |
11, 12, 13, 14, 15, 16, 17, 18 | 将分析器性能统计信息写入服务器日志。 |
log_planner_stats |
11, 12, 13, 14, 15, 16, 17, 18 | 将规划器性能统计信息写入服务器日志。 |
log_statement_stats |
11, 12, 13, 14, 15, 16, 17, 18 | 将累积性能统计信息写入服务器日志。 |
统计信息/查询和索引统计信息收集器
| 名称 | 版本 | 说明 |
|---|---|---|
stats_temp_directory |
11、12、13、14 | 将临时统计信息文件写入指定目录。 |
TLS
| 名称 | 版本 | 说明 |
|---|---|---|
require_secure_transport |
11, 12, 13, 14, 15, 16, 17, 18 | 是否需要客户端连接到服务器来使用某种形式的安全传输。 |
版本和平台兼容性/其他平台和客户端
| 名称 | 版本 | 说明 |
|---|---|---|
allow_alter_system |
17,18 | 允许运行 ALTER SYSTEM 命令。 对于应使用不同的方法进行全局配置更改的环境,可将其设置为关闭。 |
transform_null_equals |
11, 12, 13, 14, 15, 16, 17, 18 | 将“expr=NULL”视为“expr IS NULL”。 打开时,表单 expr = NULL(或 NULL = expr)的表达式被视为 expr IS NULL,也就是说,如果 expr 的计算结果为 null 值,则返回 true;否则返回 false。 expr = NULL 的正确行为是始终返回 null(未知)。 |
版本和平台兼容性/以前的 PostgreSQL 版本
| 名称 | 版本 | 说明 |
|---|---|---|
array_nulls |
11, 12, 13, 14, 15, 16, 17, 18 | 启用数组中 NULL 元素的输入。 打开时,数组输入值中无引号的 NULL 被解释为 null 值;否则,它被按字面意义处理。 |
backslash_quote |
11, 12, 13, 14, 15, 16, 17, 18 | 设置字符串文本中是否允许使用“\”。 |
escape_string_warning |
11, 12, 13, 14, 15, 16, 17, 18 | 关于普通字符串文本中存在反斜杠转义符的警告。 |
lo_compat_privileges |
11, 12, 13, 14, 15, 16, 17, 18 | 为针对大型对象的特权检查启用后向兼容性模式。 读取或修改大型对象时跳过特权检查,以便与 9.0 之前的 PostgreSQL 版本兼容。 |
operator_precedence_warning |
11、12、13 | 针对自 PostgreSQL 9.4 以来其含义已发生更改的构造发出警告。 |
quote_all_identifiers |
11, 12, 13, 14, 15, 16, 17, 18 | 生成 SQL 片段时,引用所有标识符。 |
standard_conforming_strings |
11, 12, 13, 14, 15, 16, 17, 18 | 导致“...”字符串以字面形式处理反斜杠。 |
synchronize_seqscans |
11, 12, 13, 14, 15, 16, 17, 18 | 启用同步的顺序扫描。 |
预写日志/存档恢复
| 名称 | 版本 | 说明 |
|---|---|---|
archive_cleanup_command |
12, 13, 14, 15, 16, 17, 18 | 设置将在每次重启时执行的 shell 命令。 |
recovery_end_command |
12, 13, 14, 15, 16, 17, 18 | 设置将在恢复结束时执行一次的 shell 命令。 |
restore_command |
12, 13, 14, 15, 16, 17, 18 | 设置将调用以检索已存档 WAL 文件的 shell 命令。 |
预写日志/存档
| 名称 | 版本 | 说明 |
|---|---|---|
archive_command |
11, 12, 13, 14, 15, 16, 17, 18 | 设置将调用以存档 WAL 文件的 shell 命令。 仅当未设置“archive_library”时,才使用此类型。 |
archive_library |
15, 16, 17, 18 | 设置将调用以存档 WAL 文件的库。 空字符串指示应使用“archive_command”。 |
archive_mode |
11, 12, 13, 14, 15, 16, 17, 18 | 允许使用“archive_command”存档 WAL 文件。 |
archive_timeout |
11, 12, 13, 14, 15, 16, 17, 18 | 设置在强制切换到下一个 WAL 文件之前等待的时间量。 |
预写日志/检查点
| 名称 | 版本 | 说明 |
|---|---|---|
checkpoint_completion_target |
11, 12, 13, 14, 15, 16, 17, 18 | 在运行检查点函数期间将脏缓冲区作为检查点间隔的分数进行刷新所花费的时间。 |
checkpoint_flush_after |
11, 12, 13, 14, 15, 16, 17, 18 | 在将以前执行的写入刷新到磁盘之前所要达到的页数。 |
checkpoint_timeout |
11, 12, 13, 14, 15, 16, 17, 18 | 在自动 WAL 检查点之间设置最长时间。 |
checkpoint_warning |
11, 12, 13, 14, 15, 16, 17, 18 | 设置当 WAL 卷触发的检查点过于频繁时,发出警告前的最长间隔时间。 如果由于填充 WAL 段文件而导致检查点出现的频率超过此时间,则记录一条消息到服务器日志。 如果为零,将关闭警告。 |
max_wal_size |
11, 12, 13, 14, 15, 16, 17, 18 | 设置触发检查点的 WAL 大小。 |
min_wal_size |
11, 12, 13, 14, 15, 16, 17, 18 | 设置要将 WAL 收缩到的大小下限。 |
预写日志/恢复
| 名称 | 版本 | 说明 |
|---|---|---|
recovery_prefetch |
15, 16, 17, 18 | 在恢复期间预提取引用的块。 在 WAL 中向前查找以找到对未缓存数据的引用。 |
wal_decode_buffer_size |
15, 16, 17, 18 | 用于在恢复期间在 WAL 中进行预读的缓冲区大小。 在 WAL 中预读引用数据块时的最大距离。 |
预写日志/恢复目标
| 名称 | 版本 | 说明 |
|---|---|---|
recovery_target |
12, 13, 14, 15, 16, 17, 18 | 设置为“immediate”以便在达到一致状态后立即结束恢复。 |
recovery_target_action |
12, 13, 14, 15, 16, 17, 18 | 设置在达到恢复目标时要执行的操作。 |
recovery_target_inclusive |
12, 13, 14, 15, 16, 17, 18 | 设置是包含还是排除具有恢复目标的事务。 |
recovery_target_lsn |
12, 13, 14, 15, 16, 17, 18 | 设置将继续恢复的预写日志位置的 LSN。 |
recovery_target_name |
12, 13, 14, 15, 16, 17, 18 | 设置要继续恢复到的命名还原点。 |
recovery_target_time |
12, 13, 14, 15, 16, 17, 18 | 设置要继续恢复到的时间戳。 |
recovery_target_timeline |
12, 13, 14, 15, 16, 17, 18 | 指定要恢复到的时间线。 |
recovery_target_xid |
12, 13, 14, 15, 16, 17, 18 | 设置将继续恢复的事务 ID。 |
summarize_wal |
17,18 | 启动 WAL 摘要生成器过程以启用增量备份。 |
预写日志/设置
| 名称 | 版本 | 说明 |
|---|---|---|
commit_delay |
11, 12, 13, 14, 15, 16, 17, 18 | 设置提交事务与将 WAL 刷新到磁盘之间的延迟(以微秒为单位)。 |
commit_siblings |
11, 12, 13, 14, 15, 16, 17, 18 | 设置执行“commit_delay”之前需要达到的最小并发打开事务数。 |
fsync |
11, 12, 13, 14, 15, 16, 17, 18 | 强制同步对磁盘的更新。 服务器将在多个位置使用 fsync() 系统调用,以确保更新以物理方式写入磁盘。 这可确保数据库群集在作系统或硬件崩溃后恢复到一致状态。 |
full_page_writes |
11, 12, 13, 14, 15, 16, 17, 18 | 在检查点后首次修改时,将完整页面写入 WAL。 在操作系统崩溃时,正在进行的页面写入过程可能仅部分写入到磁盘。 在恢复期间,存储在 WAL 中的行更改不足以恢复。 此选项将检查点之后首次修改的页面写入 WAL,以便可以进行完全恢复。 |
synchronous_commit |
11, 12, 13, 14, 15, 16, 17, 18 | 设置当前事务的同步级别。 |
wal_buffers |
11, 12, 13, 14, 15, 16, 17, 18 | 设置 WAL 共享内存中的磁盘页缓冲区数。 指定 -1 将此值确定为shared_buffers的一小部分。 |
wal_compression |
11, 12, 13, 14, 15, 16, 17, 18 | 压缩 WAL 文件中的完整页面写入。 |
wal_init_zero |
12, 13, 14, 15, 16, 17, 18 | 首次使用之前,将零写入新 WAL 文件。 |
wal_level |
11, 12, 13, 14, 15, 16, 17, 18 | 设置写入 WAL 的信息级别。 |
wal_log_hints |
11, 12, 13, 14, 15, 16, 17, 18 | 在检查点后首次修改时,将完整页面写入 WAL,即使对于非关键修改也是如此。 |
wal_recycle |
12, 13, 14, 15, 16, 17, 18 | 通过重命名 WAL 文件来回收 WAL 文件。 |
wal_skip_threshold |
13, 14, 15, 16, 17, 18 | 要 fsync 而不是写入 WAL 的新文件的最小大小。 |
wal_summary_keep_time |
17,18 | 应保留 WAL 摘要文件的时间。 |
wal_sync_method |
11, 12, 13, 14, 15, 16, 17, 18 | 选择用于强制 WAL 更新到磁盘的方法。 |
wal_writer_delay |
11, 12, 13, 14, 15, 16, 17, 18 | WAL 写入器中执行 WAL 刷新之间的时间。 |
wal_writer_flush_after |
11, 12, 13, 14, 15, 16, 17, 18 | WAL 写入器写出的 WAL 数量,达到该数量将触发刷新。 |