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)。 这些文件的内容会根据所做的参数更改自动更新。
精细级别
可以在更精细的级别调整参数。 这些调整将覆盖全局设置的值。 它们的范围和持续时间取决于你创建它们的级别:
数据库级别:使用
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 | 控制服务器是否应运行 autovacuum 子进程。 |
autovacuum_analyze_scale_factor |
11、12、13、14、15、16 | 指定在决定是否触发清扫作业时要添加到 autovacuum_vacuum_threshold 的表大小的占比。 |
autovacuum_analyze_threshold |
11、12、13、14、15、16 | 设置在任一表中触发 ANALYZE 所需的已插入、已更新或已删除元组的最小数量。 |
autovacuum_freeze_max_age |
11、12、13、14、15、16 | 触发表 autovacuum 之前的最大期限(在事务中)以防止事务 ID 重叠。 |
autovacuum_max_workers |
11、12、13、14、15、16 | 设置同时运行的 autovacuum 工作进程数量上限。 |
autovacuum_multixact_freeze_max_age |
11、12、13、14、15、16 | 触发表 autovacuum 之前的最大期限(在 multixact 中)以防止 multixact 重叠。 |
autovacuum_naptime |
11、12、13、14、15、16 | 设置在任何给定数据库上运行 autovacuum 之间的最小延迟。 |
autovacuum_vacuum_cost_delay |
11、12、13、14、15、16 | 设置将在自动 VACUUM 操作中使用的成本延迟值(毫秒)。 |
autovacuum_vacuum_cost_limit |
11、12、13、14、15、16 | 设置将在自动 VACUUM 操作中使用的成本限制值。 |
autovacuum_vacuum_insert_scale_factor |
13、14、15、16 | 指定在决定是否触发 VACUUM 时要添加到 autovacuum_vacuum_insert_threshold 的表大小的占比。 |
autovacuum_vacuum_insert_threshold |
13、14、15、16 | 指定在任何一个表中触发 VACUUM 所需的已插入元组数。 |
autovacuum_vacuum_scale_factor |
11、12、13、14、15、16 | 指定在决定是否触发清扫作业时要添加到 autovacuum_vacuum_threshold 的表大小的占比。 |
autovacuum_vacuum_threshold |
11、12、13、14、15、16 | 指定在任一表中触发清扫作业所需的已更新或已删除元组的最小数量。 |
客户端连接默认值/区域设置和格式设置
名称 | 版本 | 说明 |
---|---|---|
client_encoding |
11、12、13、14、15、16 | 设置客户端编码(字符集)。 默认值是使用数据库编码。 |
DateStyle |
11、12、13、14、15、16 | 设置日期和时间值的显示格式。 |
default_text_search_config |
11、12、13、14、15、16 | 选择文本搜索函数的这些变体使用的文本搜索配置,这些变体没有显式参数指定它。 |
extra_float_digits |
11、12、13、14、15、16 | 设置要为浮点值显示的位数。 |
IntervalStyle |
11、12、13、14、15、16 | 设置间隔值的显示格式。 |
lc_messages |
11、12、13、14、15、16 | 设置消息的显示语言。 |
lc_monetary |
11、12、13、14、15、16 | 设置用于指定货币金额格式的区域设置。 |
lc_numeric |
11、12、13、14、15、16 | 设置用于指定数字格式的区域设置。 |
lc_time |
11、12、13、14、15、16 | 设置用于指定日期和时间值格式的区域设置。 |
TimeZone |
11、12、13、14、15、16 | 设置用于显示和解释时间戳的时区。 |
timezone_abbreviations |
11、12、13、14、15、16 | 选择时区缩写的文件。 |
客户端连接默认值/其他默认值
名称 | 版本 | 说明 |
---|---|---|
dynamic_library_path |
11、12、13、14、15、16 | 设置可动态加载模块的路径。 |
gin_fuzzy_search_limit |
11、12、13、14、15、16 | 设置按 GIN 进行的精确匹配搜索允许的最大结果数。 |
客户端连接默认值/共享库预加载
名称 | 版本 | 说明 |
---|---|---|
jit_provider |
11、12、13、14、15、16 | 要使用的 JIT 提供程序。 |
local_preload_libraries |
11、12、13、14、15、16 | 列出要预加载到每个后端的无特权共享库。 |
session_preload_libraries |
11、12、13、14、15、16 | 列出要预加载到每个后端的共享库。 |
shared_preload_libraries |
11、12、13、14、15、16 | 设置在服务器启动时预加载的共享库。 |
客户端连接默认值/语句行为
名称 | 版本 | 说明 |
---|---|---|
bytea_output |
11、12、13、14、15、16 | 设置 bytea 类型的值的输出格式。 有效值为十六进制(默认值)和转义(传统的 PostgreSQL 格式)。 |
check_function_bodies |
11、12、13、14、15、16 | 在 CREATE FUNCTION 期间检查函数主体。 |
client_min_messages |
11、12、13、14、15、16 | 控制发送到客户端的消息级别。 |
default_table_access_method |
12、13、14、15、16 | 设置新表的默认表访问方法。 |
default_tablespace |
11、12、13、14、15、16 | 设置要在其中创建表和索引的默认表空间。 |
default_toast_compression |
14、15、16 | 设置可压缩值的默认压缩方法。 |
default_transaction_deferrable |
11、12、13、14、15、16 | 此参数控制每个新事务的默认可延迟状态。 它对读写事务或那些在低于可序列化的隔离级别下操作的事务没有影响。 |
default_transaction_isolation |
11、12、13、14、15、16 | 此参数控制每个新事务的默认隔离级别。 默认值为“read committed”。 |
default_transaction_read_only |
11、12、13、14、15、16 | 设置每个新事务的默认只读状态。 |
gin_pending_list_limit |
11、12、13、14、15、16 | 设置 GIN 索引的挂起列表的最大大小。 |
idle_in_transaction_session_timeout |
11、12、13、14、15、16 | 设置任何空闲事务允许的最大持续时间。 |
idle_session_timeout |
14、15、16 | 设置查询之间允许的最大空闲时间(不在事务中时)。 |
lock_timeout |
11、12、13、14、15、16 | 设置任何等待锁操作允许的最长持续时间(以毫秒为单位)。 指定 0 会禁用此设置。 |
row_security |
11、12、13、14、15、16 | 启用行安全性。 |
search_path |
11、12、13、14、15、16 | 设置非架构限定的名称的架构搜索顺序。 |
session_replication_role |
11、12、13、14、15、16 | 控制触发当前会话的复制相关触发器和规则。 |
statement_timeout |
11、12、13、14、15、16 | 设置任何语句允许的最长持续时间(以毫秒为单位)。 指定 0 会禁用此设置。 |
temp_tablespaces |
11、12、13、14、15、16 | 设置用于临时表并在 CREATE 命令中未指定时对文件进行排序的默认表空间。 |
transaction_deferrable |
11、12、13、14、15、16 | 是否延迟只读可序列化事务,直到可以执行该事务,且不会发生可能的序列化失败。 |
transaction_isolation |
11、12、13、14、15、16 | 设置当前事务的隔离级别。 |
transaction_read_only |
11、12、13、14、15、16 | 设置当前事务的只读状态。 |
vacuum_cleanup_index_scale_factor |
11、12、13 | 索引清理之前的元组插入数(作为再元组的一部分)。 |
vacuum_failsafe_age |
14、15、16 | VACUUM 触发防故障以避免回绕中断应达到的期限。 |
vacuum_freeze_min_age |
11、12、13、14、15、16 | 指定在扫描表时,VACUUM 应用于决定是否冻结行版本的截止期限(在事务中)。 |
vacuum_freeze_table_age |
11、12、13、14、15、16 | VACUUM 扫描整个表以冻结元组应达到的期限。 |
vacuum_multixact_failsafe_age |
14、15、16 | VACUUM 触发防故障以避免回绕中断应达到的 Multixact 期限。 |
vacuum_multixact_freeze_min_age |
11、12、13、14、15、16 | 指定在扫描表时,VACUUM 应用于决定是将 multixact ID 替换为较新事务 ID 还是 multixact ID 的截止期限(在 multixact 中)。 |
vacuum_multixact_freeze_table_age |
11、12、13、14、15、16 | 如果表已达到此设置指定的期限,VACUUM 将执行完整表扫描来冻结行。 |
xmlbinary |
11、12、13、14、15、16 | 设置如何在 XML 中对二进制值进行编码。 |
xmloption |
11、12、13、14、15、16 | 设置是要将隐式分析和序列化操作中的 XML 数据视为文档还是内容片段。 |
连接和身份验证/身份验证
名称 | 版本 | 说明 |
---|---|---|
authentication_timeout |
11、12、13、14、15、16 | 设置完成客户端身份验证的最大允许时间。 |
db_user_namespace |
11、12、13、14、15、16 | 启用每数据库用户名。 |
krb_caseins_users |
11、12、13、14、15、16 | 设置是否应将 Kerberos 和 GSSAPI 用户名视为不区分大小写。 |
krb_server_keyfile |
11、12、13、14、15、16 | 设置 Kerberos 服务器密钥文件的位置。 |
password_encryption |
11、12、13、14、15、16 | 确定用于加密密码的算法。 |
连接和身份验证/连接设置
名称 | 版本 | 说明 |
---|---|---|
bonjour |
11、12、13、14、15、16 | 允许通过 Bonjour 播发服务器。 |
bonjour_name |
11、12、13、14、15、16 | 设置 Bonjour 服务名称。 |
listen_addresses |
11、12、13、14、15、16 | 设置要侦听的主机名或 IP 地址。 |
max_connections |
11、12、13、14、15、16 | 设置与数据库服务器的并发连接数量上限。 |
port |
11、12、13、14、15、16 | 设置服务器侦听的 TCP 端口。 |
reserved_connections |
11、12、13、14、15、16 | 设置为复制用户和超级用户保留的连接槽数。 |
superuser_reserved_connections |
11、12、13、14、15、16 | 设置为超级用户保留的连接槽数。 |
unix_socket_directories |
11、12、13、14、15、16 | 设置将在其中创建 Unix 域套接字的目录。 |
unix_socket_group |
11、12、13、14、15、16 | 设置 Unix 域套接字的拥有组。 |
unix_socket_permissions |
11、12、13、14、15、16 | 设置 Unix 域套接字的访问权限。 |
连接和身份验证/SSL
名称 | 版本 | 说明 |
---|---|---|
ssl |
11、12、13、14、15、16 | 启用 SSL 连接。 |
ssl_ca_file |
11、12、13、14、15、16 | SSL 证书颁发机构文件的位置。 |
ssl_cert_file |
11、12、13、14、15、16 | SSL 服务器证书文件的位置。 |
ssl_ciphers |
11、12、13、14、15、16 | 设置允许的 SSL 密码列表。 |
ssl_crl_dir |
14、15、16 | SSL 证书吊销列表目录的位置。 |
ssl_crl_file |
11、12、13、14、15、16 | SSL 证书吊销列表文件的位置。 |
ssl_dh_params_file |
11、12、13、14、15、16 | SSL DH 参数文件的位置。 |
ssl_ecdh_curve |
11、12、13、14、15、16 | 设置用于 ECDH 的曲线。 |
ssl_key_file |
11、12、13、14、15、16 | SSL 服务器私钥文件的位置。 |
ssl_max_protocol_version |
12、13、14、15、16 | 设置要使用的最高 SSL/TLS 协议版本。 |
ssl_min_protocol_version |
12、13、14、15、16 | 设置要使用的最低 SSL/TLS 协议版本。 |
ssl_passphrase_command |
11、12、13、14、15、16 | 用于获取 SSL 通行短语的命令。 |
ssl_passphrase_command_supports_reload |
11、12、13、14、15、16 | 控制是否在服务器重新加载期间调用 ssl_passphrase_command。 |
ssl_prefer_server_ciphers |
11、12、13、14、15、16 | 优先考虑服务器密码套件顺序。 |
连接和身份验证/TCP 设置
名称 | 版本 | 说明 |
---|---|---|
client_connection_check_interval |
14、15、16 | 设置在运行查询时检查断开连接之间的时间间隔。 |
tcp_keepalives_count |
11、12、13、14、15、16 | 指定在服务器与客户端的连接被视为已断开前可能会丢失的 TCP keepalive 数。 |
tcp_keepalives_idle |
11、12、13、14、15、16 | 指定非活动状态的秒数,之后 TCP 应向客户端发送 keepalive 消息。 |
tcp_keepalives_interval |
11、12、13、14、15、16 | 指定未经客户端确认的 TCP keepalive 消息应重新传输之前的秒数。 |
tcp_user_timeout |
12、13、14、15、16 | 指定在强制关闭 TCP 连接之前传输的数据可能保持未确认的时间量。 |
自定义选项
名称 | 版本 | 说明 |
---|---|---|
auto_explain.log_analyze |
11、12、13、14、15、16 | 使用 EXPLAIN ANALYZE 进行计划日志记录。 |
auto_explain.log_buffers |
11、12、13、14、15、16 | 日志缓冲区使用情况。 |
auto_explain.log_format |
11、12、13、14、15、16 | 用于计划日志记录的 EXPLAIN 格式。 |
auto_explain.log_level |
12、13、14、15、16 | 计划的日志级别。 |
auto_explain.log_min_duration |
11、12、13、14、15、16 | 设置将记录计划的最低执行时间。 零打印所有计划。 -1 关闭此功能。 |
auto_explain.log_nested_statements |
11、12、13、14、15、16 | 记录嵌套语句。 |
auto_explain.log_settings |
12、13、14、15、16 | 记录影响查询计划的已修改配置参数。 |
auto_explain.log_timing |
11、12、13、14、15、16 | 收集计时数据,而不仅仅是行计数。 |
auto_explain.log_triggers |
11、12、13、14、15、16 | 在计划中包括触发器统计信息。 除非还设置了 log_analyze,否则这不起作用。 |
auto_explain.log_verbose |
11、12、13、14、15、16 | 使用 EXPLAIN VERBOSE 进行计划日志记录。 |
auto_explain.log_wal |
13、14、15、16 | 记录 WAL 使用情况。 |
auto_explain.sample_rate |
11、12、13、14、15、16 | 要处理的查询的占比。 |
azure.accepted_password_auth_method |
11、12、13、14、15、16 | 接受的密码身份验证方法。 |
azure.allow_hostname_in_username |
11 | 指定是否允许在 Azure Database for PostgreSQL 灵活服务器的用户名中使用主机名。 |
azure.enable_temp_tablespaces_on_local_ssd |
11、12、13、14、15、16 | 在临时磁盘上创建临时表空间。 |
azure.extensions |
11、12、13、14、15、16 | 指定允许在服务器中创建哪些扩展。 |
azure.single_to_flex_migration |
11、12、13、14、15、16 | 指定这是否是为从 Azure Database for PostgreSQL 单一服务器迁移到灵活服务器而创建的服务器。 |
azure_storage.blob_block_size_mb |
12、13、14、15、16 | 扩展 azure_storage 中 blob_put 的 Blob 块大小(以兆字节为单位)。 |
cron.database_name |
11、12、13、14、15、16 | 设置在其中保留 pg_cron 元数据的数据库。 |
cron.log_run |
11、12、13、14、15、16 | 将所有作业记录到 job_run_details 表中。 |
cron.log_statement |
11、12、13、14、15、16 | 在执行之前记录所有 cron 语句。 |
cron.max_running_jobs |
11、12、13、14、15、16 | 设置可并发运行的作业数量上限。 此值受 max_connections 限制。 |
pgaudit.log |
11、12、13、14、15、16 | 指定会话审核日志记录将记录哪些语句类。 |
pgaudit.log_catalog |
11、12、13、14、15、16 | 指定在语句中的所有关系都处于 pg_catalog 的情况下,应启用会话日志记录。 |
pgaudit.log_client |
11、12、13、14、15、16 | 指定审核消息是否应对客户端可见。 |
pgaudit.log_level |
11、12、13、14、15、16 | 指定将用于日志条目的日志级别。 |
pgaudit.log_parameter |
11、12、13、14、15、16 | 指定审核日志记录应包含随语句一起传递的参数。 |
pgaudit.log_relation |
11、12、13、14、15、16 | 指定会话审核日志记录是否应为 SELECT 或 DML 语句中引用的每个关系创建单独的日志条目。 |
pgaudit.log_statement_once |
11、12、13、14、15、16 | 指定日志记录是包含语句文本和参数以及语句/子语句组合的第一个日志条目还是每个条目。 |
pgaudit.role |
11、12、13、14、15、16 | 指定要用于对象审核日志记录的主角色。 |
pglogical.batch_inserts |
11、12、13、14、15、16 | 如果可能,请告知 PGLogical 使用批量插入机制。 |
pglogical.conflict_log_level |
11、12、13、14、15、16 | 设置当 pglogical.conflict_resolution 设置为除 error 以外的任何值时报告检测到的冲突的日志级别。 |
pglogical.conflict_resolution |
11、12、13、14、15、16 | 设置本地数据和传入更改之间检测到的任何冲突的解决方法。 |
pglogical.use_spi |
11、12、13、14、15、16 | 告知 PGLogical 使用 SPI 接口形成实际 SQL(INSERT、UPDATE、DELETE)语句来应用传入更改,而不是使用内部低级别接口。 |
pgms_stats.is_enabled_fs |
11、12、13、14、15、16 | 仅供内部使用:此参数用作功能覆盖开关。 |
pgms_wait_sampling.history_period |
11、12、13、14、15、16 | 设置等待事件采样的频率(以毫秒为单位)。 |
pgms_wait_sampling.is_enabled_fs |
11、12、13、14、15、16 | 仅供内部使用:此参数用作功能覆盖开关。 如果显示为“关闭”,那么即使为 pgms_wait_sampling.query_capture_mode 设置了值,等待采样也会被禁用。 |
pgms_wait_sampling.query_capture_mode |
11、12、13、14、15、16 | 选择 pgms_wait_sampling 扩展跟踪哪些语句。 |
pg_partman_bgw.analyze |
11、12、13、14、15、16 | 与 run_maintenance() 的 p_analyze 参数的用途相同。 |
pg_partman_bgw.dbname |
11、12、13、14、15、16 | 必需。 run_maintenance() 将运行的数据库。 如果存在多个数据库,请使用逗号分隔的列表。 如果未设置,BGW 将不执行任何操作。 |
pg_partman_bgw.interval |
11、12、13、14、15、16 | 调用 run_maintenance() 的间隔秒数。 |
pg_partman_bgw.jobmon |
11、12、13、14、15、16 | 与 run_maintenance() 的 p_jobmon 自变量的用途相同。 |
pg_partman_bgw.role |
11、12、13、14、15、16 | run_maintenance() 将作为其运行的角色。 默认值为 postgres。 仅支持单个角色名称。 |
pg_qs.interval_length_minutes |
11、12、13、14、15、16 | 设置 pg_qs 的 query_store 捕获间隔(以分钟为单位)- 这是持久保存数据的频率。 |
pg_qs.is_enabled_fs |
11、12、13、14、15、16 | 仅供内部使用:此参数用作功能覆盖开关。 如果显示为关闭,那么即使为 pg_qs.query_capture_mode 设置了值,查询存储也会被禁用。 |
pg_qs.max_plan_size |
11、12、13、14、15、16 | 为 pg_qs 设置将要保存的查询计划文本最大字节数;过长的计划会被截断。 |
pg_qs.max_query_text_length |
11、12、13、14、15、16 | 设置将保存的最大查询文本长度;将截断较长的查询。 |
pg_qs.query_capture_mode |
11、12、13、14、15、16 | 设置查询存储的查询捕获模式。 None 禁用任何捕获。 |
pg_qs.retention_period_in_days |
11、12、13、14、15、16 | 设置 pg_qs 的保留期窗口(以天为单位)- 数据将在此时间之后删除。 |
pg_qs.store_query_plans |
11、12、13、14、15、16 | 为 pg_qs 打开或关闭保存查询计划的功能 |
pg_qs.track_utility |
11、12、13、14、15、16 | 选择 pg_qs 是否跟踪实用程序命令。 |
pg_stat_statements.max |
11、12、13、14、15、16 | 设置 pg_stat_statements 跟踪的语句数量上限。 |
pg_stat_statements.save |
11、12、13、14、15、16 | 每次服务器关机后保存 pg_stat_statements 统计信息。 |
pg_stat_statements.track |
11、12、13、14、15、16 | 控制 pg_stat_statements 对哪些语句进行计数。 |
pg_stat_statements.track_utility |
11、12、13、14、15、16 | 选择是否由 pg_stat_statements 跟踪实用程序命令。 |
开发人员选项
名称 | 版本 | 说明 |
---|---|---|
allow_in_place_tablespaces |
11、12、13、14、15、16 | 允许直接位于 pg_tblspc 内的表空间进行测试。 |
allow_system_table_mods |
11、12、13、14、15、16 | 允许修改系统表的结构。 |
backtrace_functions |
13、14、15、16 | 记录这些函数中错误的回溯。 |
debug_discard_caches |
14、15、16 | 出于调试目的,主动刷新系统缓存。 |
debug_parallel_query |
16 | 强制使用并行查询工具。 |
force_parallel_mode |
11、12、13、14、15 | 强制使用并行查询工具。 |
ignore_checksum_failure |
11、12、13、14、15、16 | 在校验和失败后继续处理。 |
ignore_invalid_pages |
13、14、15、16 | 在页面无效失败后继续恢复。 |
ignore_system_indexes |
11、12、13、14、15、16 | 禁止读取系统索引。 |
jit_debugging_support |
11、12、13、14、15、16 | 向调试程序注册 JIT 编译的函数。 |
jit_dump_bitcode |
11、12、13、14、15、16 | 写出 LLVM Bitcode 以方便 JIT 调试。 |
jit_expressions |
11、12、13、14、15、16 | 允许 JIT 编译表达式。 |
jit_profiling_support |
11、12、13、14、15、16 | 向性能探查器注册 JIT 编译的函数。 |
jit_tuple_deforming |
11、12、13、14、15、16 | 允许 JIT 编译元组变形。 |
post_auth_delay |
11、12、13、14、15、16 | 设置在连接启动时进行身份验证之后等待的时间量。 |
pre_auth_delay |
11、12、13、14、15、16 | 设置在连接启动时进行身份验证之前等待的时间量。 |
remove_temp_files_after_crash |
14、16 | 在后端崩溃后删除临时文件。 |
trace_notify |
11、12、13、14、15、16 | 为 LISTEN 和 NOTIFY 生成调试输出。 |
trace_recovery_messages |
11、12、13、14、15、16 | 启用与恢复相关的调试信息的日志记录。 |
trace_sort |
11、12、13、14、15、16 | 发出有关排序中资源使用情况的信息。 |
wal_consistency_checking |
11、12、13、14、15、16 | 设置执行 WAL 一致性检查的 WAL 资源管理器。 |
zero_damaged_pages |
11、12、13、14、15、16 | 继续处理已损坏的页眉。 |
错误处理
名称 | 版本 | 说明 |
---|---|---|
data_sync_retry |
11、12、13、14、15、16 | 同步数据文件失败后是否继续运行。 |
exit_on_error |
11、12、13、14、15、16 | 发生任何错误时会终止会话。 |
recovery_init_sync_method |
14、15、16 | 设置在故障恢复之前同步数据目录的方法。 |
restart_after_crash |
11、12、13、14、15、16 | 在后端故障后重新初始化服务器。 |
文件位置
名称 | 版本 | 说明 |
---|---|---|
config_file |
11、12、13、14、15、16 | 设置服务器的主配置文件。 |
data_directory |
11、12、13、14、15、16 | 设置服务器的数据目录。 |
external_pid_file |
11、12、13、14、15、16 | 将 postmaster PID 写入指定文件。 |
hba_file |
11、12、13、14、15、16 | 设置服务器的“hba”配置文件。 |
ident_file |
11、12、13、14、15、16 | 设置服务器的“ident”配置文件。 |
智能优化
名称 | 版本 | 说明 |
---|---|---|
intelligent_tuning |
11、12、13、14、15、16 | 启用智能优化 |
intelligent_tuning.metric_targets |
11、12、13、14、15、16 | 指定智能优化将调整哪些指标。 |
锁管理
名称 | 版本 | 说明 |
---|---|---|
deadlock_timeout |
11、12、13、14、15、16 | 设置在检查死锁之前等待某个锁的时间量(以毫秒为单位)。 |
max_locks_per_transaction |
11、12、13、14、15、16 | 设置每个事务可以获取的锁定数量上限。 运行副本服务器时,必须将此参数设置为与主服务器上的值相同或更高的值。 |
max_pred_locks_per_page |
11、12、13、14、15、16 | 设置每页的谓词锁定元组数量上限。 |
max_pred_locks_per_relation |
11、12、13、14、15、16 | 设置每个关系的谓词锁定页和元组数量上限。 |
max_pred_locks_per_transaction |
11、12、13、14、15、16 | 设置每个事务的谓词锁定数量上限。 |
指标
名称 | 版本 | 说明 |
---|---|---|
metrics.autovacuum_diagnostics |
11、12、13、14、15、16 | 为数据库中的所有表统计信息启用指标收集 |
metrics.collector_database_activity |
11、12、13、14、15、16 | 为数据库和活动统计信息启用指标收集 |
metrics.pgbouncer_diagnostics |
11、12、13、14、15、16 | 为 PgBouncer 启用指标收集。 |
PgBouncer
名称 | 版本 | 说明 |
---|---|---|
pgbouncer.default_pool_size |
11、12、13、14、15、16 | 每个用户/数据库对允许的服务器连接数。 |
pgbouncer.enabled |
11、12、13、14、15、16 | 表示是否启用了 pgBouncer 服务。 |
pgbouncer.ignore_startup_parameters |
11、12、13、14、15、16 | PgBouncer 可忽略的参数的逗号分隔列表,因为这些参数将由管理员处理。 |
pgbouncer.max_client_conn |
11、12、13、14、15、16 | 允许的最大客户端连接数。 |
pgbouncer.max_prepared_statements |
11、12、13、14、15、16 | 当它设置为非零值时,PgBouncer 会跟踪客户端在事务和语句池模式下发送的、协议级命名的、已准备好的语句相关命令。 |
pgbouncer.min_pool_size |
11、12、13、14、15、16 | 如果低于此数量,请将更多服务器连接添加到池。 |
pgbouncer.pool_mode |
11、12、13、14、15、16 | 指定服务器连接何时可供其他客户端重复使用。 |
pgbouncer.query_wait_timeout |
11、12、13、14、15、16 | 允许查询等待进行执行的最长时间(秒)。 如果在此期间未将查询分配给服务器,则客户端将断开连接。 |
pgbouncer.server_idle_timeout |
11、12、13、14、15、16 | 如果服务器连接空闲时间超过此秒数,则会将其断开。 如果为 0,则禁用超时。 |
pgbouncer.stats_users |
11、12、13、14、15、16 | 获允在 pgBouncer 控制台上连接和运行只读查询的数据库用户的逗号分隔列表。 |
预设选项
名称 | 版本 | 说明 |
---|---|---|
block_size |
11、12、13、14、15、16 | 显示磁盘块的大小。 |
data_checksums |
11、12、13、14、15、16 | 显示是否为此群集启用数据校验和。 |
data_directory_mode |
11、12、13、14、15、16 | 显示数据目录的模式。 |
debug_assertions |
11、12、13、14、15、16 | 显示正在运行的服务器是否启用了断言检查。 |
in_hot_standby |
14、15、16 | 显示热备用服务器当前是否处于活动状态。 |
integer_datetimes |
11、12、13、14、15、16 | 显示日期/时间是否基于整数。 |
lc_collate |
11、12、13、14、15 | 显示排序规则顺序区域设置。 |
lc_ctype |
11、12、13、14、15 | 显示字符分类和大小写转换区域设置。 |
max_function_args |
11、12、13、14、15、16 | 显示函数自变量的最大数目。 |
max_identifier_length |
11、12、13、14、15、16 | 显示最大标识符长度。 |
max_index_keys |
11、12、13、14、15、16 | 显示索引键的最大数目。 |
segment_size |
11、12、13、14、15、16 | 显示每个磁盘文件的页面数。 |
server_encoding |
11、12、13、14、15、16 | 显示服务器(数据库)字符集编码。 |
server_version |
11、12、13、14、15、16 | 显示服务器版本。 |
server_version_num |
11、12、13、14、15、16 | 将服务器版本显示为整数。 |
shared_memory_size |
15、16 | 显示服务器的主共享内存区域的大小(向上舍入到最近的 MB)。 |
shared_memory_size_in_huge_pages |
15、16 | 显示主共享内存区域所需的大型页数。 |
ssl_library |
12、13、14、15、16 | 显示 SSL 库的名称。 |
wal_block_size |
11、12、13、14、15、16 | 显示预写日志中的块大小。 |
wal_segment_size |
11、12、13、14、15、16 | 显示预写日志段的大小。 |
进程标题
名称 | 版本 | 说明 |
---|---|---|
cluster_name |
11、12、13、14、15、16 | 设置进程标题中包含的群集名称。 |
update_process_title |
11、12、13、14、15、16 | 更新进程标题以显示活动 SQL 命令。 |
查询优化/基因查询优化器
名称 | 版本 | 说明 |
---|---|---|
geqo |
11、12、13、14、15、16 | 启用基因查询优化。 |
geqo_effort |
11、12、13、14、15、16 | GEQO:为其他 GEQO 参数设置默认值所付出的工作量。 |
geqo_generations |
11、12、13、14、15、16 | GEQO:算法的迭代次数。 |
geqo_pool_size |
11、12、13、14、15、16 | GEQO:种群中的个体数目。 |
geqo_seed |
11、12、13、14、15、16 | GEQO:用于选择随机路径的种子。 |
geqo_selection_bias |
11、12、13、14、15、16 | GEQO:种群内部的选择性压力。 |
geqo_threshold |
11、12、13、14、15、16 | 设置 FROM 项的阈值,超过该阈值时会使用 GEQO。 |
查询优化/其他规划器选项
名称 | 版本 | 说明 |
---|---|---|
constraint_exclusion |
11、12、13、14、15、16 | 控制查询规划器使用表约束优化查询的行为。 |
cursor_tuple_fraction |
11、12、13、14、15、16 | 设置规划器对要检索的游标行的分数的估算值。 |
default_statistics_target |
11、12、13、14、15、16 | 为没有列特定目标的表列设置默认统计信息目标。 |
from_collapse_limit |
11、12、13、14、15、16 | 规划器会在 FROM 子句中将子查询合并到不超过此限制的上限查询中。 较小值可缩短计划时间,但可能会生成低级的查询计划。 |
jit |
11、12、13、14、15、16 | 确定 PostgreSQL 是否可以使用 JIT 编译。 |
join_collapse_limit |
11、12、13、14、15、16 | 设置 FROM 列表的大小,超过该大小时将不平展 JOIN 构造。 |
plan_cache_mode |
12、13、14、15、16 | 控制规划器选择自定义或通用计划的行为。 |
recursive_worktable_factor |
15、16 | 设置规划器对递归查询的工作表的平均大小的估计值。 |
查询优化/规划器成本常数
名称 | 版本 | 说明 |
---|---|---|
cpu_index_tuple_cost |
11、12、13、14、15、16 | 设置规划器对索引扫描期间处理每个索引条目的成本估算值。 |
cpu_operator_cost |
11、12、13、14、15、16 | 设置规划器对查询期间处理执行的每个运算符或函数的成本估计值。 |
cpu_tuple_cost |
11、12、13、14、15、16 | 设置规划器对查询期间处理每一行的成本估计值。 |
effective_cache_size |
11、12、13、14、15、16 | 设置规划器对磁盘缓存大小做出的假设。 |
jit_above_cost |
11、12、13、14、15、16 | 设置激活 JIT 编译(如果已启用)的查询成本。 |
jit_inline_above_cost |
11、12、13、14、15、16 | 设置 JIT 编译尝试内联函数和运算符的查询成本。 |
jit_optimize_above_cost |
11、12、13、14、15、16 | 设置 JIT 编译应用昂贵优化的查询成本。 |
min_parallel_index_scan_size |
11、12、13、14、15、16 | 设置并行扫描的最小索引数据量。 |
min_parallel_table_scan_size |
11、12、13、14、15、16 | 设置要考虑的并行扫描必须扫描的最小表数据量。 |
parallel_setup_cost |
11、12、13、14、15、16 | 设置规划器对为并行查询启动工作进程的成本的估算值。 |
parallel_tuple_cost |
11、12、13、14、15、16 | 设置规划器对将每个元组(行)从辅助角色传递到主后端的成本估算值。 |
random_page_cost |
11、12、13、14、15、16 | 设置规划器对不按顺序提取磁盘页的成本估计值。 |
seq_page_cost |
11、12、13、14、15、16 | 设置规划器对按顺序提取磁盘页的成本估计值。 |
查询优化/规划器方法配置
名称 | 版本 | 说明 |
---|---|---|
enable_async_append |
14、15、16 | 允许规划器使用异步追加计划。 |
enable_bitmapscan |
11、12、13、14、15、16 | 允许规划器使用位图扫描计划。 |
enable_gathermerge |
11、12、13、14、15、16 | 允许规划器使用收集合并计划。 |
enable_hashagg |
11、12、13、14、15、16 | 允许规划器使用哈希聚合计划。 |
enable_hashjoin |
11、12、13、14、15、16 | 允许规划器使用哈希联接计划。 |
enable_incremental_sort |
13、14、15、16 | 允许规划器使用增量排序步骤。 |
enable_indexonlyscan |
11、12、13、14、15、16 | 允许规划器使用仅限索引的扫描计划。 |
enable_indexscan |
11、12、13、14、15、16 | 允许规划器使用索引扫描计划。 |
enable_material |
11、12、13、14、15、16 | 允许规划器使用具体化。 |
enable_memoize |
14、15、16 | 允许规划器使用备忘录化。 |
enable_mergejoin |
11、12、13、14、15、16 | 允许规划器使用合并联接计划。 |
enable_nestloop |
11、12、13、14、15、16 | 允许规划器使用嵌套循环联接计划。 |
enable_parallel_append |
11、12、13、14、15、16 | 允许规划器使用并行追加计划。 |
enable_parallel_hash |
11、12、13、14、15、16 | 允许规划器使用并行哈希计划。 |
enable_partition_pruning |
11、12、13、14、15、16 | 启用计划时间和执行时分区修剪。 |
enable_partitionwise_aggregate |
11、12、13、14、15、16 | 允许或禁止查询规划器使用分区分组或聚合,这允许对每个分区单独执行的分区表进行分组或聚合。 |
enable_partitionwise_join |
11、12、13、14、15、16 | 允许或禁止查询规划器使用分区联接,这允许通过联接匹配分区来执行分区表之间的联接。 |
enable_seqscan |
11、12、13、14、15、16 | 允许规划器使用顺序扫描计划。 |
enable_sort |
11、12、13、14、15、16 | 允许规划器使用显式排序步骤。 |
enable_tidscan |
11、12、13、14、15、16 | 允许规划器使用 TID 扫描计划。 |
复制/主服务器
名称 | 版本 | 说明 |
---|---|---|
synchronous_standby_names |
11、12、13、14、15、16 | 同步备用服务器数和潜在同步备用服务器的名称列表。 |
复制/主服务器
名称 | 版本 | 说明 |
---|---|---|
synchronous_standby_names |
11、12、13、14、15、16 | 同步备用服务器数和潜在同步备用服务器的名称列表。 |
vacuum_defer_cleanup_age |
11、12、13、14、15 | 指定 VACUUM 和 HOT 更新将延迟死行版本的清理的事务数。 |
复制/发送服务器
名称 | 版本 | 说明 |
---|---|---|
max_replication_slots |
11、12、13、14、15、16 | 指定服务器可支持的最大复制槽数。 |
max_slot_wal_keep_size |
13、14、15、16 | 设置复制槽可以保留的最大 WAL 大小。 |
max_wal_senders |
11、12、13、14、15、16 | 设置同时运行的 WAL 发送方进程数量上限。 |
track_commit_timestamp |
11、12、13、14、15、16 | 收集事务提交时间。 |
wal_keep_segments |
11、12 | 设置为备用服务器保留的 WAL 文件数。 |
wal_keep_size |
13、14、15、16 | 设置为备用服务器保留的 WAL 文件的大小。 |
wal_sender_timeout |
11、12、13、14、15、16 | 设置等待 WAL 复制的最长时间。 |
复制/备用服务器
名称 | 版本 | 说明 |
---|---|---|
hot_standby |
11、12、13、14、15、16 | 允许在恢复期间连接和查询。 |
hot_standby_feedback |
11、12、13、14、15、16 | 启用/禁用关于热备用服务器是否需要向主或上游备用服务器发送有关当前在备用服务器上执行的查询的反馈的选项。 |
max_standby_archive_delay |
11、12、13、14、15、16 | 设置在取消热备用服务器处理存档的 WAL 数据时发生冲突的查询之前的最大延迟。 |
max_standby_streaming_delay |
11、12、13、14、15、16 | 设置在取消热备用服务器处理流式传输的 WAL 数据时发生冲突的查询之前的最大延迟。 |
primary_conninfo |
12、13、14、15、16 | 设置用于连接到发送服务器的连接字符串。 |
primary_slot_name |
12、13、14、15、16 | 设置要在发送服务器上使用的复制槽的名称。 |
promote_trigger_file |
12、13、14、15 | 指定其状态将在备用节点中结束恢复的文件名。 |
recovery_min_apply_delay |
12、13、14、15、16 | 设置在恢复期间应用更改的最小延迟。 |
wal_receiver_create_temp_slot |
13、14、15、16 | 设置在未配置永久槽时 WAL 接收器是否应创建临时复制槽。 |
wal_receiver_status_interval |
11、12、13、14、15、16 | 设置向主节点报告 WAL 接收器状态的最大时间间隔。 |
wal_receiver_timeout |
11、12、13、14、15、16 | 设置从发送服务器接收数据的最大等待时间。 |
wal_retrieve_retry_interval |
11、12、13、14、15、16 | 设置在尝试失败后重试以检索 WAL 之前等待的时间。 |
复制/订阅服务器
名称 | 版本 | 说明 |
---|---|---|
max_logical_replication_workers |
11、12、13、14、15、16 | 指定逻辑复制辅助角色的最大数目。 这包括应用辅助角色和表同步辅助角色。 |
max_parallel_apply_workers_per_subscription |
16 | 设置逻辑复制中每个订阅可以使用的最大并行应用辅助角色数。 |
max_sync_workers_per_subscription |
11、12、13、14、15、16 | 每个订阅的表同步辅助角色的最大数目。 |
报告和记录/要记录的内容
名称 | 版本 | 说明 |
---|---|---|
application_name |
11、12、13、14、15、16 | 设置要在统计信息和日志中报告的应用程序名称。 |
debug_pretty_print |
11、12、13、14、15、16 | 缩进分析和计划树的显示内容。 |
debug_print_parse |
11、12、13、14、15、16 | 记录每个查询的分析树。 |
debug_print_plan |
11、12、13、14、15、16 | 记录每个查询的执行计划。 |
debug_print_rewritten |
11、12、13、14、15、16 | 记录每个查询的重写分析树。 |
log_autovacuum_min_duration |
11、12、13、14、15、16 | 设置最短执行时间,超过该时间将将记录 autovacuum 操作。 |
log_checkpoints |
11、12、13、14、15、16 | 记录每个检查点。 |
log_connections |
11、12、13、14、15、16 | 导致记录与服务器的每次连接尝试,以及成功完成的客户端身份验证。 |
log_disconnections |
11、12、13、14、15、16 | 记录会话结束时间,包括持续时间。 |
log_duration |
11、12、13、14、15、16 | 记录每个已完成 SQL 语句的持续时间。 |
log_error_verbosity |
11、12、13、14、15、16 | 控制服务器日志中为记录的每条消息写入的详细信息量。 |
log_hostname |
11、12、13、14、15、16 | 记录连接日志中的主机名。 |
log_line_prefix |
11、12、13、14、15、16 | 设置在每个日志行开头输出的 printf 样式字符串。 |
log_lock_waits |
11、12、13、14、15、16 | 控制当会话等待获取锁的时间超过 deadlock_timeout 时是否生成日志消息。 |
log_parameter_max_length |
13、14、15、16 | 设置记录语句时为绑定参数值记录的数据的最大长度(以字节为单位)。 |
log_parameter_max_length_on_error |
13、14、15、16 | 设置记录语句并发生错误时为绑定参数值记录的数据的最大长度(以字节为单位)。 |
log_recovery_conflict_waits |
14、15、16 | 控制启动进程等待恢复冲突的时间超过 deadlock_timeout 时是否生成日志消息。 |
log_replication_commands |
11、12、13、14、15、16 | 记录每个复制命令。 |
log_statement |
11、12、13、14、15、16 | 设置记录的语句的类型。 |
log_temp_files |
11、12、13、14、15、16 | 记录大于此 KB 数的临时文件的使用。 |
log_timezone |
11、12、13、14、15、16 | 设置在日志消息中使用的时区。 |
报告和记录/何时记录
名称 | 版本 | 说明 |
---|---|---|
log_min_duration_sample |
13、14、15、16 | 设置最短执行时间,超过该时间将将记录语句示例。 采样由 log_statement_sample_rate 确定。 |
log_min_duration_statement |
11、12、13、14、15、16 | 设置最短执行时间(以毫秒为单位),超过该时间将记录语句。 -1 禁用日志记录语句持续时间。 |
log_min_error_statement |
11、12、13、14、15、16 | 导致记录在此级别或更高级别生成错误的所有语句。 |
log_min_messages |
11、12、13、14、15、16 | 控制将哪些消息级别写入服务器日志。 |
log_startup_progress_interval |
15、16 | 长时间运行的启动操作的进度更新之间的时间。 |
log_statement_sample_rate |
13、14、15、16 | 超过要记录的 log_min_duration_sample 的语句的占比。 |
log_transaction_sample_rate |
12、13、14、15、16 | 设置记录所有语句的事务的分数。 |
报告和记录/记录位置
名称 | 版本 | 说明 |
---|---|---|
event_source |
11、12、13、14、15、16 | 设置用于标识事件日志中的 PostgreSQL 消息的应用程序名称。 |
log_destination |
11、12、13、14、15、16 | 设置服务器日志输出的目标。 |
log_directory |
11、12、13、14、15、16 | 设置日志文件的目标目录。 |
log_file_mode |
11、12、13、14、15、16 | 设置日志文件的文件权限。 |
log_filename |
11、12、13、14、15、16 | 设置日志文件的文件名模式。 |
logging_collector |
11、12、13、14、15、16 | 启动子进程,以将 stderr 输出和/或 csvlog 捕获到日志文件中。 |
log_rotation_age |
11、12、13、14、15、16 | 设置在强制日志文件轮换之前等待的时间量。 |
log_rotation_size |
11、12、13、14、15、16 | 设置日志文件在轮换之前可以达到的最大大小。 |
log_truncate_on_rotation |
11、12、13、14、15、16 | 在日志轮换期间截断同名的现有日志文件。 |
syslog_facility |
11、12、13、14、15、16 | 设置启用 syslog 时要使用的 syslog“设施”。 |
syslog_ident |
11、12、13、14、15、16 | 设置用于标识 syslog 中的 PostgreSQL 消息的程序名称。 |
syslog_sequence_numbers |
11、12、13、14、15、16 | 将序列号添加到 syslog 消息,以避免重复抑制。 |
syslog_split_messages |
11、12、13、14、15、16 | 按行拆分发送到 syslog 的消息,使其不超过 1024 字节。 |
资源使用情况/异步行为
名称 | 版本 | 说明 |
---|---|---|
backend_flush_after |
11、12、13、14、15、16 | 在将以前执行的写入刷新到磁盘之前所要达到的页数。 |
effective_io_concurrency |
11、12、13、14、15、16 | 设置 PostgreSQL 预期能够同时执行的并发磁盘 I/O 操作的数量。 |
maintenance_io_concurrency |
13、14、15、16 | 用于维护工作的 effective_io_concurrency 变体。 |
max_parallel_maintenance_workers |
11、12、13、14、15、16 | 设置每个维护操作的并行进程数量上限。 |
max_parallel_workers |
11、12、13、14、15、16 | 设置并行操作支持的辅助角色数量上限。 |
max_parallel_workers_per_gather |
11、12、13、14、15、16 | 设置每个执行程序节点的并行进程数量上限。 |
max_worker_processes |
11、12、13、14、15、16 | 设置系统可支持的后台进程数量上限。 |
parallel_leader_participation |
11、12、13、14、15、16 | 控制 Gather 和 Gather Merge 是否也运行子计划。 |
资源使用情况/后台编写器
名称 | 版本 | 说明 |
---|---|---|
bgwriter_delay |
11、12、13、14、15、16 | 指定后台编写器的活动轮次之间的延迟。 在每一轮中,编写器会针对一些脏缓冲区发出写入操作。 |
bgwriter_flush_after |
11、12、13、14、15、16 | 在将后台编写器以前执行的写入刷新到磁盘之前所要达到的页数。 |
bgwriter_lru_maxpages |
11、12、13、14、15、16 | 在每一轮中,后台编写器将写入不超过此数量的缓冲区。 |
bgwriter_lru_multiplier |
11、12、13、14、15、16 | 将缓冲区的平均近期需求乘以 bgwriter_lru_multiplier,以得出下一轮期间将需要的缓冲区数量估计值。 |
资源使用情况/基于成本的清空延迟
名称 | 版本 | 说明 |
---|---|---|
vacuum_cost_delay |
11、12、13、14、15、16 | 超出成本限制时清空进程将休眠的时间量(以毫秒为单位)。 |
vacuum_cost_limit |
11、12、13、14、15、16 | 导致清空进程休眠的累计成本。 |
vacuum_cost_page_dirty |
11、12、13、14、15、16 | 清空修改以前清除的块的估计成本。 |
vacuum_cost_page_hit |
11、12、13、14、15、16 | 清空共享缓冲区缓存中找到的缓冲区的估计成本。 |
vacuum_cost_page_miss |
11、12、13、14、15、16 | 清空必须从磁盘读取的缓冲区的估计成本。 |
资源使用情况/磁盘
名称 | 版本 | 说明 |
---|---|---|
temp_file_limit |
11、12、13、14、15、16 | 限制每个进程使用的所有临时文件的总大小。 |
资源使用情况/内核资源
名称 | 版本 | 说明 |
---|---|---|
max_files_per_process |
11、12、13、14、15、16 | 设置每个服务器进程同时打开的文件数量上限。 |
资源使用情况/内存
名称 | 版本 | 说明 |
---|---|---|
autovacuum_work_mem |
11、12、13、14、15、16 | 设置每个 autovacuum 工作进程要使用的最大内存。 |
dynamic_shared_memory_type |
11、12、13、14、15、16 | 选择使用的动态共享内存实现。 |
hash_mem_multiplier |
12、13、14、15、16 | 要用于哈希表的多个 work_mem。 |
huge_pages |
11、12、13、14、15、16 | 允许/禁止使用大型内存页。 此设置不适用于少于 4 个 vCore 的服务器。 |
huge_page_size |
14、15、16 | 应请求的大型页的大小。 |
logical_decoding_work_mem |
13、14、15、16 | 设置用于逻辑解码的最大内存。 |
maintenance_work_mem |
11、12、13、14、15、16 | 设置用于维护操作(如 VACUUM、“创建索引”)的最大内存。 |
max_prepared_transactions |
11、12、13、14、15、16 | 设置同时准备的事务数量上限。 运行副本服务器时,必须将此参数设置为与主服务器上的值相同或更高的值。 |
max_stack_depth |
11、12、13、14、15、16 | 设置最大堆栈深度(以 KB 为单位)。 |
min_dynamic_shared_memory |
14、15、16 | 启动时保留的动态共享内存量。 |
shared_buffers |
11、12、13、14、15、16 | 设置服务器使用的共享内存缓冲区数。 单位为 8kb。 允许的值在 10% - 75% 的可用内存范围内。 |
shared_memory_type |
12、13、14、15、16 | 选择用于主共享内存区域的共享内存实现。 |
temp_buffers |
11、12、13、14、15、16 | 设置每个数据库会话使用的临时缓冲区数量上限。 |
work_mem |
11、12、13、14、15、16 | 设置写入到临时磁盘文件之前内部排序操作和哈希表要使用的内存量。 |
统计信息/累积查询和索引统计信息
名称 | 版本 | 说明 |
---|---|---|
stats_fetch_consistency |
15、16 | 设置对统计信息数据的访问的一致性。 |
track_activities |
11、12、13、14、15、16 | 收集有关对每个会话执行命令的信息。 |
track_activity_query_size |
11、12、13、14、15、16 | 设置为 pg_stat_activity.query 保留的内存量(以字节为单位)。 |
track_counts |
11、12、13、14、15、16 | 启用对数据库活动的统计信息收集 |
track_functions |
11、12、13、14、15、16 | 启用对函数调用计数和已使用时间的跟踪。 |
track_io_timing |
11、12、13、14、15、16 | 启用对数据库 I/O 调用的计时。 |
track_wal_io_timing |
14、15、16 | 收集 WAL I/O 活动的计时统计信息。 |
统计信息/监视
名称 | 版本 | 说明 |
---|---|---|
compute_query_id |
14、15、16 | 启用查询标识符的核心计算。 |
log_executor_stats |
11、12、13、14、15、16 | 将执行程序性能统计信息写入服务器日志。 |
log_parser_stats |
11、12、13、14、15、16 | 将分析器性能统计信息写入服务器日志。 |
log_planner_stats |
11、12、13、14、15、16 | 将规划器性能统计信息写入服务器日志。 |
log_statement_stats |
11、12、13、14、15、16 | 对于每个查询,将累积性能统计信息写入服务器日志。 |
统计信息/查询和索引统计信息收集器
名称 | 版本 | 说明 |
---|---|---|
stats_temp_directory |
11、12、13、14 | 将临时统计信息文件写入指定目录。 |
TLS
名称 | 版本 | 说明 |
---|---|---|
require_secure_transport |
11、12、13、14、15、16 | 是否需要客户端连接到服务器来使用某种形式的安全传输。 |
版本和平台兼容性/其他平台和客户端
名称 | 版本 | 说明 |
---|---|---|
transform_null_equals |
11、12、13、14、15、16 | 启用时,expr = NUL(或 NULL = expr)形式的表达式被视为 expr IS NULL,也就是说,如果 expr 的计算结果为 null 值,则返回 true;否则为 false。 |
版本和平台兼容性/以前的 PostgreSQL 版本
名称 | 版本 | 说明 |
---|---|---|
array_nulls |
11、12、13、14、15、16 | 允许将 NULL(不区分大小写)的输入视为 NULL 值,而不是文本字符串“NULL”。 |
backslash_quote |
11、12、13、14、15、16 | 设置字符串字面量中是否允许“\”。 |
escape_string_warning |
11、12、13、14、15、16 | 警告普通字符串字面量中存在反斜杠转义符。 |
lo_compat_privileges |
11、12、13、14、15、16 | 为针对大型对象的特权检查启用后向兼容性模式。 |
operator_precedence_warning |
11、12 | 针对自 PostgreSQL 9.4 以来其含义已发生更改的构造发出警告。 |
quote_all_identifiers |
11、12、13、14、15、16 | 生成 SQL 片段时将所有标识符括在引号中。 |
standard_conforming_strings |
11、12、13、14、15、16 | 导致“...”字符串以字面形式处理反斜杠。 |
synchronize_seqscans |
11、12、13、14、15、16 | 启用同步顺序扫描。 |
预写日志/存档恢复
名称 | 版本 | 说明 |
---|---|---|
archive_cleanup_command |
12、13、14、15、16 | 设置将在每次重启时执行的 shell 命令。 |
recovery_end_command |
12、13、14、15、16 | 设置将在恢复结束时执行一次的 shell 命令。 |
restore_command |
12、13、14、15、16 | 设置将调用以检索已存档 WAL 文件的 shell 命令。 |
预写日志/存档
名称 | 版本 | 说明 |
---|---|---|
archive_command |
11、12、13、14、15、16 | 设置将调用以存档 WAL 文件的 shell 命令。 |
archive_library |
15、16 | 设置将调用以存档 WAL 文件的库。 |
archive_mode |
11、12、13、14、15、16 | 允许使用 archive_command 存档 WAL 文件。 |
archive_timeout |
11、12、13、14、15、16 | 如果在 N 秒内尚未启动新文件,则强制切换到下一个 WAL 文件。 |
预写日志/检查点
名称 | 版本 | 说明 |
---|---|---|
checkpoint_completion_target |
11、12、13、14、15、16 | 将检查点完成的目标(作为检查点之间的总时间的一小部分)。 |
checkpoint_flush_after |
11、12、13、14、15、16 | 在将以前执行的写入刷新到磁盘之前所要达到的页数。 |
checkpoint_timeout |
11、12、13、14、15、16 | 自动 WAL 检查点之间的最长时间(以秒为单位)。 有效范围为 30 秒到一天。 |
checkpoint_warning |
11、12、13、14、15、16 | 如果 WAL 段的填充频率高于此频率,则写入一条警告消息。 |
max_wal_size |
11、12、13、14、15、16 | 在触发自动检查点之前允许 WAL 增长的最大大小。 |
min_wal_size |
11、12、13、14、15、16 | 设置要将 WAL 收缩到的最小大小。 |
预写日志/恢复
名称 | 版本 | 说明 |
---|---|---|
recovery_prefetch |
15、16 | 在恢复期间预提取引用的块。 |
wal_decode_buffer_size |
15、16 | 用于在恢复期间在 WAL 中提前读取的缓冲区大小。 |
预写日志/恢复目标
名称 | 版本 | 说明 |
---|---|---|
recovery_target |
12、13、14、15、16 | 设置为“immediate”以便在达到一致状态后立即结束恢复。 |
recovery_target_action |
12、13、14、15、16 | 设置在达到恢复目标时要执行的操作。 |
recovery_target_inclusive |
12、13、14、15、16 | 设置是包含还是排除具有恢复目标的事务。 |
recovery_target_lsn |
12、13、14、15、16 | 设置将继续恢复的预写日志位置的 LSN。 |
recovery_target_name |
12、13、14、15、16 | 设置要继续恢复到的命名还原点。 |
recovery_target_time |
12、13、14、15、16 | 设置要继续恢复到的时间戳。 |
recovery_target_timeline |
12、13、14、15、16 | 指定要恢复到的时间线。 |
recovery_target_xid |
12、13、14、15、16 | 设置要继续恢复到的事务 ID。 |
预写日志/设置
名称 | 版本 | 说明 |
---|---|---|
commit_delay |
11、12、13、14、15、16 | 设置提交事务与将 WAL 刷新到磁盘之间的延迟(以微秒为单位)。 |
commit_siblings |
11、12、13、14、15、16 | 设置执行 commit_delay 之前的最小并发打开事务数。 |
fsync |
11、12、13、14、15、16 | 强制同步对磁盘的更新。 |
full_page_writes |
11、12、13、14、15、16 | 在检查点后首次修改时,将完整页面写入 WAL。 |
synchronous_commit |
11、12、13、14、15、16 | 设置当前事务的同步级别。 |
wal_buffers |
11、12、13、14、15、16 | 设置 WAL 共享内存中的磁盘页缓冲区数。 单位为 8kb。 |
wal_compression |
11、12、13、14、15、16 | 压缩在 WAL 文件中编写的完整页面写入。 |
wal_init_zero |
12、13、14、15、16 | 首次使用之前,将零写入新 WAL 文件。 |
wal_level |
11、12、13、14、15、16 | 它确定写入 WAL 的信息量。 |
wal_log_hints |
11、12、13、14、15、16 | 在检查点后首次修改时,将完整页面写入 WAL,即使对于非关键修改也是如此。 |
wal_recycle |
12、13、14、15、16 | 通过重命名 WAL 文件来回收 WAL 文件。 |
wal_skip_threshold |
13、14、15、16 | 要 fsync 而不是写入 WAL 的新文件的最小大小。 |
wal_sync_method |
11、12、13、14、15、16 | 选择用于强制 WAL 更新到磁盘的方法。 |
wal_writer_delay |
11、12、13、14、15、16 | WAL 编写器执行的 WAL 刷新之间的时间间隔。 |
wal_writer_flush_after |
11、12、13、14、15、16 | WAL 写入器写出的 WAL 数量,达到该数量将触发刷新。 |
后续步骤
若要了解受支持的 PostgreSQL 扩展,请参阅 Azure Database for PostgreSQL 灵活服务器中的 PostgreSQL 扩展。