全部產品
Search
文件中心

PolarDB:叢集參數預設值說明

更新時間:Nov 23, 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