全部产品
Search
文档中心

云原生数据库 PolarDB:集群参数默认值说明

更新时间:Nov 22, 2024

本文介绍了数据库集群参数默认值的详细信息。

参数说明

PolarDB PostgreSQL版参数默认值的设置,综合了性能、可用性以及可靠性方面的考虑,与社区版本默认值不一定相同。特别是以下参数,PolarDB根据最优性能原则进行了默认设定,您可以根据自己的需求在控制台自行修改。

参数

默认值

说明

synchronous_commit

off

该参数用于控制一个事务在返回成功指示给客户端之前,是否需要等待WAL记录被写入磁盘。取值如下:

  • off(默认):表示一个事务在返回成功指示给客户端之前不需要等待WAL记录被写入磁盘。

    说明

    由于在向客户端返回成功和真正保证事务持久性之间会有延迟(最大的延迟是wal_writer_delay的三倍,其中,wal_writer_delay默认为10ms),因此参数设置为off时,可以提升数据库的事务提交效率。

  • on:表示一个事务在返回成功指示给客户端之前需要等待WAL记录被写入磁盘。

    说明

    如果应用依赖事务提交后,事务一定持久化到磁盘,可以在控制台中将参数设置为on。

  • remote_apply:表示一个事务在返回成功指示给客户端之前需要等待WAL记录被写入磁盘。且需要确认数据apply在备份的本地事务日志中,需要等待备份应用完事务,确保数据已经被处理,保证数据一致性。这将导致更大的提交延迟,因为其需等待WAL重放。

  • remote_write:表示一个事务在返回成功指示给客户端之前需要等待WAL记录被写入文件系统。

  • local:表示一个事务需要等待WAL记录被写入磁盘,但对返回成功指示给客户端不作限制。

说明

您可以通过以下命令查看当前数据库中该参数的设置情况:

SHOW synchronous_commit;

wal_level

replica

该参数用于决定将多少信息写入到WAL中。取值如下:

  • replica(默认):表示WAL中不包含逻辑解码所需的信息, 会降低WAL写入量,从而可以提升数据库写入性能。

  • logical:表示业务中涉及逻辑复制功能,即WAL中包含逻辑复制所需的信息,会增加WAL写入量。

警告

修改该参数会导致数据库重启,请谨慎操作。

说明

您可以通过以下命令查看当前数据库中该参数的设置情况:

SHOW wal_level;

log_statement

ddl

该参数用于设置审计日志的级别。默认为ddl,表示只有DDL对应的SQL才会进行审计,更少的日志打印可以提升数据库性能。

说明
  • 如果需要打开审计日志功能,可以在控制台SQL洞察中进行开启,开启后将会审计所有的SQL。具体操作请参见SQL洞察

  • 您可以通过以下命令查看当前数据库中该参数的设置情况:

    SHOW log_statement;

常见参数默认值设置情况

参数

默认值

authentication_timeout

60

autovacuum

on

autovacuum_analyze_scale_factor

0.05

autovacuum_analyze_threshold

50

autovacuum_freeze_max_age

500000000

autovacuum_max_workers

5

autovacuum_multixact_freeze_max_age

700000000

autovacuum_naptime

30

autovacuum_vacuum_cost_delay

0

autovacuum_vacuum_cost_limit

10000

autovacuum_vacuum_scale_factor

0.02

autovacuum_vacuum_threshold

50

backend_flush_after

0

bgwriter_delay

10

checkpoint_timeout

30

constraint_exclusion

partition

cpu_index_tuple_cost

0.005

cpu_operator_cost

0.0025

cpu_tuple_cost

0.01

datestyle

'ISO,YMD'

deadlock_timeout

1000

default_with_oids

off

dynamic_shared_memory_type

posix

enable_partition_pruning

on

extra_float_digits

0

fsync

on

full_page_writes

off

gin_pending_list_limit

4096

hot_standby

on

hot_standby_feedback

on

huge_pages

on

idle_in_transaction_session_timeout

3600000

jit

off

lock_timeout

0

logging_collector

on

log_connections

off

log_disconnections

off

log_error_verbosity

default

log_min_duration_statement

5000

log_statement

ddl

max_files_per_process

10000

max_locks_per_transaction

64

max_prepared_transactions

800

max_replication_slots

64

max_worker_processes

256

seq_page_cost

1

ssl

off

statement_timeout

0

synchronous_commit

off

temp_file_limit

100 GB

timezone

'UTC'

wal_buffers

16 MB

wal_level

replica

wal_writer_delay

10