你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Database for PostgreSQL 灵活服务器中的服务器参数

适用于: Azure Database for PostgreSQL 灵活服务器

Azure Database for PostgreSQL 为每个服务器都提供了一部分可配置的参数。 有关 Postgres 参数的详细信息,请参阅 PostgreSQL 文档

参数类型

Azure Database for PostgreSQL 灵活服务器预配置了每个参数的最佳默认设置。 参数分为以下类型之一:

  • 静态:这些参数需要重启服务器才能实现任何更改。
  • 动态:无需重启服务器实例即可更改这些参数。 但是,更改仅适用于修改后建立的新连接。
  • 只读:这些参数在维护服务的可靠性、安全性或其他操作方面起着关键作用,因此用户无法配置它们。

若要确定参数类型,请转到 Azure 门户,然后打开“服务器参数”窗格。 参数分组到选项卡中,以便轻松识别。

参数自定义

可以使用各种方法和级别根据特定需求来自定义参数。

全局级别

若要在实例或服务器级别全局更改设置,请转到 Azure 门户中的“服务器参数”窗格。 还可以使用其他可用工具,例如 Azure CLI、REST API、Azure 资源管理器模板或合作伙伴工具。

注意

Azure Database for PostgreSQL 是托管数据库服务,因此用户没有主机或操作系统访问权限,无法查看或修改配置文件(例如 postgresql.conf)。 这些文件的内容会根据所做的参数更改自动更新。

Azure 门户中服务器参数窗格的屏幕截图。

精细级别

可以在更精细的级别调整参数。 这些调整将覆盖全局设置的值。 它们的范围和持续时间取决于你创建它们的级别:

  • 数据库级别:使用 ALTER DATABASE 命令进行特定于数据库的配置。

  • 角色或用户级别:使用 ALTER USER 命令进行以用户为中心的设置。

  • 函数、过程级别:定义函数或过程时,可以指定或更改将在调用函数时设置的配置参数。

  • 表级别:例如,可在此级别修改与自动清理相关的参数。

  • 会话级别:在单个数据库会话的持续时间内,可以调整特定参数。 PostgreSQL 通过以下 SQL 命令促进这种调整:

    • 使用 SET 命令进行特定于会话的调整。 这些更改将作为当前会话期间的默认设置。 要访问这些更改,可能需要特定的 SET 权限,并且上述可修改参数和只读参数的限制不适用。 相应的 SQL 函数为 set_config(setting_name, new_value, is_local)
    • 使用 SHOW 命令检查现有参数设置。 其 SQL 函数等效项为 current_setting(setting_name text)

支持的服务器参数

Autovacuum

名称 版本 说明
autovacuum 11, 12, 13, 14, 15, 16, 17 控制服务器是否应运行 autovacuum 子进程。
autovacuum_analyze_scale_factor 11, 12, 13, 14, 15, 16, 17 指定在决定是否触发清扫作业时要添加到 autovacuum_vacuum_threshold 的表大小的占比。
autovacuum_analyze_threshold 11, 12, 13, 14, 15, 16, 17 设置在任一表中触发 ANALYZE 所需的已插入、已更新或已删除元组的最小数量。
autovacuum_freeze_max_age 11, 12, 13, 14, 15, 16, 17 触发表 autovacuum 之前的最大期限(在事务中)以防止事务 ID 重叠。
autovacuum_max_workers 11, 12, 13, 14, 15, 16, 17 设置同时运行的 autovacuum 工作进程数量上限。
autovacuum_multixact_freeze_max_age 11, 12, 13, 14, 15, 16, 17 触发表 autovacuum 之前的最大期限(在 multixact 中)以防止 multixact 重叠。
autovacuum_naptime 11, 12, 13, 14, 15, 16, 17 设置在任何给定数据库上运行 autovacuum 之间的最小延迟。
autovacuum_vacuum_cost_delay 11, 12, 13, 14, 15, 16, 17 设置将在自动 VACUUM 操作中使用的成本延迟值(毫秒)。
autovacuum_vacuum_cost_limit 11, 12, 13, 14, 15, 16, 17 设置将在自动 VACUUM 操作中使用的成本限制值。
autovacuum_vacuum_insert_scale_factor 13, 14, 15, 16, 17 指定在决定是否触发 VACUUM 时要添加到 autovacuum_vacuum_insert_threshold 的表大小的占比。
autovacuum_vacuum_insert_threshold 13, 14, 15, 16, 17 指定在任何一个表中触发 VACUUM 所需的已插入元组数。
autovacuum_vacuum_scale_factor 11, 12, 13, 14, 15, 16, 17 指定在决定是否触发清扫作业时要添加到 autovacuum_vacuum_threshold 的表大小的占比。
autovacuum_vacuum_threshold 11, 12, 13, 14, 15, 16, 17 指定在任一表中触发清扫作业所需的已更新或已删除元组的最小数量。

客户端连接默认值/区域设置和格式设置

名称 版本 说明
client_encoding 11, 12, 13, 14, 15, 16, 17 设置客户端编码(字符集)。 默认值是使用数据库编码。
DateStyle 11, 12, 13, 14, 15, 16, 17 设置日期和时间值的显示格式。
default_text_search_config 11, 12, 13, 14, 15, 16, 17 选择文本搜索函数的这些变体使用的文本搜索配置,这些变体没有显式参数指定它。
extra_float_digits 11, 12, 13, 14, 15, 16, 17 设置要为浮点值显示的位数。
IntervalStyle 11, 12, 13, 14, 15, 16, 17 设置间隔值的显示格式。
lc_messages 11, 12, 13, 14, 15, 16, 17 设置消息的显示语言。
lc_monetary 11, 12, 13, 14, 15, 16, 17 设置用于指定货币金额格式的区域设置。
lc_numeric 11, 12, 13, 14, 15, 16, 17 设置用于指定数字格式的区域设置。
lc_time 11, 12, 13, 14, 15, 16, 17 设置用于指定日期和时间值格式的区域设置。
TimeZone 11, 12, 13, 14, 15, 16, 17 设置用于显示和解释时间戳的时区。
timezone_abbreviations 11, 12, 13, 14, 15, 16, 17 选择时区缩写的文件。

客户端连接默认值/其他默认值

名称 版本 说明
dynamic_library_path 11, 12, 13, 14, 15, 16, 17 设置可动态加载模块的路径。
gin_fuzzy_search_limit 11, 12, 13, 14, 15, 16, 17 设置按 GIN 进行的精确匹配搜索允许的最大结果数。

客户端连接默认值/共享库预加载

名称 版本 说明
jit_provider 11, 12, 13, 14, 15, 16, 17 要使用的 JIT 提供程序。
local_preload_libraries 11, 12, 13, 14, 15, 16, 17 列出要预加载到每个后端的无特权共享库。
session_preload_libraries 11, 12, 13, 14, 15, 16, 17 列出要预加载到每个后端的共享库。
shared_preload_libraries 11, 12, 13, 14, 15, 16, 17 设置在服务器启动时预加载的共享库。

客户端连接默认值/语句行为

