Amazon Aurora PostgreSQL 参数 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

Amazon Aurora PostgreSQL 参数

您可以使用数据库参数组中的参数按照与管理 Amazon RDS 数据库实例相同的方法管理 Amazon Aurora 数据库集群。但是,Amazon Aurora 与 Amazon RDS 的不同之处在于,Aurora 数据库集群有多个数据库实例。您用于管理 Amazon Aurora 数据库集群的一些参数适用于整个集群,而另一些参数仅适用于数据库集群中的给定数据库实例,如下所示:

  • DB cluster parameter group(数据库集群参数组):数据库集群参数组包含应用于整个 Aurora 数据库集群的引擎配置参数集。例如,集群缓存管理是由 apg_ccm_enabled 参数控制的一项 Aurora 数据库集群功能,该参数是数据库集群参数组的一部分。数据库集群参数组还包含组成集群的数据库实例的数据库参数组默认设置。

  • DB parameter group(数据库参数组):数据库参数组是应用于相应引擎类型的特定数据库实例的引擎配置值集。PostgreSQL 数据库引擎的数据库参数组由 RDS for PostgreSQL 数据库实例和 Aurora PostgreSQL 数据库集群使用。这些配置设置适用于在 Aurora 集群内的数据库实例之间可能不同的属性,如内存缓冲区的大小。

您可以在数据库集群参数组中管理集群级参数。您可以在数据库参数组中管理实例级参数。您可以使用 Amazon RDS 控制台、Amazon CLI 或 Amazon RDS API 管理参数。可以使用单独的命令管理集群级参数和实例级参数。

要了解有关 Amazon CLI 的更多信息,请参阅《Amazon Command Line Interface 用户指南》中的使用 Amazon CLI

有关参数组的更多信息,请参阅 使用参数组

查看 Aurora PostgreSQL 数据库集群和数据库参数

您可以在 Amazon Web Services Management Console 中查看 RDS for PostgreSQL 数据库实例和 Aurora PostgreSQL 数据库集群的所有可用默认参数组。各 Amazon 区域的所有数据库引擎和数据库集群类型及版本的默认参数组均已列出。同时,所有自定义参数组也已列出。

您还可以使用 Amazon CLI 或 Amazon RDS API 列出数据库集群参数组和数据库参数组中包含的参数,无需在 Amazon Web Services Management Console 中查看。例如,要列出数据库集群参数组中的参数,可以使用 describe-db-cluster-parameters Amazon CLI 命令,如下所示:

aws rds describe-db-cluster-parameters --db-cluster-parameter-group-name default.aurora-postgresql12

该命令将返回每个参数的详细 JSON 描述。为了减少返回的信息量,您可以使用 --query 选项指定所需内容。例如,可以获取 Aurora PostgreSQL 12 数据库集群默认参数组的参数名称、描述和允许值,如下所示:

对于 Linux、macOS 或 Unix:

aws rds describe-db-cluster-parameters --db-cluster-parameter-group-name default.aurora-postgresql12 \ --query 'Parameters[].[{ParameterName:ParameterName,Description:Description,ApplyType:ApplyType,AllowedValues:AllowedValues}]'

对于 Windows:

aws rds describe-db-cluster-parameters --db-cluster-parameter-group-name default.aurora-postgresql12 ^ --query "Parameters[].[{ParameterName:ParameterName,Description:Description,ApplyType:ApplyType,AllowedValues:AllowedValues}]"

Aurora 数据库集群参数组包括数据库实例参数组和给定 Aurora 数据库引擎的默认值。您可以使用 describe-db-parameters Amazon CLI 命令从相同的 Aurora PostgreSQL 默认参数组中获取数据库参数列表,如下所示。

对于 Linux、macOS 或 Unix:

aws rds describe-db-parameters --db-parameter-group-name default.aurora-postgresql12 \ --query 'Parameters[].[{ParameterName:ParameterName,Description:Description,ApplyType:ApplyType,AllowedValues:AllowedValues}]'

对于 Windows:

aws rds describe-db-parameters --db-parameter-group-name default.aurora-postgresql12 ^ --query "Parameters[].[{ParameterName:ParameterName,Description:Description,ApplyType:ApplyType,AllowedValues:AllowedValues}]"

上述命令将返回数据库集群或数据库参数组中的参数列表,其中包括查询中指定的描述和其他详细信息。以下是示例响应。

