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

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

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

Azure Database for PostgreSQL 为每个服务器都提供了一组可配置的参数。

这些参数可以对应于:

  • 数据库引擎:PostgreSQL 数据库引擎或实现扩展功能的二进制库定义的参数。 数据库引擎内置参数的一些示例包括 autovacuum_max_workersDateStyleclient_min_messagespassword_encryptionmax_connectionsgeqofrom_collapse_limitcpu_tuple_costcpu_tuple_costmax_standby_streaming_delaylog_connectionslog_min_duration_statementmax_parallel_workersbgwriter_delayshared_buffers。 扩展定义的一些参数示例包括 pg_qs.max_query_text_length(pg_qs 扩展、实现查询存储的功能)、pg_stat_statements.maxpg_stat_statements 扩展)、pgaudit.log_catalogpgaudit 扩展)和 cron.database_namecron 扩展)。
  • 非数据库引擎:控制某些内置功能的参数,它是 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 1112131415, 1617 控制服务器是否应运行 autovacuum 子进程。
autovacuum_analyze_scale_factor 1112131415, 1617 指定在决定是否触发 VACUUM 时要添加到 autovacuum_vacuum_threshold 的表大小的占比。
autovacuum_analyze_threshold 1112131415, 1617 设置在任一表中触发 ANALYZE 所需的已插入、已更新或已删除元组的最小数量。
autovacuum_freeze_max_age 1112131415, 1617 触发表 autovacuum 之前的最大期限(在事务中)以防止事务 ID 重叠。
autovacuum_max_workers 1112131415, 1617 设置同时运行的 autovacuum 辅助角色数量上限。
autovacuum_multixact_freeze_max_age 1112131415, 1617 触发表 autovacuum 之前的最大期限(在 multixact 中)以防止 multixact 重叠。
autovacuum_naptime 1112131415, 1617 设置在任何给定数据库上运行 autovacuum 之间的最小延迟。
autovacuum_vacuum_cost_delay 1112131415, 1617 设置将在自动 VACUUM 操作中使用的成本延迟值(毫秒)。
autovacuum_vacuum_cost_limit 1112131415, 1617 设置将在自动 VACUUM 操作中使用的成本限制值。
autovacuum_vacuum_insert_scale_factor 1314151617 指定在决定是否触发 VACUUM 时要添加到 autovacuum_vacuum_insert_threshold 的表大小的占比。
autovacuum_vacuum_insert_threshold 1314151617 指定在任何一个表中触发 VACUUM 所需的已插入元组数。
autovacuum_vacuum_scale_factor 1112131415, 1617 指定在决定是否触发清扫作业时要添加到 autovacuum_vacuum_threshold 的表大小的占比。
autovacuum_vacuum_threshold 1112131415, 1617 指定在任一表中触发 VACUUM 所需的已更新或已删除元组的最小数量。

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

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

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

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

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

名称 版本 说明
jit_provider 1112131415, 1617 要使用的 JIT 提供者。
local_preload_libraries 1112131415, 1617 列出要预加载到每个后端的无特权共享库。
session_preload_libraries 1112131415, 1617 列出要预加载到每个后端的共享库。
shared_preload_libraries 1112131415, 1617 设置在服务器启动时预加载的共享库。

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

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

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

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

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

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

连接和身份验证/SSL

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

连接和身份验证/TCP 设置

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

自定义选项

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

开发人员选项

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

错误处理

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

文件位置

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

智能优化

名称 版本 说明
intelligent_tuning 1112131415, 1617 启用智能优化
intelligent_tuning.metric_targets 1112131415, 1617 指定智能优化将调整哪些指标。

锁管理

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

指标

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

PgBouncer

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

预设选项

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

进程标题

名称 版本 说明
cluster_name 1112131415, 1617 设置进程标题中包含的群集名称。
update_process_title 1112131415, 1617 更新进程标题以显示活动 SQL 命令。

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

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

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

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

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

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

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

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

复制/主服务器

名称 版本 说明
synchronous_standby_names 1112131415, 1617 同步备用服务器数和潜在同步备用服务器的名称列表。

复制/主服务器

名称 版本 说明
synchronous_standby_names 1112131415, 1617 同步备用服务器数和潜在同步备用服务器的名称列表。
vacuum_defer_cleanup_age 1112131415 指定 VACUUM 和 HOT 更新在清理“死行版本”前,会延迟多少个事务。

复制/发送服务器

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

复制/备用服务器

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

复制/订阅服务器

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

报告生成和日志记录/日志记录对象

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

报告和记录/何时记录

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

报告生成和日志记录/日志记录位置

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

资源使用状况/异步行为

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

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

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

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

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

资源使用情况/磁盘

名称 版本 说明
temp_file_limit 1112131415, 1617 限制每个进程使用的所有临时文件的总大小。

资源使用情况/内核资源

名称 版本 说明
max_files_per_process 1112131415, 1617 设置每个服务器进程同时打开的文件数量上限。

资源使用情况/内存

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

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

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

统计信息/监视

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

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

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

TLS

名称 版本 说明
require_secure_transport 1112131415, 1617 是否需要客户端连接到服务器来使用某种形式的安全传输。

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

名称 版本 说明
allow_alter_system 17 启用/禁用 allow alter system 命令。
transform_null_equals 1112131415, 1617 启用时,expr = NUL(或 NULL = expr)形式的表达式被视为 expr IS NULL,也就是说,如果 expr 的计算结果为 null 值,则返回 true;否则为 false。

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

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

预写日志/存档恢复

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

预写日志/存档

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

预写日志/检查点

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

预写日志/恢复

名称 版本 说明
recovery_prefetch 151617 在恢复期间预提取引用的块。
wal_decode_buffer_size 151617 用于在恢复期间在 WAL 中进行预读的缓冲区大小。

预写日志/恢复目标

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

预写日志/设置

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