名称 版本 说明
bytea_output 11, 12, 13, 14, 15, 16, 17 设置 bytea 类型的值的输出格式。 有效值为十六进制(默认值)和转义(传统的 PostgreSQL 格式)。
check_function_bodies 11, 12, 13, 14, 15, 16, 17 在 CREATE FUNCTION 期间检查函数主体。
client_min_messages 11, 12, 13, 14, 15, 16, 17 控制发送到客户端的消息级别。
default_table_access_method 12, 13, 14, 15, 16, 17 设置新表的默认表访问方法。
default_tablespace 11, 12, 13, 14, 15, 16, 17 设置要在其中创建表和索引的默认表空间。
default_toast_compression 14, 15, 16, 17 设置可压缩值的默认压缩方法。
default_transaction_deferrable 11, 12, 13, 14, 15, 16, 17 此参数控制每个新事务的默认可延迟状态。 它对读写事务或那些在低于可序列化的隔离级别下操作的事务没有影响。
default_transaction_isolation 11, 12, 13, 14, 15, 16, 17 此参数控制每个新事务的默认隔离级别。 默认值为“read committed”。
default_transaction_read_only 11, 12, 13, 14, 15, 16, 17 设置每个新事务的默认只读状态。
gin_pending_list_limit 11, 12, 13, 14, 15, 16, 17 设置 GIN 索引的挂起列表的最大大小。
idle_in_transaction_session_timeout 11, 12, 13, 14, 15, 16, 17 设置任何空闲事务允许的最大持续时间。
idle_session_timeout 14, 15, 16, 17 设置查询之间允许的最大空闲时间(不在事务中时)。
lock_timeout 11, 12, 13, 14, 15, 16, 17 设置任何等待锁操作允许的最长持续时间(以毫秒为单位)。 指定 0 会禁用此设置。
row_security 11, 12, 13, 14, 15, 16, 17 启用行安全性。
search_path 11, 12, 13, 14, 15, 16, 17 设置非架构限定的名称的架构搜索顺序。
session_replication_role 11, 12, 13, 14, 15, 16, 17 控制触发当前会话的复制相关触发器和规则。
statement_timeout 11, 12, 13, 14, 15, 16, 17 设置任何语句允许的最长持续时间(以毫秒为单位)。 指定 0 会禁用此设置。
temp_tablespaces 11, 12, 13, 14, 15, 16, 17 设置用于临时表并在 CREATE 命令中未指定时对文件进行排序的默认表空间。
transaction_deferrable 11, 12, 13, 14, 15, 16, 17 是否延迟只读可序列化事务,直到可以执行该事务,且不会发生可能的序列化失败。
transaction_isolation 11, 12, 13, 14, 15, 16, 17 设置当前事务的隔离级别。
transaction_read_only 11, 12, 13, 14, 15, 16, 17 设置当前事务的只读状态。
vacuum_cleanup_index_scale_factor 111213 索引清理之前的元组插入数(作为再元组的一部分)。
vacuum_failsafe_age 14, 15, 16, 17 VACUUM 触发防故障以避免回绕中断应达到的期限。
vacuum_freeze_min_age 11, 12, 13, 14, 15, 16, 17 指定在扫描表时,VACUUM 应用于决定是否冻结行版本的截止期限(在事务中)。
vacuum_freeze_table_age 11, 12, 13, 14, 15, 16, 17 VACUUM 扫描整个表以冻结元组应达到的期限。
vacuum_multixact_failsafe_age 14, 15, 16, 17 VACUUM 触发防故障以避免回绕中断应达到的 Multixact 期限。
vacuum_multixact_freeze_min_age 11, 12, 13, 14, 15, 16, 17 指定在扫描表时,VACUUM 应用于决定是将 multixact ID 替换为较新事务 ID 还是 multixact ID 的截止期限(在 multixact 中)。
vacuum_multixact_freeze_table_age 11, 12, 13, 14, 15, 16, 17 如果表已达到此设置指定的期限,VACUUM 将执行完整表扫描来冻结行。
xmlbinary 11, 12, 13, 14, 15, 16, 17 设置如何在 XML 中对二进制值进行编码。
xmloption 11, 12, 13, 14, 15, 16, 17 设置是要将隐式分析和序列化操作中的 XML 数据视为文档还是内容片段。

连接和身份验证/身份验证

名称 版本 说明
authentication_timeout 11, 12, 13, 14, 15, 16, 17 设置完成客户端身份验证的最大允许时间。
db_user_namespace 11, 12, 13, 14, 15, 16, 17 启用每数据库用户名。
krb_caseins_users 11, 12, 13, 14, 15, 16, 17 设置是否应将 Kerberos 和 GSSAPI 用户名视为不区分大小写。
krb_server_keyfile 11, 12, 13, 14, 15, 16, 17 设置 Kerberos 服务器密钥文件的位置。
password_encryption 11, 12, 13, 14, 15, 16, 17 确定用于加密密码的算法。

连接和身份验证/连接设置

名称 版本 说明
bonjour 11, 12, 13, 14, 15, 16, 17 允许通过 Bonjour 播发服务器。
bonjour_name 11, 12, 13, 14, 15, 16, 17 设置 Bonjour 服务名称。
listen_addresses 11, 12, 13, 14, 15, 16, 17 设置要侦听的主机名或 IP 地址。
max_connections 11, 12, 13, 14, 15, 16, 17 设置与数据库服务器的并发连接数量上限。
port 11, 12, 13, 14, 15, 16, 17 设置服务器侦听的 TCP 端口。
reserved_connections 11, 12, 13, 14, 15, 16, 17 设置为复制用户和超级用户保留的连接槽数。
superuser_reserved_connections 11, 12, 13, 14, 15, 16, 17 设置为超级用户保留的连接槽数。
unix_socket_directories 11, 12, 13, 14, 15, 16, 17 设置将在其中创建 Unix 域套接字的目录。
unix_socket_group 11, 12, 13, 14, 15, 16, 17 设置 Unix 域套接字的拥有组。
unix_socket_permissions 11, 12, 13, 14, 15, 16, 17 设置 Unix 域套接字的访问权限。

连接和身份验证/SSL

名称 版本 说明
ssl 11, 12, 13, 14, 15, 16, 17 启用 SSL 连接。
ssl_ca_file 11, 12, 13, 14, 15, 16, 17 SSL 证书颁发机构文件的位置。
ssl_cert_file 11, 12, 13, 14, 15, 16, 17 SSL 服务器证书文件的位置。
ssl_ciphers 11, 12, 13, 14, 15, 16, 17 设置允许的 SSL 密码列表。
ssl_crl_dir 14, 15, 16, 17 SSL 证书吊销列表目录的位置。
ssl_crl_file 11, 12, 13, 14, 15, 16, 17 SSL 证书吊销列表文件的位置。
ssl_dh_params_file 11, 12, 13, 14, 15, 16, 17 SSL DH 参数文件的位置。
ssl_ecdh_curve 11, 12, 13, 14, 15, 16, 17 设置用于 ECDH 的曲线。
ssl_key_file 11, 12, 13, 14, 15, 16, 17 SSL 服务器私钥文件的位置。
ssl_max_protocol_version 12, 13, 14, 15, 16, 17 设置要使用的最高 SSL/TLS 协议版本。
ssl_min_protocol_version 12, 13, 14, 15, 16, 17 设置要使用的最低 SSL/TLS 协议版本。
ssl_passphrase_command 11, 12, 13, 14, 15, 16, 17 用于获取 SSL 通行短语的命令。
ssl_passphrase_command_supports_reload 11, 12, 13, 14, 15, 16, 17 控制是否在服务器重新加载期间调用 ssl_passphrase_command。
ssl_prefer_server_ciphers 11, 12, 13, 14, 15, 16, 17 优先考虑服务器密码套件顺序。

连接和身份验证/TCP 设置

名称 版本 说明
client_connection_check_interval 14, 15, 16, 17 设置在运行查询时检查断开连接之间的时间间隔。
tcp_keepalives_count 11, 12, 13, 14, 15, 16, 17 指定在服务器与客户端的连接被视为已断开前可能会丢失的 TCP keepalive 数。
tcp_keepalives_idle 11, 12, 13, 14, 15, 16, 17 指定非活动状态的秒数,之后 TCP 应向客户端发送 keepalive 消息。
tcp_keepalives_interval 11, 12, 13, 14, 15, 16, 17 指定未经客户端确认的 TCP keepalive 消息应重新传输之前的秒数。
tcp_user_timeout 12, 13, 14, 15, 16, 17 指定在强制关闭 TCP 连接之前传输的数据可能保持未确认的时间量。