[ [ { "ParameterName": "apg_enable_batch_mode_function_execution", "ApplyType": "dynamic", "Description": "Enables batch-mode functions to process sets of rows at a time.", "AllowedValues": "0,1" } ], [ { "ParameterName": "apg_enable_correlated_any_transform", "ApplyType": "dynamic", "Description": "Enables the planner to transform correlated ANY Sublink (IN/NOT IN subquery) to JOIN when possible.", "AllowedValues": "0,1" } ],...

下表包含 Aurora PostgreSQL 版本 13 数据库集群默认参数和数据库默认参数的值。

Aurora PostgreSQL 集群级参数

下表列出了 Aurora PostgreSQL 版本 13 数据库集群默认参数组中的一些可用参数。如果在未指定您自定义数据库参数组的情况下创建 Aurora PostgreSQL 数据库集群,则将使用所选版本的 Aurora 数据库集群默认参数组(例如 default.aurora-postresql13default.aurora-postgresql12 等)来创建数据库集群。

注意

除非描述中另有说明,否则下表中的所有参数都是动态参数。

有关 Aurora 同一默认参数组的数据库实例参数的列表,请参阅 Aurora PostgreSQL 实例级参数

参数名称

描述

ansi_constraint_trigger_ordering

更改约束触发条件的触发顺序,使其与 ANSI SQL 标准兼容。

ansi_force_foreign_key_checks

无论操作存在的各种触发条件的上下文如何,确保级联删除和级联更新等引用操作始终会发生。

ansi_qualified_update_set_target

支持 UPDATE...SET 语句中的 表格和架构限定符。

apg_ccm_enabled

启用或禁用集群缓存管理功能。

apg_enable_batch_mode_function_execution

启用批处理模式函数,以便一次处理多行。

apg_enable_correlated_any_transform

让计划程序尽可能将关联的 ANY 子链接(IN/NOT IN 子查询)转换为 JOIN。

apg_enable_function_migration

让计划程序将符合条件的标量函数迁移到 FROM 子句。

apg_enable_not_in_transform

让计划程序尽可能将 NOT IN 子查询转换为 ANTI JOIN。

apg_enable_remove_redundant_inner_joins

让计划程序能够删除冗余的内部联接。

apg_enable_semijoin_push_down

让哈希联接能够使用半联接筛选条件。

apg_plan_mgmt.capture_plan_baselines

捕获计划基准模式。手动:为任何 SQL 语句启用计划捕获,关闭:禁用计划捕获,自动:为 pg_stat_Stat_Stat_tions 中满足资格条件的语句启用计划捕获。

apg_plan_mgmt.max_databases

静态。设置可以使用 apg_plan_mgmt 管理查询的最大数据库数。

apg_plan_mgmt.max_plans

静态。设置 apg_plan_mgmt 可以缓存的最大计划数。

apg_plan_mgmt.plan_retention_period

静态。自上次使用计划至自动删除计划之间的最大天数。

apg_plan_mgmt.unapproved_plan_execution_threshold

预估的计划总开销,低于该值则将执行未批准计划。

apg_plan_mgmt.use_plan_baselines

仅对托管式语句使用已批准计划或固定计划。

array_nulls

允许在阵列中输入 NULL 元素。

authentication_timeout

(s) 设置允许完成客户端身份验证的最长时间。

auto_explain.log_analyze

使用 EXPLAIN ANALYZE 记录计划。

auto_explain.log_buffers

记录缓冲区的使用情况。

auto_explain.log_format

用于计划记录的 EXPLAIN 格式。

auto_explain.log_min_duration

设置如超出即记录计划的最短执行时间。

auto_explain.log_nested_statements

记录嵌套语句。

auto_explain.log_timing

不仅收集行数,还收集时序数据。

auto_explain.log_triggers

在计划中包括触发条件统计数据。

auto_explain.log_verbose

使用 EXPLAIN VERBOSE 记录计划。

auto_explain.sample_rate

待处理查询的占比。

autovacuum

启动 Autovacuum 子进程。

autovacuum_analyze_scale_factor

分析之前插入、更新或删除元组的次数,以相对于 reltuple 的占比计。

autovacuum_analyze_threshold

分析之前插入、更新或删除元组的最小次数。

autovacuum_freeze_max_age

静态。对表进行 Autovacuum 以防事务 ID 重叠的期限。

autovacuum_max_workers

静态。设置同时运行的 Autovacuum 工作者的最大数量。

autovacuum_multixact_freeze_max_age

静态。Autovacuum 表格以防止 Multixact 重叠的 Multixact 期限。

autovacuum_naptime

(s) 两次 Autovacuum 运行之间的睡眠时间。

autovacuum_vacuum_cost_delay

(ms) Autovacuum 的 Vacuum 开销延迟,以毫秒为单位。

autovacuum_vacuum_cost_limit

Autovacuum 在小睡之前可用的 Vacuum 开销量。

autovacuum_vacuum_insert_scale_factor

Vacuum 之前插入元组的次数,以相对于 reltuple 的占比计。

autovacuum_vacuum_insert_threshold

Vacuum 之前插入元组的最小次数,-1 则表示禁用插入 Vacuum。

autovacuum_vacuum_scale_factor

Vacuum 之前更新或删除元组的次数,以相对于 reltuple 的占比计。

autovacuum_vacuum_threshold

Vacuum 之前更新或删除元组的最小次数。

autovacuum_work_mem

(kB) 设置要由每个 Autovacuum 工件进程使用的最大内存。

babelfishpg_tsql.default_locale

静态。由 CREATE COLLATION 创建的排序规则使用的默认区域设置。

babelfishpg_tds.port

静态。设置服务器监听的 TDS TCP 端口。

babelfishpg_tds.tds_debug_log_level

设置 TDS 中的日志记录级别,0 表示禁用日志记录

babelfishpg_tds.tds_default_numeric_precision

如果引擎未指定要在 TDS 列元数据中发送的数字类型的默认精度,则设置默认精度。

babelfishpg_tds.tds_default_numeric_scale

如果引擎未指定要在 TDS 列元数据中发送的数字类型的默认小数位数,则设置默认小数位数。

babelfishpg_tds.tds_default_packet_size

设置用于所有连接的 SQL Server 客户端的默认数据包大小

babelfishpg_tds.tds_default_protocol_version

设置用于所有连接的客户端的默认 TDS 协议版本

babelfishpg_tds.tds_ssl_encrypt

设置 SSL 加密选项

babelfishpg_tds.tds_ssl_max_protocol_version

设置 TDS 会话使用的最高 SSL/TLS 协议版本。

babelfishpg_tds.tds_ssl_min_protocol_version

设置 TDS 会话使用的最低 SSL/TLS 协议版本。

babelfishpg_tsql.migration_mode

静态。定义是否支持多个用户数据库

backend_flush_after

(8 kB) 先前执行的写入操作刷新到磁盘的页数。

backslash_quote

设置字符串文本中是否允许有 \\。

bytea_output

设置字节的输出格式。

check_function_bodies

在 CREATE FUNCTION 期间检查函数体。

client_min_messages

设置发送到客户端的消息级别。

constraint_exclusion

使计划程序可使用约束优化查询。

cpu_index_tuple_cost

设置计划程序预估索引扫描期间处理每个索引条目的开销。

cpu_operator_cost

设置计划程序预估处理每个运算符或函数调用的开销。

cpu_tuple_cost

设置计划程序预估处理每个元组(行)的开销。

cron.log_run

静态。将所有任务运行记录到 job_run_details 表中

cron.log_statement

静态。在执行之前记录所有 cron 语句。

cron.max_running_jobs

静态。可以同时运行的最大任务数。

cursor_tuple_fraction

设置计划程序预估待检索光标行的占比。

db_user_namespace

启用各数据库的用户名。

deadlock_timeout

(ms) 设置在检查死锁之前等待锁定的时间。

debug_pretty_print

缩进分析树和计划树的显示内容。

debug_print_parse

记录每个查询的分析树。

debug_print_plan

记录每个查询的执行计划。

debug_print_rewritten

记录每个查询重写的分析树。

default_statistics_target

设置默认统计数据目标。

default_transaction_deferrable

设置新事务的默认可延迟状态。

default_transaction_isolation

设置每个新事务的事务隔离级别。

default_transaction_read_only

设置新事务的默认只读状态。

effective_cache_size

(8kB) 设置计划程序对于磁盘缓存大小的假设。

effective_io_concurrency

磁盘子系统可有效处理的并行请求数。

enable_bitmapscan

使计划程序可使用位图扫描计划。

enable_gathermerge

使计划程序可使用收集合并计划。

enable_hashagg

使计划程序可使用哈希聚合计划。

enable_hashjoin

使计划程序可使用哈希联接计划。

enable_incremental_sort

使计划程序可使用增量排序步骤。

enable_indexonlyscan

使计划程序可使用仅限索引的扫描计划。

enable_indexscan

使计划程序可使用索引扫描计划。

enable_material

使计划程序可使用具体化。

enable_mergejoin

使计划程序可使用合并联接计划。

enable_nestloop

使计划程序可使用嵌套循环的联接计划。

enable_parallel_append

使计划程序可使用并行追加计划。

enable_parallel_hash

使计划程序可使用并行哈希计划。

enable_partition_pruning

启用计划时和运行时分区修剪。

enable_partitionwise_aggregate

启用智能分区聚合和分组。

enable_partitionwise_join

启用智能分区联接。

enable_seqscan

使计划程序可使用顺序扫描计划。

enable_sort

使计划程序可使用显式排序步骤。

enable_tidscan

使计划程序可使用 TID 扫描计划。

escape_string_warning

警告在普通字符串文本中有反斜杠转义符。

exit_on_error

发生任何错误时终止会话。

extra_float_digits

设置所显示的浮点值位数。

force_parallel_mode

强制使用并行查询功能。

from_collapse_limit

设置超出其即不折叠子查询的 FROM 列表大小。

geqo

启用基因查询优化。

geqo_effort

GEQO:用于设置其他 GEQO 参数默认值的工作负载。

geqo_generations

GEQO:算法的迭代次数。

geqo_pool_size

GEQO:群体中的个体数。

geqo_seed

GEQO:随机路径选择的种子。

geqo_selection_bias

GEQO:群体中的选择性压力。

geqo_threshold

设置超出其即使用 GEQO 的 FROM 项阈值。

gin_fuzzy_search_limit

通过允许由 GIN 进行的精确搜索得出的最大结果数。

gin_pending_list_limit

(kB) 为 GIN 索引设置待处理列表的最大尺寸。

hash_mem_multiplier

用于哈希表的 work_mem 的倍数。

hot_standby_feedback

允许从热备用项向主备用项提供反馈,避免查询产生冲突。

huge_pages

静态。在 Linux 上使用大页。

idle_in_transaction_session_timeout

(ms) 设置允许任何空闲事务的最长持续时间。

intervalstyle

设置间隔值的显示格式。

join_collapse_limit

设置超出其即不平展 JOIN 结构的 FROM 列表大小。

lo_compat_privileges

启用大型对象权限检查的向后兼容模式。

log_autovacuum_min_duration

(ms) 设置如超出即记录 Autovacuum 操作的最短执行时间。

log_connections

记录每个成功的连接。

log_destination

设置服务器日志输出的目标。

log_disconnections

记录会话结束,包括持续时间。

log_duration

记录每个完成的 SQL 语句的持续时间。

log_error_verbosity

设置记录消息的详细程度。

log_executor_stats

向服务器日志写入执行者性能统计数据。

log_filename

设置日志文件的文件名模式。

log_hostname

在连接日志中记录主机名。

log_lock_waits

记录长锁定等待次数。

log_min_duration_sample

(ms) 设置如超出即记录语句示例的最短执行时间。采样率由 log_statement_sample_rate 决定。

log_min_duration_statement

(ms) 设置如超出即记录语句的最短执行时间。

log_min_error_statement

导致记录所有产生此级别或更高级别错误的语句。

log_min_messages

设置记录的消息级别。

log_parameter_max_length

(B) 记录语句时,将记录的参数值限制为前 N 个字节。

log_parameter_max_length_on_error

(B) 报告错误时,将记录的参数值限制为前 N 个字节。

log_parser_stats

向服务器日志写入分析器性能统计数据。

log_planner_stats

向服务器日志写入计划程序性能统计数据。

log_replication_commands

记录每个复制命令。

log_rotation_age

(min) 将在 N 分钟后进行日志文件自动轮换。

log_rotation_size

(kB) 将在 N kB 后进行日志文件自动轮换。

log_statement

设置所记录的语句类型。

log_statement_sample_rate

超过要记录的 log_min_duration_sample 的语句占比。

log_statement_stats

向服务器日志写入累计性能统计数据。

log_temp_files

(kB) 记录对大于此 kB 数的临时文件的使用情况。

log_transaction_sample_rate

设置要为新事务记录的事务的占比。

log_truncate_on_rotation

在日志轮换期间截断同名的现有日志文件。

logging_collector

静态。启动子进程将 stderr 输出和/或 csvlog 捕获到日志文件中。

logical_decoding_work_mem

(kB) 在溢出到磁盘之前,每个内部重新排序缓冲区都可以使用这么多内存。

maintenance_io_concurrency

用于维护工作的 effective_io_conrency 变体。

maintenance_work_mem

(kB) 设置要用于维护操作的最大内存。

max_connections

静态。设置最大并行连接数。

max_files_per_process

静态。设置同时为每个服务器进程打开的最大文件数。

max_locks_per_transaction

静态。设置每个事务的最大锁定数。

max_logical_replication_workers

静态。逻辑复制工件进程的最大数量。

max_parallel_maintenance_workers

设置每个维护操作的最大并行进程数。

max_parallel_workers

设置可同时处于活动状态的最大并行工件数。

max_parallel_workers_per_gather

设置每个执行程序节点的最大并行进程数。

max_pred_locks_per_page

设置每页谓词锁定元组的最大数量。

max_pred_locks_per_relation

设置每个关系谓词锁定页和元组的最大数量。

max_pred_locks_per_transaction

静态。设置每个事务的最大谓词锁定数。

max_prepared_transactions

静态。设置同时准备的最大事务数。

max_replication_slots

静态。设置服务器可以支持的最大复制插槽数。

max_slot_wal_keep_size

(MB) 如果 WAL 占用了磁盘这么多空间,复制插槽将标记为失败,并释放分段继续删除或循环使用。

max_stack_depth

(kB) 设置最大堆栈长度,以 kB 计。

max_standby_streaming_delay

(ms) 设置在有热备用服务器处理流式 WAL 数据时取消查询之前的最大延迟。

max_sync_workers_per_subscription

每个订阅的最大同步工件数量

max_wal_senders

静态。设置同时运行的 WAL 发送方的最大数量。

max_worker_processes

静态。设置最大并发工件进程数。

min_parallel_index_scan_size

(8kB) 设置并行扫描的最小索引数据量。

min_parallel_table_scan_size

(8kB) 设置并行扫描的最小表格数据量。

old_snapshot_threshold

静态。(min) 在快照因时间过长而无法读取快照捕获后更改的页面的时间。

operator_precedence_warning

对自 PostgreSQL 9.4 以来改变了含义的构造发出警告。

parallel_leader_participation

控制 Gather 和 Gather Merge 是否也运行子计划。

parallel_setup_cost

设置计划程序预估为并行查询启动工件进程的开销。

parallel_tuple_cost

设置计划程序预估将每个元组(行)从工件后端传递给主后端的开销。

password_encryption

加密密码。

pg_bigm.enable_recheck

其将指定是否执行 Recheck,这是全文搜索的内部过程。

pg_bigm.gin_key_limit

其将指定用于全文搜索的搜索关键字的最大 2 元数。

pg_hint_plan.debug_print

记录提示解析的结果。

pg_hint_plan.enable_hint

强制计划程序使用查询之前的提示注释中指定的计划。

pg_hint_plan.enable_hint_table

强制计划程序不通过使用表查找来获得提示。

pg_hint_plan.message_level

调试消息的消息级别。

pg_hint_plan.parse_messages

解析错误的消息级别。

pg_prewarm.autoprewarm

启动自动预热工件。

pg_prewarm.autoprewarm_interval

设置共享缓冲区转储之间的间隔

pg_stat_statements.max

静态。设置 pg_stat_statements 跟踪的最大语句数。

pg_stat_statements.save

保存 pg_stat_statements 在服务器关闭期间的统计数据。

pg_stat_statements.track

选择 pg_stat_statements 跟踪哪些语句。

pg_stat_statements.track_planning

选择 pg_stat_statements 是否跟踪计划持续时间。

pg_stat_statements.track_utility

选择 pg_stat_statements 是否跟踪实用程序命令。

pgaudit.log

指定会话审计日志将记录哪些类语句。

pgaudit.log_catalog

指定如果语句中的所有关系都在 pg_catalog 中,则启用会话日志记录。

pgaudit.log_level

指定将用于日志条目的日志级别。

pgaudit.log_parameter

指定审计日志记录应包括随语句传递的参数。

pgaudit.log_relation

指定会话审核日志记录是否应为 SELECT 或 DML 语句中引用的每个关系(TABLE VIEW 等)创建单独的日志条目。

pgaudit.log_statement_once

指定日志记录在语句/子语句组合中的第一个日志条目中包含语句文本和参数,还是在每个条目中都包含。

pgaudit.role

指定用于对象审计日志记录的主角色。

pglogical.batch_inserts

静态。在可能时执行批量插入

pglogical.conflict_log_level

设置用于记录已解决冲突的日志级别。

pglogical.conflict_resolution

设置用于解决可解决冲突的方法。

pglogical.synchronous_commit

静态。pglogical 专用的同步提交值

pglogical.use_spi

使用 SPI 而非低级 API 来应用更改

plan_cache_mode

控制计划程序对自定义或通用计划的选择。

postgis.gdal_enabled_drivers

静态。启用或禁用 Postgres 9.3.5 及更高版本中与 PostGIS 搭配使用的 GDAL 驱动程序。

quote_all_identifiers

在生成 SQL 片段时,向所有标识符添加引号。

random_page_cost

设置计划程序预估非连续提取磁盘页面的开销。

rdkit.do_chiral_sss

子结构匹配中是否考虑到立体化学。如果为 false,则子结构匹配中未使用立体化学信息。

rds.adaptive_autovacuum

用于启用/禁用自适应 Autovacuum 的 RDS 参数。

rds.babelfish_status

静态。用于启用/禁用 Babelfish for Aurora PostgreSQL 的 RDS 参数。

rds.enable_plan_management

静态。启用或禁用 apg_plan_mgmt 扩展。

rds.force_admin_logging_level

请参阅客户数据库中 RDS 管理员用户操作的日志消息。

rds.force_autovacuum_logging_level

请参阅与 Autovacuum 操作相关的日志消息。

rds.force_ssl

强制执行 SSL 连接。

rds.global_db_rpo

(s) 恢复点目标阈值(以秒为单位),违反该值时会阻止用户提交。

rds.log_retention_period

Amazon RDS 将删除超过 N 分钟的 PostgreSQL 日志。

rds.logical_replication

静态。启用逻辑解码。

rds.pg_stat_ramdisk_size

静态。统计数据虚拟磁盘的大小(以 MB 为单位)。将以非零值设置虚拟磁盘。

rds.rds_superuser_reserved_connections

静态。设置为 rds_superuser 保留的连接插槽数。

rds.restrict_password_commands

静态。将与密码相关的命令限制为 rds_password 的成员

restart_after_crash

后端崩溃后重新初始化服务器。

row_security

启用行安全。

seq_page_cost

设置计划程序预估连续提取磁盘页面的开销。

session_replication_role

设置触发器和重写规则的会话行为。

shared_buffers

(8 kB) 设置服务器使用的共享内存缓冲区数。

shared_preload_libraries

静态。列出要预加载到服务器的共享库。

update_process_title

更新进程标题以显示活动的 SQL 命令。

vacuum_cleanup_index_scale_factor

清理索引之前插入元组的次数,以相对于 reltuple 的占比计。

vacuum_cost_delay

(ms) Vacuum 开销延迟,以毫秒为单位。

vacuum_cost_limit

小睡之前可用的真空开销量。

vacuum_cost_page_dirty

由真空弄脏的页面的真空开销。

vacuum_cost_page_hit

在缓冲区缓存中找到的页面的真空开销。

vacuum_cost_page_miss

在缓冲区缓存中未找到的页面的真空开销。

vacuum_defer_cleanup_age

VACUUM 和 HOT 清理应推迟的事务数(如果有)。

vacuum_freeze_min_age

VACUUM 应冻结表格行的最短期限。

vacuum_freeze_table_age

VACUUM 应扫描整个表以冻结元组的期限。

vacuum_multixact_freeze_min_age

VACUUM 应冻结表格行中的 MultiXactId 的最短期限。

vacuum_multixact_freeze_table_age

VACUUM 应扫描整个表以冻结元组的 Multixact 期限。

wal_buffers

静态。(8 kB) 设置 WAL 的共享内存中的磁盘页面缓冲区数。

wal_receiver_create_temp_slot

设置如果没有配置永久插槽,WAL 接收方是否应创建临时复制插槽。

wal_receiver_status_interval

(s) 设置 WAL 接收方状态报告到主服务器之间的最大间隔。

wal_receiver_timeout

(ms) 设置从主服务器接收数据的最长等待时间。

wal_sender_timeout

(ms) 设置等待 WAL 复制的最长时间。

work_mem

(kB) 设置要用于查询工作区的最大内存。

Aurora PostgreSQL 实例级参数

下表显示了适用于 Aurora PostgreSQL 数据库集群中特定数据库实例的所有参数。此列表是通过运行 describe-db-parameters Amazon CLI 命令生成,命令中 --db-parameter-group-name 值为 default.aurora-postgresql13

注意

除非描述中另有说明,否则下表中的所有参数都是动态参数。

有关 Aurora 默认参数组的数据库集群参数的列表,请参阅 Aurora PostgreSQL 集群级参数

参数名称

描述

apg_enable_batch_mode_function_execution

启用批处理模式函数,以便一次处理多行。

apg_enable_correlated_any_transform

让计划程序尽可能将关联的 ANY 子链接(IN/NOT IN 子查询)转换为 JOIN。

apg_enable_function_migration

让计划程序将符合条件的标量函数迁移到 FROM 子句。

apg_enable_not_in_transform

让计划程序尽可能将 NOT IN 子查询转换为 ANTI JOIN。

apg_enable_remove_redundant_inner_joins

让计划程序能够删除冗余的内部联接。

apg_enable_semijoin_push_down

让哈希联接能够使用半联接筛选条件。

apg_plan_mgmt.capture_plan_baselines

捕获计划基准模式。手动:为任何 SQL 语句启用计划捕获,关闭:禁用计划捕获,自动:为 pg_stat_Stat_Stat_tions 中满足资格条件的语句启用计划捕获。

apg_plan_mgmt.max_databases

静态。设置可以使用 apg_plan_mgmt 管理查询的最大数据库数。

apg_plan_mgmt.max_plans

静态。设置 apg_plan_mgmt 可以缓存的最大计划数。

apg_plan_mgmt.plan_retention_period

静态。自上次使用计划至自动删除计划之间的最大天数。

apg_plan_mgmt.unapproved_plan_execution_threshold

预估的计划总开销,低于该值则将执行未批准计划。

apg_plan_mgmt.use_plan_baselines

仅对托管式语句使用已批准计划或固定计划。

application_name

设置要在统计数据和日志中报告的应用程序名称。

authentication_timeout

(s) 设置允许完成客户端身份验证的最长时间。

auto_explain.log_analyze

使用 EXPLAIN ANALYZE 记录计划。

auto_explain.log_buffers

记录缓冲区的使用情况。

auto_explain.log_format

用于计划记录的 EXPLAIN 格式。

auto_explain.log_min_duration

设置如超出即记录计划的最短执行时间。

auto_explain.log_nested_statements

记录嵌套语句。

auto_explain.log_timing

不仅收集行数,还收集时序数据。

auto_explain.log_triggers

在计划中包括触发条件统计数据。

auto_explain.log_verbose

使用 EXPLAIN VERBOSE 记录计划。

auto_explain.sample_rate

待处理查询的占比。

babelfishpg_tds.listen_addresses

静态。设置要监听 TDS 的主机名或 IP 地址。

babelfishpg_tds.tds_debug_log_level

设置 TDS 中的日志记录级别,0 表示禁用日志记录

backend_flush_after

(8 kB) 先前执行的写入操作刷新到磁盘的页数。

bytea_output

设置字节的输出格式。

check_function_bodies

在 CREATE FUNCTION 期间检查函数体。

client_min_messages

设置发送到客户端的消息级别。

config_file

静态。设置服务器主配置文件。

constraint_exclusion

使计划程序可使用约束优化查询。

cpu_index_tuple_cost

设置计划程序预估索引扫描期间处理每个索引条目的开销。

cpu_operator_cost

设置计划程序预估处理每个运算符或函数调用的开销。

cpu_tuple_cost

设置计划程序预估处理每个元组(行)的开销。

cron.database_name

静态。设置数据库存储 pg_cron 元数据表

cron.log_run

静态。将所有任务运行记录到 job_run_details 表中

cron.log_statement

静态。在执行之前记录所有 cron 语句。

cron.max_running_jobs

静态。可以同时运行的最大任务数。

cron.use_background_workers

静态。启用 pg_cron 的背景工件

cursor_tuple_fraction

设置计划程序预估待检索光标行的占比。

db_user_namespace

启用各数据库的用户名。

deadlock_timeout

(ms) 设置在检查死锁之前等待锁定的时间。

debug_pretty_print

缩进分析树和计划树的显示内容。

debug_print_parse

记录每个查询的分析树。

debug_print_plan

记录每个查询的执行计划。

debug_print_rewritten

记录每个查询重写的分析树。

default_statistics_target

设置默认统计数据目标。

default_transaction_deferrable

设置新事务的默认可延迟状态。

default_transaction_isolation

设置每个新事务的事务隔离级别。

default_transaction_read_only

设置新事务的默认只读状态。

effective_cache_size

(8kB) 设置计划程序对于磁盘缓存大小的假设。

effective_io_concurrency

磁盘子系统可有效处理的并行请求数。

enable_bitmapscan

使计划程序可使用位图扫描计划。

enable_gathermerge

使计划程序可使用收集合并计划。

enable_hashagg

使计划程序可使用哈希聚合计划。

enable_hashjoin

使计划程序可使用哈希联接计划。

enable_incremental_sort

使计划程序可使用增量排序步骤。

enable_indexonlyscan

使计划程序可使用仅限索引的扫描计划。

enable_indexscan

使计划程序可使用索引扫描计划。

enable_material

使计划程序可使用具体化。

enable_mergejoin

使计划程序可使用合并联接计划。

enable_nestloop

使计划程序可使用嵌套循环的联接计划。

enable_parallel_append

使计划程序可使用并行追加计划。

enable_parallel_hash

使计划程序可使用并行哈希计划。

enable_partition_pruning

启用计划时和运行时分区修剪。

enable_partitionwise_aggregate

启用智能分区聚合和分组。

enable_partitionwise_join

启用智能分区联接。

enable_seqscan

使计划程序可使用顺序扫描计划。

enable_sort

使计划程序可使用显式排序步骤。

enable_tidscan

使计划程序可使用 TID 扫描计划。

escape_string_warning

警告在普通字符串文本中有反斜杠转义符。

exit_on_error

发生任何错误时终止会话。

force_parallel_mode

强制使用并行查询功能。

from_collapse_limit

设置超出其即不折叠子查询的 FROM 列表大小。

geqo

启用基因查询优化。

geqo_effort

GEQO:用于设置其他 GEQO 参数默认值的工作负载。

geqo_generations

GEQO:算法的迭代次数。

geqo_pool_size

GEQO:群体中的个体数。

geqo_seed

GEQO:随机路径选择的种子。

geqo_selection_bias

GEQO:群体中的选择性压力。

geqo_threshold

设置超出其即使用 GEQO 的 FROM 项阈值。

gin_fuzzy_search_limit

通过允许由 GIN 进行的精确搜索得出的最大结果数。

gin_pending_list_limit

(kB) 为 GIN 索引设置待处理列表的最大尺寸。

hash_mem_multiplier

用于哈希表的 work_mem 的倍数。

hba_file

静态。设置服务器 hba 配置文件。

hot_standby_feedback

允许从热备用项向主备用项提供反馈,避免查询产生冲突。

ident_file

静态。设置服务器身份配置文件。

idle_in_transaction_session_timeout

(ms) 设置允许任何空闲事务的最长持续时间。

join_collapse_limit

设置超出其即不平展 JOIN 结构的 FROM 列表大小。

lc_messages

设置显示消息的语言。

listen_addresses

静态。设置要监听的主机名或 IP 地址。

lo_compat_privileges

启用大型对象权限检查的向后兼容模式。

log_connections

记录每个成功的连接。

log_destination

设置服务器日志输出的目标。

log_directory

设置日志文件的目标目录。

log_disconnections

记录会话结束,包括持续时间。

log_duration

记录每个完成的 SQL 语句的持续时间。

log_error_verbosity

设置记录消息的详细程度。

log_executor_stats

向服务器日志写入执行者性能统计数据。

log_file_mode

设置日志文件的文件权限。

log_filename

设置日志文件的文件名模式。

logging_collector

静态。启动子进程将 stderr 输出和/或 csvlog 捕获到日志文件中。

log_hostname

在连接日志中记录主机名。

logical_decoding_work_mem

(kB) 在溢出到磁盘之前,每个内部重新排序缓冲区都可以使用这么多内存。

log_line_prefix

控制每个日志行前缀的信息。

log_lock_waits

记录长锁定等待次数。

log_min_duration_sample

(ms) 设置如超出即记录语句示例的最短执行时间。采样率由 log_statement_sample_rate 决定。

log_min_duration_statement

(ms) 设置如超出即记录语句的最短执行时间。

log_min_error_statement

导致记录所有产生此级别或更高级别错误的语句。

log_min_messages

设置记录的消息级别。

log_parameter_max_length

(B) 记录语句时,将记录的参数值限制为前 N 个字节。

log_parameter_max_length_on_error

(B) 报告错误时,将记录的参数值限制为前 N 个字节。

log_parser_stats

向服务器日志写入分析器性能统计数据。

log_planner_stats

向服务器日志写入计划程序性能统计数据。

log_replication_commands

记录每个复制命令。

log_rotation_age

(min) 将在 N 分钟后进行日志文件自动轮换。

log_rotation_size

(kB) 将在 N kB 后进行日志文件自动轮换。

log_statement

设置所记录的语句类型。

log_statement_sample_rate

超过要记录的 log_min_duration_sample 的语句占比。

log_statement_stats

向服务器日志写入累计性能统计数据。

log_temp_files

(kB) 记录对大于此 kB 数的临时文件的使用情况。

log_timezone

设置要在日志消息中使用的时区。

log_truncate_on_rotation

在日志轮换期间截断同名的现有日志文件。

maintenance_io_concurrency

用于维护工作的 effective_io_conrency 变体。

maintenance_work_mem

(kB) 设置要用于维护操作的最大内存。

max_connections

静态。设置最大并行连接数。

max_files_per_process

静态。设置同时为每个服务器进程打开的最大文件数。

max_locks_per_transaction

静态。设置每个事务的最大锁定数。

max_parallel_maintenance_workers

设置每个维护操作的最大并行进程数。

max_parallel_workers

设置可同时处于活动状态的最大并行工件数。

max_parallel_workers_per_gather

设置每个执行程序节点的最大并行进程数。

max_pred_locks_per_page

设置每页谓词锁定元组的最大数量。

max_pred_locks_per_relation

设置每个关系谓词锁定页和元组的最大数量。

max_pred_locks_per_transaction

静态。设置每个事务的最大谓词锁定数。

max_slot_wal_keep_size

(MB) 如果 WAL 占用了磁盘这么多空间,复制插槽将标记为失败,并释放分段进行删除或循环使用。

max_stack_depth

设置最大堆栈长度,以 kB 计。

max_standby_streaming_delay

(ms) 设置在有热备用服务器处理流式 WAL 数据时取消查询之前的最大延迟。

max_worker_processes

静态。设置最大并发工件进程数。

min_parallel_index_scan_size

(8kB) 设置并行扫描的最小索引数据量。

min_parallel_table_scan_size

(8kB) 设置并行扫描的最小表格数据量。

old_snapshot_threshold

静态。(min) 在快照因时间过长而无法读取快照捕获后更改的页面的时间。

operator_precedence_warning

对自 PostgreSQL 9.4 以来改变了含义的构造发出警告。

parallel_leader_participation

控制 Gather 和 Gather Merge 是否也运行子计划。

parallel_setup_cost

设置计划程序预估为并行查询启动工件进程的开销。

parallel_tuple_cost

设置计划程序预估将每个元组(行)从工件后端传递给主后端的开销。

pgaudit.log

指定会话审计日志将记录哪些类语句。

pgaudit.log_catalog

指定如果语句中的所有关系都在 pg_catalog 中,则启用会话日志记录。

pgaudit.log_level

指定将用于日志条目的日志级别。

pgaudit.log_parameter

指定审计日志记录应包括随语句传递的参数。

pgaudit.log_relation

指定会话审核日志记录是否应为 SELECT 或 DML 语句中引用的每个关系(TABLE、VIEW 等)创建单独的日志条目。

pgaudit.log_statement_once

指定日志记录在语句/子语句组合中的第一个日志条目中包含语句文本和参数,还是在每个条目中都包含。

pgaudit.role

指定用于对象审计日志记录的主角色。

pg_bigm.enable_recheck

其将指定是否执行 Recheck,这是全文搜索的内部过程。

pg_bigm.gin_key_limit

其将指定用于全文搜索的搜索关键字的最大 2 元数。

pg_bigm.last_update

静态。其将报告 pg_bigm 模块的最后更新日期。

pg_bigm.similarity_limit

其将指定相似性搜索使用的最低阈值。

pg_hint_plan.debug_print

记录提示解析的结果。

pg_hint_plan.enable_hint

强制计划程序使用查询之前的提示注释中指定的计划。

pg_hint_plan.enable_hint_table

强制计划程序不通过使用表查找来获得提示。

pg_hint_plan.message_level

调试消息的消息级别。

pg_hint_plan.parse_messages

解析错误的消息级别。

pglogical.batch_inserts

静态。在可能时执行批量插入

pglogical.conflict_log_level

设置用于记录已解决冲突的日志级别。

pglogical.conflict_resolution

设置用于解决可解决冲突的方法。

pglogical.extra_connection_options

要添加到所有对等节点连接的连接选项

pglogical.synchronous_commit

静态。Pglogical 专用的同步提交值

pglogical.use_spi

静态。使用 SPI 而非低级 API 来应用更改

pg_similarity.block_is_normalized

设置结果值是否标准化。

pg_similarity.block_threshold

设置 Block 相似性函数使用的阈值。

pg_similarity.block_tokenizer

设置 Block 相似性函数的标记器。

pg_similarity.cosine_is_normalized

设置结果值是否标准化。

pg_similarity.cosine_threshold

设置 Cosine 相似性函数使用的阈值。

pg_similarity.cosine_tokenizer

设置 Cosine 相似性函数的标记器。

pg_similarity.dice_is_normalized

设置结果值是否标准化。

pg_similarity.dice_threshold

设置 Dice 相似性测度所使用的阈值。

pg_similarity.dice_tokenizer

设置 Dice 相似性测度的标记器。

pg_similarity.euclidean_is_normalized

设置结果值是否标准化。

pg_similarity.euclidean_threshold

设置 Euclidean 相似性测度所使用的阈值。

pg_similarity.euclidean_tokenizer

设置 Euclidean 相似性测度的标记器。

pg_similarity.hamming_is_normalized

设置结果值是否标准化。

pg_similarity.hamming_threshold

设置 Block 相似性指标使用的阈值。

pg_similarity.jaccard_is_normalized

设置结果值是否标准化。

pg_similarity.jaccard_threshold

设置 Jaccard 相似性测度所使用的阈值。

pg_similarity.jaccard_tokenizer

设置 Jaccard 相似性测度的标记器。

pg_similarity.jaro_is_normalized

设置结果值是否标准化。

pg_similarity.jaro_threshold

设置 Jaro 相似性测度所使用的阈值。

pg_similarity.jarowinkler_is_normalized

设置结果值是否标准化。

pg_similarity.jarowinkler_threshold

设置 Jarowinkler 相似性测度所使用的阈值。

pg_similarity.levenshtein_is_normalized

设置结果值是否标准化。

pg_similarity.levenshtein_threshold

设置 Levenshtein 相似性测度所使用的阈值。

pg_similarity.matching_is_normalized

设置结果值是否标准化。

pg_similarity.matching_threshold

设置匹配系数相似性测度所使用的阈值。

pg_similarity.matching_tokenizer

设置匹配系数相似性测度的标记器。

pg_similarity.mongeelkan_is_normalized

设置结果值是否标准化。

pg_similarity.mongeelkan_threshold

设置 Monge-Elkan 相似性测度所使用的阈值。

pg_similarity.mongeelkan_tokenizer

设置 Monge-Elkan 相似性测度的标记器。

pg_similarity.nw_gap_penalty

设置 Needleman-Wunsch 相似性测度所使用的空位罚分。

pg_similarity.nw_is_normalized

设置结果值是否标准化。

pg_similarity.nw_threshold

设置 Needleman-Wunsch 相似性测度所使用的阈值。

pg_similarity.overlap_is_normalized

设置结果值是否标准化。

pg_similarity.overlap_threshold

设置重叠系数相似性测度所使用的阈值。

pg_similarity.overlap_tokenizer

设置重叠系数相似性测度的标记器。

pg_similarity.qgram_is_normalized

设置结果值是否标准化。

pg_similarity.qgram_threshold

设置 Q-Gram 相似性测度所使用的阈值。

pg_similarity.qgram_tokenizer

设置 Q-Gram 测度的标记器。

pg_similarity.swg_is_normalized

设置结果值是否标准化。

pg_similarity.swg_threshold

设置 Smith-Waterman-Gotoh 相似性测度所使用的阈值。

pg_similarity.sw_is_normalized

设置结果值是否标准化。

pg_similarity.sw_threshold

设置 Smith-Waterman 相似性测度所使用的阈值。

pg_stat_statements.max

设置 pg_stat_statements 跟踪的最大语句数。

pg_stat_statements.save

保存 pg_stat_statements 在服务器关闭期间的统计数据。

pg_stat_statements.track

选择 pg_stat_statements 跟踪哪些语句。

pg_stat_statements.track_planning

选择 pg_stat_statements 是否跟踪计划持续时间。

pg_stat_statements.track_utility

选择 pg_stat_statements 是否跟踪实用程序命令。

postgis.gdal_enabled_drivers

启用或禁用 Postgres 9.3.5 及更高版本中与 PostGIS 搭配使用的 GDAL 驱动程序。

quote_all_identifiers

在生成 SQL 片段时,向所有标识符添加引号。

random_page_cost

设置计划程序预估非连续提取磁盘页面的开销。

rds.force_admin_logging_level

请参阅客户数据库中 RDS 管理员用户操作的日志消息。

rds.log_retention_period

Amazon RDS 将删除超过 N 分钟的 PostgreSQL 日志。

rds.pg_stat_ramdisk_size

统计数据虚拟磁盘的大小(以 MB 为单位)。将以非零值设置虚拟磁盘。

rds.rds_superuser_reserved_connections

设置为 rds_superuser 保留的连接插槽数。

rds.superuser_variables

提升 rds_superuser 修改语句的仅限超级用户的变量列表。

restart_after_crash

后端崩溃后重新初始化服务器。

row_security

启用行安全。

search_path

设置针对非架构限定名称的架构搜索顺序。

seq_page_cost

设置计划程序预估连续提取磁盘页面的开销。

session_replication_role

设置触发器和重写规则的会话行为。

shared_buffers

(8 kB) 设置服务器使用的共享内存缓冲区数。

shared_preload_libraries

列出要预加载到服务器的共享库。

ssl_ca_file

SSL 服务器授权文件的位置。

ssl_cert_file

SSL 服务器证书文件的位置。

ssl_key_file

SSL 服务器私有密钥文件的位置

standard_conforming_strings

导致 ... 字符串按字面处理反斜杠。

statement_timeout

(ms) 设置任何语句允许的最长持续时间。

stats_temp_directory

将临时统计数据文件写入指定目录。

superuser_reserved_connections

静态。设置为超级用户预留的连接插槽数。

synchronize_seqscans

启用同步顺序扫描。

tcp_keepalives_count

重新传输 TCP 保持连接信号的最大次数。

tcp_keepalives_idle

(s) 发出两次 TCP 保持连接信号之间的时间。

tcp_keepalives_interval

(s) 两次 TCP 保持连接信号重新传输之间的时间。

temp_buffers

(8 kB) 设置每个会话使用的临时缓冲区的最大数量。

temp_file_limit

限制给定 PostgreSQL 进程可用于临时文件的总磁盘空间(以 kB 为单位),不包括用于显式临时表的空间

temp_tablespaces

选择用于临时表和排序文件的表空间。

track_activities

收集有关执行命令的信息。

track_activity_query_size

静态。设置为 pg_stat_activity.current_query 保留的大小,以字节计。

track_counts

收集有关数据库活动的统计数据。

track_functions

收集有关数据库活动的函数级别统计数据。

track_io_timing

收集有关数据库 IO 活动的时序统计数据。

transform_null_equals

将 expr=NULL 视为 expr IS NULL。

update_process_title

更新进程标题以显示活动的 SQL 命令。

vacuum_cleanup_index_scale_factor

清理索引之前插入元组的次数,以相对于 reltuple 的占比计。

wal_receiver_status_interval

(s) 设置 WAL 接收方状态报告到主服务器之间的最大间隔。

work_mem

(kB) 设置要用于查询工作区的最大内存。

xmlbinary

设置如何将二进制值编码到 XML 中。

xmloption

设置要将隐式分析和序列化操作中的 XML 数据视为文档还是内容片段。