自定义选项

名称 版本 说明
auto_explain.log_analyze 11, 12, 13, 14, 15, 16, 17 使用 EXPLAIN ANALYZE 进行计划日志记录。
auto_explain.log_buffers 11, 12, 13, 14, 15, 16, 17 记录缓冲区使用情况。
auto_explain.log_format 11, 12, 13, 14, 15, 16, 17 用于计划日志记录的 EXPLAIN 格式。
auto_explain.log_level 12, 13, 14, 15, 16, 17 计划的日志级别。
auto_explain.log_min_duration 11, 12, 13, 14, 15, 16, 17 设置将记录计划的最低执行时间。 零打印所有计划。 -1 关闭此功能。
auto_explain.log_nested_statements 11, 12, 13, 14, 15, 16, 17 记录嵌套语句。
auto_explain.log_settings 12, 13, 14, 15, 16, 17 记录影响查询计划的已修改配置参数。
auto_explain.log_timing 11, 12, 13, 14, 15, 16, 17 收集计时数据,而不仅仅是行计数。
auto_explain.log_triggers 11, 12, 13, 14, 15, 16, 17 在计划中包括触发器统计信息。 除非还设置了 log_analyze,否则这不起作用。
auto_explain.log_verbose 11, 12, 13, 14, 15, 16, 17 使用 EXPLAIN VERBOSE 进行计划日志记录。
auto_explain.log_wal 13, 14, 15, 16, 17 记录 WAL 使用情况。
auto_explain.sample_rate 11, 12, 13, 14, 15, 16, 17 要处理的查询的占比。
azure.accepted_password_auth_method 11, 12, 13, 14, 15, 16, 17 接受的密码身份验证方法。
azure.allow_hostname_in_username 11 指定是否允许在 Azure Database for PostgreSQL 灵活服务器的用户名中使用主机名。
azure.enable_temp_tablespaces_on_local_ssd 11, 12, 13, 14, 15, 16, 17 在临时磁盘上创建临时表空间。
azure.extensions 11, 12, 13, 14, 15, 16, 17 指定允许在服务器中创建哪些扩展。
azure.single_to_flex_migration 11, 12, 13, 14, 15, 16, 17 指定这是否是为从 Azure Database for PostgreSQL 单一服务器迁移到灵活服务器而创建的服务器。
azure_storage.blob_block_size_mb 12, 13, 14, 15, 16, 17 扩展 azure_storage 中 blob_put 的 Blob 块大小(以 MB 为单位)。
cron.database_name 11, 12, 13, 14, 15, 16, 17 设置在其中保留 pg_cron 元数据的数据库。
cron.log_run 11, 12, 13, 14, 15, 16, 17 将所有作业记录到 job_run_details 表中。
cron.log_statement 11, 12, 13, 14, 15, 16, 17 在执行之前记录所有 cron 语句。
cron.max_running_jobs 11, 12, 13, 14, 15, 16, 17 设置可并发运行的作业数量上限。 此值受 max_connections 限制。
pgaudit.log 11, 12, 13, 14, 15, 16, 17 指定会话审核日志记录将记录哪些语句类。
pgaudit.log_catalog 11, 12, 13, 14, 15, 16, 17 指定在语句中的所有关系都处于 pg_catalog 的情况下,应启用会话日志记录。
pgaudit.log_client 11, 12, 13, 14, 15, 16, 17 指定审核消息是否应对客户端可见。
pgaudit.log_level 11, 12, 13, 14, 15, 16, 17 指定将用于日志条目的日志级别。
pgaudit.log_parameter 11, 12, 13, 14, 15, 16, 17 指定审核日志记录应包含随语句一起传递的参数。
pgaudit.log_relation 11, 12, 13, 14, 15, 16, 17 指定会话审核日志记录是否应为 SELECT 或 DML 语句中引用的每个关系创建单独的日志条目。
pgaudit.log_statement_once 11, 12, 13, 14, 15, 16, 17 指定日志记录是包含语句文本和参数以及语句/子语句组合的第一个日志条目还是每个条目。
pgaudit.role 11, 12, 13, 14, 15, 16, 17 指定要用于对象审核日志记录的主角色。
pglogical.batch_inserts 11, 12, 13, 14, 15, 16, 17 如果可能,请告知 PGLogical 使用批量插入机制。
pglogical.conflict_log_level 11, 12, 13, 14, 15, 16, 17 设置当 pglogical.conflict_resolution 设置为除 error 以外的任何值时报告检测到的冲突的日志级别。
pglogical.conflict_resolution 11, 12, 13, 14, 15, 16, 17 设置本地数据和传入更改之间检测到的任何冲突的解决方法。
pglogical.use_spi 11, 12, 13, 14, 15, 16, 17 告知 PGLogical 使用 SPI 接口形成实际 SQL(INSERT、UPDATE、DELETE)语句来应用传入更改,而不是使用内部低级别接口。
pgms_stats.is_enabled_fs 11, 12, 13, 14, 15, 16, 17 仅供内部使用:此参数用作功能覆盖开关。
pgms_wait_sampling.history_period 11, 12, 13, 14, 15, 16, 17 设置等待事件采样的频率(以毫秒为单位)。
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 选择 pgms_wait_sampling 扩展跟踪哪些语句。
pg_partman_bgw.analyze 11, 12, 13, 14, 15, 16, 17 与 run_maintenance() 的 p_analyze 参数的用途相同。
pg_partman_bgw.dbname 11, 12, 13, 14, 15, 16, 17 必需。 run_maintenance() 将运行的数据库。 如果存在多个数据库,请使用逗号分隔的列表。 如果未设置,BGW 将不执行任何操作。
pg_partman_bgw.interval 11, 12, 13, 14, 15, 16, 17 调用 run_maintenance() 的间隔秒数。
pg_partman_bgw.jobmon 11, 12, 13, 14, 15, 16, 17 与 run_maintenance() 的 p_jobmon 自变量的用途相同。
pg_partman_bgw.role 11, 12, 13, 14, 15, 16, 17 run_maintenance() 将作为其运行的角色。 默认值为 postgres。 仅支持单个角色名称。
pg_qs.interval_length_minutes 11, 12, 13, 14, 15, 16, 17 设置 pg_qs 的 query_store 捕获间隔(以分钟为单位)- 这是持久保存数据的频率。
pg_qs.is_enabled_fs 11, 12, 13, 14, 15, 16, 17 仅供内部使用:此参数用作功能覆盖开关。 如果显示为关闭,那么即使为 pg_qs.query_capture_mode 设置了值,查询存储也会被禁用。
pg_qs.max_plan_size 11, 12, 13, 14, 15, 16, 17 为 pg_qs 设置将要保存的查询计划文本最大字节数;过长的计划会被截断。
pg_qs.max_query_text_length 11, 12, 13, 14, 15, 16, 17 设置将保存的最大查询文本长度;将截断较长的查询。
pg_qs.query_capture_mode 11, 12, 13, 14, 15, 16, 17 设置查询存储的查询捕获模式。 None 禁用任何捕获。
pg_qs.retention_period_in_days 11, 12, 13, 14, 15, 16, 17 设置 pg_qs 的保留期窗口(以天为单位)- 数据将在此时间之后删除。
pg_qs.store_query_plans 11, 12, 13, 14, 15, 16, 17 为 pg_qs 打开或关闭保存查询计划的功能
pg_qs.track_utility 11, 12, 13, 14, 15, 16, 17 选择 pg_qs 是否跟踪实用程序命令。
pg_stat_statements.max 11, 12, 13, 14, 15, 16, 17 设置 pg_stat_statements 跟踪的语句数量上限。
pg_stat_statements.save 11, 12, 13, 14, 15, 16, 17 每次服务器关机后保存 pg_stat_statements 统计信息。
pg_stat_statements.track 11, 12, 13, 14, 15, 16, 17 控制 pg_stat_statements 对哪些语句进行计数。
pg_stat_statements.track_utility 11, 12, 13, 14, 15, 16, 17 选择是否由 pg_stat_statements 跟踪实用程序命令。

开发人员选项

名称 版本 说明
allow_in_place_tablespaces 11, 12, 13, 14, 15, 16, 17 允许直接位于 pg_tblspc 内的表空间进行测试。
allow_system_table_mods 11, 12, 13, 14, 15, 16, 17 允许修改系统表的结构。
backtrace_functions 13, 14, 15, 16, 17 记录这些函数中错误的回溯。
debug_discard_caches 14, 15, 16, 17 出于调试目的,主动刷新系统缓存。
debug_parallel_query 16, 17 强制使用并行查询工具。
force_parallel_mode 1112131415 强制使用并行查询工具。
ignore_checksum_failure 11, 12, 13, 14, 15, 16, 17 在校验和失败后继续处理。
ignore_invalid_pages 13, 14, 15, 16, 17 在页面无效失败后继续恢复。
ignore_system_indexes 11, 12, 13, 14, 15, 16, 17 禁止读取系统索引。
jit_debugging_support 11, 12, 13, 14, 15, 16, 17 向调试程序注册 JIT 编译的函数。
jit_dump_bitcode 11, 12, 13, 14, 15, 16, 17 写出 LLVM Bitcode 以方便 JIT 调试。
jit_expressions 11, 12, 13, 14, 15, 16, 17 允许 JIT 编译表达式。
jit_profiling_support 11, 12, 13, 14, 15, 16, 17 向性能探查器注册 JIT 编译的函数。
jit_tuple_deforming 11, 12, 13, 14, 15, 16, 17 允许 JIT 编译元组变形。
post_auth_delay 11, 12, 13, 14, 15, 16, 17 设置在连接启动时进行身份验证之后等待的时间量。
pre_auth_delay 11, 12, 13, 14, 15, 16, 17 设置在连接启动时进行身份验证之前等待的时间量。
remove_temp_files_after_crash 14, 16, 17 在后端崩溃后删除临时文件。
trace_notify 11, 12, 13, 14, 15, 16, 17 为 LISTEN 和 NOTIFY 生成调试输出。
trace_recovery_messages 111213141516 启用与恢复相关的调试信息的日志记录。
trace_sort 11, 12, 13, 14, 15, 16, 17 发出有关排序中资源使用情况的信息。
wal_consistency_checking 11, 12, 13, 14, 15, 16, 17 设置执行 WAL 一致性检查的 WAL 资源管理器。
zero_damaged_pages 11, 12, 13, 14, 15, 16, 17 继续处理已损坏的页眉。

错误处理

名称 版本 说明
data_sync_retry 11, 12, 13, 14, 15, 16, 17 同步数据文件失败后是否继续运行。
exit_on_error 11, 12, 13, 14, 15, 16, 17 发生任何错误时会终止会话。
recovery_init_sync_method 14, 15, 16, 17 设置在故障恢复之前同步数据目录的方法。
restart_after_crash 11, 12, 13, 14, 15, 16, 17 在后端故障后重新初始化服务器。

文件位置

名称 版本 说明
config_file 11, 12, 13, 14, 15, 16, 17 设置服务器的主配置文件。
data_directory 11, 12, 13, 14, 15, 16, 17 设置服务器的数据目录。
external_pid_file 11, 12, 13, 14, 15, 16, 17 将 postmaster PID 写入指定文件。
hba_file 11, 12, 13, 14, 15, 16, 17 设置服务器的“hba”配置文件。
ident_file 11, 12, 13, 14, 15, 16, 17 设置服务器的“ident”配置文件。

智能优化

名称 版本 说明
intelligent_tuning 11, 12, 13, 14, 15, 16, 17 启用智能优化
intelligent_tuning.metric_targets 11, 12, 13, 14, 15, 16, 17 指定智能优化将调整哪些指标。

锁管理

名称 版本 说明
deadlock_timeout 11, 12, 13, 14, 15, 16, 17 设置在检查死锁之前等待某个锁的时间量(以毫秒为单位)。
max_locks_per_transaction 11, 12, 13, 14, 15, 16, 17 设置每个事务可以获取的锁定数量上限。 运行副本服务器时,必须将此参数设置为与主服务器上的值相同或更高的值。
max_pred_locks_per_page 11, 12, 13, 14, 15, 16, 17 设置每页的谓词锁定元组数量上限。
max_pred_locks_per_relation 11, 12, 13, 14, 15, 16, 17 设置每个关系的谓词锁定页和元组数量上限。
max_pred_locks_per_transaction 11, 12, 13, 14, 15, 16, 17 设置每个事务的谓词锁定数量上限。

指标

名称 版本 说明
metrics.autovacuum_diagnostics 11, 12, 13, 14, 15, 16, 17 为数据库中的所有表统计信息启用指标收集
metrics.collector_database_activity 11, 12, 13, 14, 15, 16, 17 为数据库和活动统计信息启用指标收集
metrics.pgbouncer_diagnostics 11, 12, 13, 14, 15, 16, 17 为 PgBouncer 启用指标收集。

PgBouncer

名称 版本 说明
pgbouncer.default_pool_size 11, 12, 13, 14, 15, 16, 17 每个用户/数据库对允许的服务器连接数。
pgbouncer.enabled 11, 12, 13, 14, 15, 16, 17 表示是否启用了 pgBouncer 服务。
pgbouncer.ignore_startup_parameters 11, 12, 13, 14, 15, 16, 17 PgBouncer 可忽略的参数的逗号分隔列表,因为这些参数将由管理员处理。
pgbouncer.max_client_conn 11, 12, 13, 14, 15, 16, 17 允许的最大客户端连接数。
pgbouncer.max_prepared_statements 11, 12, 13, 14, 15, 16, 17 当它设置为非零值时,PgBouncer 会跟踪客户端在事务和语句池模式下发送的、协议级命名的、已准备好的语句相关命令。
pgbouncer.min_pool_size 11, 12, 13, 14, 15, 16, 17 如果低于此数量,请将更多服务器连接添加到池。
pgbouncer.pool_mode 11, 12, 13, 14, 15, 16, 17 指定服务器连接何时可供其他客户端重复使用。
pgbouncer.query_wait_timeout 11, 12, 13, 14, 15, 16, 17 允许查询等待进行执行的最长时间(秒)。 如果在此期间未将查询分配给服务器,则客户端将断开连接。
pgbouncer.server_idle_timeout 11, 12, 13, 14, 15, 16, 17 如果服务器连接空闲时间超过此秒数,则会将其断开。 如果为 0,则禁用超时。
pgbouncer.stats_users 11, 12, 13, 14, 15, 16, 17 获允在 pgBouncer 控制台上连接和运行只读查询的数据库用户的逗号分隔列表。

预设选项

名称 版本 说明
block_size 11, 12, 13, 14, 15, 16, 17 显示磁盘块的大小。
data_checksums 11, 12, 13, 14, 15, 16, 17 显示是否为此群集启用数据校验和。
data_directory_mode 11, 12, 13, 14, 15, 16, 17 显示数据目录的模式。
debug_assertions 11, 12, 13, 14, 15, 16, 17 显示正在运行的服务器是否启用了断言检查。
in_hot_standby 14, 15, 16, 17 显示热备用服务器当前是否处于活动状态。
integer_datetimes 11, 12, 13, 14, 15, 16, 17 显示日期/时间是否基于整数。
lc_collate 1112131415 显示排序规则顺序区域设置。
lc_ctype 1112131415 显示字符分类和大小写转换区域设置。
max_function_args 11, 12, 13, 14, 15, 16, 17 显示函数自变量的最大数目。
max_identifier_length 11, 12, 13, 14, 15, 16, 17 显示最大标识符长度。
max_index_keys 11, 12, 13, 14, 15, 16, 17 显示索引键的最大数目。
segment_size 11, 12, 13, 14, 15, 16, 17 显示每个磁盘文件的页面数。
server_encoding 11, 12, 13, 14, 15, 16, 17 显示服务器(数据库)字符集编码。
server_version 11, 12, 13, 14, 15, 16, 17 显示服务器版本。
server_version_num 11, 12, 13, 14, 15, 16, 17 将服务器版本显示为整数。
shared_memory_size 15, 16, 17 显示服务器的主共享内存区域的大小(向上舍入到最近的 MB)。
shared_memory_size_in_huge_pages 15, 16, 17 显示主共享内存区域所需的大型页数。
ssl_library 12, 13, 14, 15, 16, 17 显示 SSL 库的名称。
wal_block_size 11, 12, 13, 14, 15, 16, 17 显示预写日志中的块大小。
wal_segment_size 11, 12, 13, 14, 15, 16, 17 显示预写日志段的大小。

进程标题

名称 版本 说明
cluster_name 11, 12, 13, 14, 15, 16, 17 设置进程标题中包含的群集名称。
update_process_title 11, 12, 13, 14, 15, 16, 17 更新进程标题以显示活动 SQL 命令。

查询优化/基因查询优化器

名称 版本 说明
geqo 11, 12, 13, 14, 15, 16, 17 启用基因查询优化。
geqo_effort 11, 12, 13, 14, 15, 16, 17 GEQO:为其他 GEQO 参数设置默认值所付出的工作量。
geqo_generations 11, 12, 13, 14, 15, 16, 17 GEQO:算法的迭代次数。
geqo_pool_size 11, 12, 13, 14, 15, 16, 17 GEQO:种群中的个体数目。
geqo_seed 11, 12, 13, 14, 15, 16, 17 GEQO:用于选择随机路径的种子。
geqo_selection_bias 11, 12, 13, 14, 15, 16, 17 GEQO:种群内部的选择性压力。
geqo_threshold 11, 12, 13, 14, 15, 16, 17 设置 FROM 项的阈值,超过该阈值时会使用 GEQO。

查询优化/其他规划器选项

名称 版本 说明
constraint_exclusion 11, 12, 13, 14, 15, 16, 17 控制查询规划器使用表约束优化查询的行为。
cursor_tuple_fraction 11, 12, 13, 14, 15, 16, 17 设置规划器对要检索的游标行的分数的估算值。
default_statistics_target 11, 12, 13, 14, 15, 16, 17 为没有列特定目标的表列设置默认统计信息目标。
from_collapse_limit 11, 12, 13, 14, 15, 16, 17 规划器会在 FROM 子句中将子查询合并到不超过此限制的上限查询中。 较小值可缩短计划时间,但可能会生成低级的查询计划。
jit 11, 12, 13, 14, 15, 16, 17 确定 PostgreSQL 是否可以使用 JIT 编译。
join_collapse_limit 11, 12, 13, 14, 15, 16, 17 设置 FROM 列表的大小,超过该大小时将不平展 JOIN 构造。
plan_cache_mode 12, 13, 14, 15, 16, 17 控制规划器选择自定义或通用计划的行为。
recursive_worktable_factor 15, 16, 17 设置规划器对递归查询的工作表的平均大小的估计值。

查询优化/规划器成本常数

名称 版本 说明
cpu_index_tuple_cost 11, 12, 13, 14, 15, 16, 17 设置规划器对索引扫描期间处理每个索引条目的成本估算值。
cpu_operator_cost 11, 12, 13, 14, 15, 16, 17 设置规划器对查询期间处理执行的每个运算符或函数的成本估计值。
cpu_tuple_cost 11, 12, 13, 14, 15, 16, 17 设置规划器对查询期间处理每一行的成本估计值。
effective_cache_size 11, 12, 13, 14, 15, 16, 17 设置规划器对磁盘缓存大小做出的假设。
jit_above_cost 11, 12, 13, 14, 15, 16, 17 设置激活 JIT 编译(如果已启用)的查询成本。
jit_inline_above_cost 11, 12, 13, 14, 15, 16, 17 设置 JIT 编译尝试内联函数和运算符的查询成本。
jit_optimize_above_cost 11, 12, 13, 14, 15, 16, 17 设置 JIT 编译应用昂贵优化的查询成本。
min_parallel_index_scan_size 11, 12, 13, 14, 15, 16, 17 设置并行扫描的最小索引数据量。
min_parallel_table_scan_size 11, 12, 13, 14, 15, 16, 17 设置要考虑的并行扫描必须扫描的最小表数据量。
parallel_setup_cost 11, 12, 13, 14, 15, 16, 17 设置规划器对为并行查询启动工作进程的成本的估算值。
parallel_tuple_cost 11, 12, 13, 14, 15, 16, 17 设置规划器对将每个元组(行)从辅助角色传递到主后端的成本估算值。
random_page_cost 11, 12, 13, 14, 15, 16, 17 设置规划器对不按顺序提取磁盘页的成本估计值。
seq_page_cost 11, 12, 13, 14, 15, 16, 17 设置规划器对按顺序提取磁盘页的成本估计值。

查询优化/规划器方法配置

名称 版本 说明
enable_async_append 14, 15, 16, 17 允许规划器使用异步追加计划。
enable_bitmapscan 11, 12, 13, 14, 15, 16, 17 允许规划器使用位图扫描计划。
enable_gathermerge 11, 12, 13, 14, 15, 16, 17 允许规划器使用收集合并计划。
enable_hashagg 11, 12, 13, 14, 15, 16, 17 允许规划器使用哈希聚合计划。
enable_hashjoin 11, 12, 13, 14, 15, 16, 17 允许规划器使用哈希联接计划。
enable_incremental_sort 13, 14, 15, 16, 17 允许规划器使用增量排序步骤。
enable_indexonlyscan 11, 12, 13, 14, 15, 16, 17 允许规划器使用仅限索引的扫描计划。
enable_indexscan 11, 12, 13, 14, 15, 16, 17 允许规划器使用索引扫描计划。
enable_material 11, 12, 13, 14, 15, 16, 17 允许规划器使用具体化。
enable_memoize 14, 15, 16, 17 允许规划器使用备忘录化。
enable_mergejoin 11, 12, 13, 14, 15, 16, 17 允许规划器使用合并联接计划。
enable_nestloop 11, 12, 13, 14, 15, 16, 17 允许规划器使用嵌套循环联接计划。
enable_parallel_append 11, 12, 13, 14, 15, 16, 17 允许规划器使用并行追加计划。
enable_parallel_hash 11, 12, 13, 14, 15, 16, 17 允许规划器使用并行哈希计划。
enable_partition_pruning 11, 12, 13, 14, 15, 16, 17 启用计划时间和执行时分区修剪。
enable_partitionwise_aggregate 11, 12, 13, 14, 15, 16, 17 允许或禁止查询规划器使用分区分组或聚合,这允许对每个分区单独执行的分区表进行分组或聚合。
enable_partitionwise_join 11, 12, 13, 14, 15, 16, 17 允许或禁止查询规划器使用分区联接,这允许通过联接匹配分区来执行分区表之间的联接。
enable_seqscan 11, 12, 13, 14, 15, 16, 17 允许规划器使用顺序扫描计划。
enable_sort 11, 12, 13, 14, 15, 16, 17 允许规划器使用显式排序步骤。
enable_tidscan 11, 12, 13, 14, 15, 16, 17 允许规划器使用 TID 扫描计划。

复制/主服务器

名称 版本 说明
synchronous_standby_names 11, 12, 13, 14, 15, 16, 17 同步备用服务器数和潜在同步备用服务器的名称列表。

复制/主服务器

名称 版本 说明
synchronous_standby_names 11, 12, 13, 14, 15, 16, 17 同步备用服务器数和潜在同步备用服务器的名称列表。
vacuum_defer_cleanup_age 1112131415 指定 VACUUM 和 HOT 更新将延迟死行版本的清理的事务数。

复制/发送服务器

名称 版本 说明
max_replication_slots 11, 12, 13, 14, 15, 16, 17 指定服务器可支持的最大复制槽数。
max_slot_wal_keep_size 13, 14, 15, 16, 17 设置复制槽可以保留的最大 WAL 大小。
max_wal_senders 11, 12, 13, 14, 15, 16, 17 设置同时运行的 WAL 发送方进程数量上限。
track_commit_timestamp 11, 12, 13, 14, 15, 16, 17 收集事务提交时间。
wal_keep_segments 1112 设置为备用服务器保留的 WAL 文件数。
wal_keep_size 13, 14, 15, 16, 17 设置为备用服务器保留的 WAL 文件的大小。
wal_sender_timeout 11, 12, 13, 14, 15, 16, 17 设置等待 WAL 复制的最长时间。

复制/备用服务器

名称 版本 说明
hot_standby 11, 12, 13, 14, 15, 16, 17 允许在恢复期间连接和查询。
hot_standby_feedback 11, 12, 13, 14, 15, 16, 17 启用/禁用关于热备用服务器是否需要向主或上游备用服务器发送有关当前在备用服务器上执行的查询的反馈的选项。
max_standby_archive_delay 11, 12, 13, 14, 15, 16, 17 设置在取消热备用服务器处理存档的 WAL 数据时发生冲突的查询之前的最大延迟。
max_standby_streaming_delay 11, 12, 13, 14, 15, 16, 17 设置在取消热备用服务器处理流式传输的 WAL 数据时发生冲突的查询之前的最大延迟。
primary_conninfo 12, 13, 14, 15, 16, 17 设置用于连接到发送服务器的连接字符串。
primary_slot_name 12, 13, 14, 15, 16, 17 设置要在发送服务器上使用的复制槽的名称。
promote_trigger_file 12131415 指定其状态将在备用节点中结束恢复的文件名。
recovery_min_apply_delay 12, 13, 14, 15, 16, 17 设置在恢复期间应用更改的最小延迟。
wal_receiver_create_temp_slot 13, 14, 15, 16, 17 设置在未配置永久槽时 WAL 接收器是否应创建临时复制槽。
wal_receiver_status_interval 11, 12, 13, 14, 15, 16, 17 设置向主节点报告 WAL 接收器状态的最大时间间隔。
wal_receiver_timeout 11, 12, 13, 14, 15, 16, 17 设置从发送服务器接收数据的最大等待时间。
wal_retrieve_retry_interval 11, 12, 13, 14, 15, 16, 17 设置在尝试失败后重试以检索 WAL 之前等待的时间。

复制/订阅服务器

名称 版本 说明
max_logical_replication_workers 11, 12, 13, 14, 15, 16, 17 指定逻辑复制辅助角色的最大数目。 这包括应用辅助角色和表同步辅助角色。
max_parallel_apply_workers_per_subscription 16, 17 设置逻辑复制中每个订阅可以使用的最大并行应用辅助角色数。
max_sync_workers_per_subscription 11, 12, 13, 14, 15, 16, 17 每个订阅的表同步辅助角色的最大数目。

报告和记录/要记录的内容

名称 版本 说明
application_name 11, 12, 13, 14, 15, 16, 17 设置要在统计信息和日志中报告的应用程序名称。
debug_pretty_print 11, 12, 13, 14, 15, 16, 17 缩进分析和计划树的显示内容。
debug_print_parse 11, 12, 13, 14, 15, 16, 17 记录每个查询的分析树。
debug_print_plan 11, 12, 13, 14, 15, 16, 17 记录每个查询的执行计划。
debug_print_rewritten 11, 12, 13, 14, 15, 16, 17 记录每个查询的重写分析树。
log_autovacuum_min_duration 11, 12, 13, 14, 15, 16, 17 设置最短执行时间,超过该时间将将记录 autovacuum 操作。
log_checkpoints 11, 12, 13, 14, 15, 16, 17 记录每个检查点。
log_connections 11, 12, 13, 14, 15, 16, 17 导致记录与服务器的每次连接尝试,以及成功完成的客户端身份验证。
log_disconnections 11, 12, 13, 14, 15, 16, 17 记录会话结束时间,包括持续时间。
log_duration 11, 12, 13, 14, 15, 16, 17 记录每个已完成 SQL 语句的持续时间。
log_error_verbosity 11, 12, 13, 14, 15, 16, 17 控制服务器日志中为记录的每条消息写入的详细信息量。
log_hostname 11, 12, 13, 14, 15, 16, 17 记录连接日志中的主机名。
log_line_prefix 11, 12, 13, 14, 15, 16, 17 设置在每个日志行开头输出的 printf 样式字符串。
log_lock_waits 11, 12, 13, 14, 15, 16, 17 控制当会话等待获取锁的时间超过 deadlock_timeout 时是否生成日志消息。
log_parameter_max_length 13, 14, 15, 16, 17 设置记录语句时为绑定参数值记录的数据的最大长度(以字节为单位)。
log_parameter_max_length_on_error 13, 14, 15, 16, 17 设置记录语句并发生错误时为绑定参数值记录的数据的最大长度(以字节为单位)。
log_recovery_conflict_waits 14, 15, 16, 17 控制启动进程等待恢复冲突的时间超过 deadlock_timeout 时是否生成日志消息。
log_replication_commands 11, 12, 13, 14, 15, 16, 17 记录每个复制命令。
log_statement 11, 12, 13, 14, 15, 16, 17 设置记录的语句的类型。
log_temp_files 11, 12, 13, 14, 15, 16, 17 记录大于此 KB 数的临时文件的使用。
log_timezone 11, 12, 13, 14, 15, 16, 17 设置在日志消息中使用的时区。

报告和记录/何时记录

名称 版本 说明
log_min_duration_sample 13, 14, 15, 16, 17 设置最短执行时间,超过该时间将将记录语句示例。 采样由 log_statement_sample_rate 确定。
log_min_duration_statement 11, 12, 13, 14, 15, 16, 17 设置最短执行时间(以毫秒为单位),超过该时间将记录语句。 -1 禁用日志记录语句持续时间。
log_min_error_statement 11, 12, 13, 14, 15, 16, 17 导致记录在此级别或更高级别生成错误的所有语句。
log_min_messages 11, 12, 13, 14, 15, 16, 17 控制将哪些消息级别写入服务器日志。
log_startup_progress_interval 15, 16, 17 长时间运行的启动操作的进度更新之间的时间。
log_statement_sample_rate 13, 14, 15, 16, 17 超过要记录的 log_min_duration_sample 的语句的占比。
log_transaction_sample_rate 12, 13, 14, 15, 16, 17 设置记录所有语句的事务的分数。

报告和记录/记录位置

名称 版本 说明
event_source 11, 12, 13, 14, 15, 16, 17 设置用于标识事件日志中的 PostgreSQL 消息的应用程序名称。
log_destination 11, 12, 13, 14, 15, 16, 17 设置服务器日志输出的目标。
log_directory 11, 12, 13, 14, 15, 16, 17 设置日志文件的目标目录。
log_file_mode 11, 12, 13, 14, 15, 16, 17 设置日志文件的文件权限。
log_filename 11, 12, 13, 14, 15, 16, 17 设置日志文件的文件名模式。
logging_collector 11, 12, 13, 14, 15, 16, 17 启动子进程,以将 stderr 输出和/或 csvlog 捕获到日志文件中。
log_rotation_age 11, 12, 13, 14, 15, 16, 17 设置在强制日志文件轮换之前等待的时间量。
log_rotation_size 11, 12, 13, 14, 15, 16, 17 设置日志文件在轮换之前可以达到的最大大小。
log_truncate_on_rotation 11, 12, 13, 14, 15, 16, 17 在日志轮换期间截断同名的现有日志文件。
syslog_facility 11, 12, 13, 14, 15, 16, 17 设置启用 syslog 时要使用的 syslog“设施”。
syslog_ident 11, 12, 13, 14, 15, 16, 17 设置用于标识 syslog 中的 PostgreSQL 消息的程序名称。
syslog_sequence_numbers 11, 12, 13, 14, 15, 16, 17 将序列号添加到 syslog 消息,以避免重复抑制。
syslog_split_messages 11, 12, 13, 14, 15, 16, 17 按行拆分发送到 syslog 的消息,使其不超过 1024 字节。

资源使用情况/异步行为

名称 版本 说明
backend_flush_after 11, 12, 13, 14, 15, 16, 17 在将以前执行的写入刷新到磁盘之前所要达到的页数。
effective_io_concurrency 11, 12, 13, 14, 15, 16, 17 设置 PostgreSQL 预期能够同时执行的并发磁盘 I/O 操作的数量。
maintenance_io_concurrency 13, 14, 15, 16, 17 用于维护工作的 effective_io_concurrency 变体。
max_parallel_maintenance_workers 11, 12, 13, 14, 15, 16, 17 设置每个维护操作的并行进程数量上限。
max_parallel_workers 11, 12, 13, 14, 15, 16, 17 设置并行操作支持的辅助角色数量上限。
max_parallel_workers_per_gather 11, 12, 13, 14, 15, 16, 17 设置每个执行程序节点的并行进程数量上限。
max_worker_processes 11, 12, 13, 14, 15, 16, 17 设置系统可支持的后台进程数量上限。
parallel_leader_participation 11, 12, 13, 14, 15, 16, 17 控制 Gather 和 Gather Merge 是否也运行子计划。

资源使用情况/后台编写器

名称 版本 说明
bgwriter_delay 11, 12, 13, 14, 15, 16, 17 指定后台编写器的活动轮次之间的延迟。 在每一轮中,编写器会针对一些脏缓冲区发出写入操作。
bgwriter_flush_after 11, 12, 13, 14, 15, 16, 17 在将后台编写器以前执行的写入刷新到磁盘之前所要达到的页数。
bgwriter_lru_maxpages 11, 12, 13, 14, 15, 16, 17 在每一轮中,后台编写器将写入不超过此数量的缓冲区。
bgwriter_lru_multiplier 11, 12, 13, 14, 15, 16, 17 将缓冲区的平均近期需求乘以 bgwriter_lru_multiplier,以得出下一轮期间将需要的缓冲区数量估计值。

资源使用情况/基于成本的清空延迟

名称 版本 说明
vacuum_cost_delay 11, 12, 13, 14, 15, 16, 17 超出成本限制时清空进程将休眠的时间量(以毫秒为单位)。
vacuum_cost_limit 11, 12, 13, 14, 15, 16, 17 导致清空进程休眠的累计成本。
vacuum_cost_page_dirty 11, 12, 13, 14, 15, 16, 17 清空修改以前清除的块的估计成本。
vacuum_cost_page_hit 11, 12, 13, 14, 15, 16, 17 清空共享缓冲区缓存中找到的缓冲区的估计成本。
vacuum_cost_page_miss 11, 12, 13, 14, 15, 16, 17 清空必须从磁盘读取的缓冲区的估计成本。

资源使用情况/磁盘

名称 版本 说明
temp_file_limit 11, 12, 13, 14, 15, 16, 17 限制每个进程使用的所有临时文件的总大小。

资源使用情况/内核资源

名称 版本 说明
max_files_per_process 11, 12, 13, 14, 15, 16, 17 设置每个服务器进程同时打开的文件数量上限。

资源使用情况/内存

名称 版本 说明
autovacuum_work_mem 11, 12, 13, 14, 15, 16, 17 设置每个 autovacuum 工作进程要使用的最大内存。
dynamic_shared_memory_type 11, 12, 13, 14, 15, 16, 17 选择使用的动态共享内存实现。
hash_mem_multiplier 12, 13, 14, 15, 16, 17 要用于哈希表的多个 work_mem。
huge_pages 11, 12, 13, 14, 15, 16, 17 允许/禁止使用大型内存页。 此设置不适用于少于 4 个 vCore 的服务器。
huge_page_size 14, 15, 16, 17 应请求的大型页的大小。
logical_decoding_work_mem 13, 14, 15, 16, 17 设置用于逻辑解码的最大内存。
maintenance_work_mem 11, 12, 13, 14, 15, 16, 17 设置用于维护操作(如 VACUUM、“创建索引”)的最大内存。
max_prepared_transactions 11, 12, 13, 14, 15, 16, 17 设置同时准备的事务数量上限。 运行副本服务器时,必须将此参数设置为与主服务器上的值相同或更高的值。
max_stack_depth 11, 12, 13, 14, 15, 16, 17 设置最大堆栈深度(以 KB 为单位)。
min_dynamic_shared_memory 14, 15, 16, 17 启动时保留的动态共享内存量。
shared_buffers 11, 12, 13, 14, 15, 16, 17 设置服务器使用的共享内存缓冲区数。 单位为 8kb。 允许的值在 10% - 75% 的可用内存范围内。
shared_memory_type 12, 13, 14, 15, 16, 17 选择用于主共享内存区域的共享内存实现。
temp_buffers 11, 12, 13, 14, 15, 16, 17 设置每个数据库会话使用的临时缓冲区数量上限。
vacuum_buffer_usage_limit 16, 17 设置 VACUUM、ANALYZE 和 autovacuum 的缓冲池大小。
work_mem 11, 12, 13, 14, 15, 16, 17 设置写入到临时磁盘文件之前内部排序操作和哈希表要使用的内存量。

统计信息/累积查询和索引统计信息

名称 版本 说明
stats_fetch_consistency 15, 16, 17 设置对统计信息数据的访问的一致性。
track_activities 11, 12, 13, 14, 15, 16, 17 收集有关对每个会话执行命令的信息。
track_activity_query_size 11, 12, 13, 14, 15, 16, 17 设置为 pg_stat_activity.query 保留的内存量(以字节为单位)。
track_counts 11, 12, 13, 14, 15, 16, 17 启用对数据库活动的统计信息收集
track_functions 11, 12, 13, 14, 15, 16, 17 启用对函数调用计数和已使用时间的跟踪。
track_io_timing 11, 12, 13, 14, 15, 16, 17 启用对数据库 I/O 调用的计时。
track_wal_io_timing 14, 15, 16, 17 收集 WAL I/O 活动的计时统计信息。

统计信息/监视

名称 版本 说明
compute_query_id 14, 15, 16, 17 启用查询标识符的核心计算。
log_executor_stats 11, 12, 13, 14, 15, 16, 17 将执行程序性能统计信息写入服务器日志。
log_parser_stats 11, 12, 13, 14, 15, 16, 17 将分析器性能统计信息写入服务器日志。
log_planner_stats 11, 12, 13, 14, 15, 16, 17 将规划器性能统计信息写入服务器日志。
log_statement_stats 11, 12, 13, 14, 15, 16, 17 对于每个查询,将累积性能统计信息写入服务器日志。

统计信息/查询和索引统计信息收集器

名称 版本 说明
stats_temp_directory 11121314 将临时统计信息文件写入指定目录。

TLS

名称 版本 说明
require_secure_transport 11, 12, 13, 14, 15, 16, 17 是否需要客户端连接到服务器来使用某种形式的安全传输。

版本和平台兼容性/其他平台和客户端

名称 版本 说明
transform_null_equals 11, 12, 13, 14, 15, 16, 17 启用时,expr = NUL(或 NULL = expr)形式的表达式被视为 expr IS NULL,也就是说,如果 expr 的计算结果为 null 值,则返回 true;否则为 false。

版本和平台兼容性/以前的 PostgreSQL 版本

名称 版本 说明
array_nulls 11, 12, 13, 14, 15, 16, 17 允许将 NULL(不区分大小写)的输入视为 NULL 值,而不是文本字符串“NULL”。
backslash_quote 11, 12, 13, 14, 15, 16, 17 设置字符串字面量中是否允许“\”。
escape_string_warning 11, 12, 13, 14, 15, 16, 17 警告普通字符串字面量中存在反斜杠转义符。
lo_compat_privileges 11, 12, 13, 14, 15, 16, 17 为针对大型对象的特权检查启用后向兼容性模式。
operator_precedence_warning 1112 针对自 PostgreSQL 9.4 以来其含义已发生更改的构造发出警告。
quote_all_identifiers 11, 12, 13, 14, 15, 16, 17 生成 SQL 片段时将所有标识符括在引号中。
standard_conforming_strings 11, 12, 13, 14, 15, 16, 17 导致“...”字符串以字面形式处理反斜杠。
synchronize_seqscans 11, 12, 13, 14, 15, 16, 17 启用同步顺序扫描。

预写日志/存档恢复

名称 版本 说明
archive_cleanup_command 12, 13, 14, 15, 16, 17 设置将在每次重启时执行的 shell 命令。
recovery_end_command 12, 13, 14, 15, 16, 17 设置将在恢复结束时执行一次的 shell 命令。
restore_command 12, 13, 14, 15, 16, 17 设置将调用以检索已存档 WAL 文件的 shell 命令。

预写日志/存档

名称 版本 说明
archive_command 11, 12, 13, 14, 15, 16, 17 设置将调用以存档 WAL 文件的 shell 命令。
archive_library 15, 16, 17 设置将调用以存档 WAL 文件的库。
archive_mode 11, 12, 13, 14, 15, 16, 17 允许使用 archive_command 存档 WAL 文件。
archive_timeout 11, 12, 13, 14, 15, 16, 17 如果在 N 秒内尚未启动新文件,则强制切换到下一个 WAL 文件。

预写日志/检查点

名称 版本 说明
checkpoint_completion_target 11, 12, 13, 14, 15, 16, 17 将检查点完成的目标(作为检查点之间的总时间的一小部分)。
checkpoint_flush_after 11, 12, 13, 14, 15, 16, 17 在将以前执行的写入刷新到磁盘之前所要达到的页数。
checkpoint_timeout 11, 12, 13, 14, 15, 16, 17 自动 WAL 检查点之间的最长时间(以秒为单位)。 有效范围为 30 秒到一天。
checkpoint_warning 11, 12, 13, 14, 15, 16, 17 如果 WAL 段的填充频率高于此频率,则写入一条警告消息。
max_wal_size 11, 12, 13, 14, 15, 16, 17 在触发自动检查点之前允许 WAL 增长的最大大小。
min_wal_size 11, 12, 13, 14, 15, 16, 17 设置要将 WAL 收缩到的最小大小。

预写日志/恢复

名称 版本 说明
recovery_prefetch 15, 16, 17 在恢复期间预提取引用的块。
wal_decode_buffer_size 15, 16, 17 用于在恢复期间在 WAL 中提前读取的缓冲区大小。

预写日志/恢复目标

名称 版本 说明
recovery_target 12, 13, 14, 15, 16, 17 设置为“immediate”以便在达到一致状态后立即结束恢复。
recovery_target_action 12, 13, 14, 15, 16, 17 设置在达到恢复目标时要执行的操作。
recovery_target_inclusive 12, 13, 14, 15, 16, 17 设置是包含还是排除具有恢复目标的事务。
recovery_target_lsn 12, 13, 14, 15, 16, 17 设置将继续恢复的预写日志位置的 LSN。
recovery_target_name 12, 13, 14, 15, 16, 17 设置要继续恢复到的命名还原点。
recovery_target_time 12, 13, 14, 15, 16, 17 设置要继续恢复到的时间戳。
recovery_target_timeline 12, 13, 14, 15, 16, 17 指定要恢复到的时间线。
recovery_target_xid 12, 13, 14, 15, 16, 17 设置要继续恢复到的事务 ID。

预写日志/设置

名称 版本 说明
commit_delay 11, 12, 13, 14, 15, 16, 17 设置提交事务与将 WAL 刷新到磁盘之间的延迟(以微秒为单位)。
commit_siblings 11, 12, 13, 14, 15, 16, 17 设置执行 commit_delay 之前的最小并发打开事务数。
fsync 11, 12, 13, 14, 15, 16, 17 强制同步对磁盘的更新。
full_page_writes 11, 12, 13, 14, 15, 16, 17 在检查点后首次修改时,将完整页面写入 WAL。
synchronous_commit 11, 12, 13, 14, 15, 16, 17 设置当前事务的同步级别。
wal_buffers 11, 12, 13, 14, 15, 16, 17 设置 WAL 共享内存中的磁盘页缓冲区数。 单位为 8kb。
wal_compression 11, 12, 13, 14, 15, 16, 17 压缩在 WAL 文件中编写的完整页面写入。
wal_init_zero 12, 13, 14, 15, 16, 17 首次使用之前,将零写入新 WAL 文件。
wal_level 11, 12, 13, 14, 15, 16, 17 它确定写入 WAL 的信息量。
wal_log_hints 11, 12, 13, 14, 15, 16, 17 在检查点后首次修改时,将完整页面写入 WAL,即使对于非关键修改也是如此。
wal_recycle 12, 13, 14, 15, 16, 17 通过重命名 WAL 文件来回收 WAL 文件。
wal_skip_threshold 13, 14, 15, 16, 17 要 fsync 而不是写入 WAL 的新文件的最小大小。
wal_sync_method 11, 12, 13, 14, 15, 16, 17 选择用于强制 WAL 更新到磁盘的方法。
wal_writer_delay 11, 12, 13, 14, 15, 16, 17 WAL 编写器执行的 WAL 刷新之间的时间间隔。
wal_writer_flush_after 11, 12, 13, 14, 15, 16, 17 WAL 写入器写出的 WAL 数量,达到该数量将触发刷新。

后续步骤

若要了解受支持的 PostgreSQL 扩展,请参阅 Azure Database for PostgreSQL 灵活服务器中的 PostgreSQL 扩展