全部产品
Search
文档中心

PolarDB:Nilai parameter kluster default

更新时间:Dec 10, 2025

Anda dapat menyesuaikan parameter database untuk mengoptimalkan performa, meningkatkan keamanan, atau memenuhi persyaratan fitur tertentu. PolarDB for PostgreSQL telah melakukan pra-optimalisasi terhadap beberapa parameter dari edisi komunitas guna memberikan performa dan stabilitas yang optimal di lingkungan cloud. Bagian berikut menyediakan referensi lengkap mengenai parameter serta rekomendasi konfigurasi untuk parameter inti guna membantu penyetelan.

Parameter penting

Nilai parameter default untuk PolarDB for PostgreSQL dikonfigurasi guna mengoptimalkan performa, ketersediaan, dan keandalan. Nilai-nilai ini mungkin berbeda dari nilai default pada edisi komunitas. Secara khusus, PolarDB menetapkan parameter berikut ke nilai default untuk memastikan performa optimal. Anda dapat mengubahnya melalui Konsol sesuai kebutuhan.

Parameter

Deskripsi

synchronous_commit

Parameter ini mengontrol apakah suatu transaksi harus menunggu catatan write-ahead logging (WAL) ditulis ke disk sebelum mengembalikan indikator keberhasilan kepada client. Nilai yang valid adalah:

  • off (default): Transaksi tidak perlu menunggu catatan WAL ditulis ke disk sebelum mengembalikan indikator keberhasilan kepada client.

    Catatan

    Menyetel parameter ini ke off dapat meningkatkan efisiensi commit transaksi database. Hal ini karena terdapat jeda antara pengembalian status sukses ke client dan jaminan persistensi transaksi. Jeda maksimum adalah tiga kali nilai `wal_writer_delay`, yang secara default bernilai 10 ms.

  • on: Transaksi harus menunggu catatan WAL ditulis ke disk sebelum mengembalikan indikator keberhasilan kepada client.

    Catatan

    Jika aplikasi Anda mengharuskan transaksi dipertahankan ke disk setelah di-commit, atur parameter ini ke on di Konsol.

  • remote_apply: Transaksi harus menunggu catatan WAL ditulis ke disk sebelum mengembalikan indikator keberhasilan kepada client. Parameter ini juga memerlukan konfirmasi bahwa data telah diterapkan ke log transaksi lokal pada backup. Hal ini memerlukan waktu tambahan hingga backup selesai menerapkan transaksi guna memastikan konsistensi data. Akibatnya, terjadi penundaan commit yang lebih besar karena harus menunggu replay WAL.

  • remote_write: Transaksi harus menunggu catatan WAL ditulis ke sistem file sebelum mengembalikan indikator keberhasilan kepada client.

  • local: Transaksi harus menunggu catatan WAL ditulis ke disk, tetapi tidak ada batasan dalam mengembalikan indikator keberhasilan kepada client.

Catatan

Jalankan perintah SHOW synchronous_commit; untuk melihat pengaturan saat ini dari parameter ini di database.

wal_level

Parameter ini menentukan seberapa banyak informasi yang ditulis ke WAL. Nilai yang valid adalah:

  • replica (default): WAL tidak berisi informasi yang diperlukan untuk logical decoding. Hal ini mengurangi jumlah data WAL yang ditulis, sehingga dapat meningkatkan performa penulisan database.

  • logical: Bisnis Anda melibatkan fitur replikasi logis. WAL berisi informasi yang diperlukan untuk replikasi logis, sehingga meningkatkan jumlah data WAL yang ditulis.

Catatan
  • Memodifikasi parameter ini akan menyebabkan database restart. Lakukan dengan hati-hati.

  • Jalankan perintah SHOW wal_level; untuk melihat pengaturan saat ini dari parameter ini di database.

log_statement

Parameter ini menetapkan tingkat log audit. Nilai default-nya adalah ddl, yang berarti hanya pernyataan SQL yang sesuai dengan DDL yang diaudit. Mencetak lebih sedikit log dapat meningkatkan performa database. Nilai yang valid adalah:

  • none: Tidak mencatat pernyataan.

  • ddl (default): Mencatat pernyataan DDL seperti CREATE, ALTER, dan DROP.

  • mod: Mencatat pernyataan DDL dan DML (INSERT, UPDATE, DELETE).

  • all: Mencatat semua pernyataan SQL.

Catatan
  • Mengaktifkan atau menonaktifkan fitur SQL Explorer dan Audit di Konsol akan secara otomatis memodifikasi parameter ini:

    • Mengaktifkan log audit menyetel log_statement = all.

    • Menonaktifkan log audit menyetel log_statement = ddl.

  • Jalankan perintah SHOW log_statement; untuk melihat pengaturan saat ini dari parameter ini di database.

Referensi parameter umum

Catatan

Beberapa parameter tidak dapat dimodifikasi melalui Konsol. Anda dapat login ke kluster dan menggunakan command line untuk melihat serta mengubahnya.

Koneksi dan autentikasi

Parameter

Description

authentication_timeout

Menetapkan waktu maksimum untuk menunggu client menyelesaikan otentikasi identitas. Jika client gagal melakukan autentikasi dalam waktu tersebut, server akan menutup koneksi guna mencegah client bermasalah menduduki resource koneksi dalam waktu lama.

  • Nilai rentang: 1 hingga 600

  • Nilai default: 60

  • Unit: detik

ssl

Mengontrol apakah instans mengaktifkan dan mendukung koneksi enkripsi Secure Sockets Layer (SSL).

  • Nilai rentang: ON/OFF

  • Nilai default: OFF

Autovacuum

Proses autovacuum membebaskan ruang yang ditempati oleh dead tuple (baris data yang dihapus atau diperbarui) dan memperbarui statistik tabel. Proses ini sangat penting untuk menjaga performa database.

Parameter

Description

autovacuum

Mengontrol apakah proses latar belakang autovacuum diaktifkan. Agar fitur ini berfungsi dengan benar, parameter track_counts juga harus diaktifkan.

  • Nilai rentang: ON/OFF

  • Nilai default: ON

Catatan

Bahkan jika parameter ini dinonaktifkan, sistem tetap akan memaksa proses vacuum berjalan ketika diperlukan untuk mencegah transaction ID wraparound.

autovacuum_max_workers

Menentukan jumlah maksimum proses worker autovacuum (selain launcher autovacuum) yang dapat berjalan secara bersamaan.

  • Nilai rentang: 1 hingga 262143

  • Nilai default: 5

  • Unit: proses

autovacuum_naptime

Menentukan waktu hibernasi minimum untuk proses autovacuum antara pemeriksaan pada sebuah database. Dalam setiap putaran, proses latar belakang memeriksa database dan mengeluarkan perintah VACUUM dan ANALYZE untuk tabel-tabel di database sesuai kebutuhan.

  • Nilai rentang: 1 hingga 2147483

  • Nilai default: 30

  • Unit: detik

autovacuum_vacuum_threshold

Jumlah minimum tuple yang berubah (disisipkan, dihapus, atau diperbarui) yang diperlukan untuk memicu operasi VACUUM.

  • Nilai rentang: 0 hingga 2147483647

  • Nilai default: 50

  • Unit: tupel

autovacuum_vacuum_scale_factor

Faktor skala ukuran tabel untuk memicu operasi VACUUM. Ambang batas aktual ditentukan oleh kombinasi autovacuum_vacuum_threshold dan faktor ini, menggunakan rumus: autovacuum_vacuum_threshold + (autovacuum_vacuum_scale_factor * jumlah tuple dalam tabel).

  • Nilai rentang: 0 hingga 100

  • Nilai default: 0.02

  • Unit: persen

autovacuum_analyze_threshold

Jumlah minimum tuple yang berubah (disisipkan, dihapus, atau diperbarui) yang diperlukan untuk memicu operasi ANALYZE.

  • Nilai rentang: 0 hingga 2147483647

  • Nilai default: 50

  • Unit: tupel

autovacuum_analyze_scale_factor

Faktor skala ukuran tabel untuk memicu operasi ANALYZE. Ambang batas aktual ditentukan oleh kombinasi autovacuum_analyze_threshold dan faktor ini, menggunakan rumus: autovacuum_analyze_threshold + (autovacuum_analyze_scale_factor * jumlah tuple dalam tabel).

  • Nilai rentang: 0 hingga 2147483647

  • Nilai default: 0.05

  • Unit: persen

autovacuum_freeze_max_age

Usia maksimum ID transaksi tertua suatu tabel sebelum VACUUM dipaksakan untuk mencegah transaction ID wraparound. Sistem secara otomatis memulai vacuum untuk mencegah wraparound, terlepas dari apakah parameter autovacuum dinonaktifkan atau tidak.

  • Nilai rentang: 100000 hingga 2000000000

  • Nilai default: 500000000

  • Unit: ID transaksi

Catatan

Bahkan jika autovacuum dinonaktifkan, sistem tetap akan memulai proses autovacuum untuk mencegah wraparound.

autovacuum_multixact_freeze_max_age

Usia maksimum multixact ID tertua suatu tabel sebelum VACUUM dipaksakan untuk mencegah multixact ID wraparound.

  • Nilai rentang: 10000 hingga 2000000000

  • Nilai default: 700000000

  • Unit: ID transaksi

Catatan

Bahkan jika autovacuum dinonaktifkan, sistem tetap akan memulai proses autovacuum untuk mencegah wraparound.

autovacuum_vacuum_cost_delay

Waktu penundaan biaya untuk operasi VACUUM otomatis. Jika diatur ke -1, nilai vacuum_cost_delay yang digunakan.

  • Nilai rentang: -1 hingga 100

  • Nilai default: 0

  • Unit: milidetik

autovacuum_vacuum_cost_limit

Batas biaya untuk operasi VACUUM otomatis. Batas total ini didistribusikan secara proporsional di antara semua proses worker autovacuum yang sedang berjalan (jika ada beberapa). Jumlah batas untuk setiap proses worker tidak akan melebihi nilai dalam variabel ini. Jika diatur ke -1, nilai vacuum_cost_limit yang digunakan.

  • Nilai rentang: -1 hingga 10000

  • Nilai default: 10000

  • Unit: nilai biaya

Checkpoint dan penulisan latar belakang

Parameter

Description

checkpoint_timeout

Menetapkan interval waktu maksimum antara checkpoint WAL otomatis.

  • Nilai rentang: 30 hingga 86400

  • Nilai default: 30

  • Unit: detik

bgwriter_delay

Waktu hibernasi penulis latar belakang antara dua putaran flushing halaman kotor.

  • Nilai rentang: 10 hingga 10000

  • Nilai default: 600000

  • Unit: milidetik

backend_flush_after

Ketika jumlah halaman kotor yang ditulis oleh proses latar belakang melebihi ambang batas ini, sistem operasi melakukan flush data dari cache file ke disk.

  • Nilai rentang: 0 hingga 256

  • Nilai default: 0

  • Unit: blok

full_page_writes

Mengontrol apakah seluruh isi halaman data ditulis ke log WAL ketika pertama kali dimodifikasi setelah checkpoint. Fitur ini digunakan untuk mencegah partial page writes akibat kegagalan seperti pemadaman listrik.

  • Nilai rentang: ON/OFF

  • Nilai default: OFF

wal_buffers

Ukuran memori bersama yang digunakan untuk menyimpan sementara data WAL di memori.

  • Nilai rentang: -1 hingga 262143 (2097144 KB)

  • Nilai default: 16 MB

  • Unit: blok WAL (masing-masing 8 KB)

wal_level

Mengontrol tingkat informasi yang ditulis ke write-ahead logging (WAL). Level berbeda mendukung fitur berbeda: replica menyediakan node secondary read-only, dan logical menyediakan layanan replikasi logis.

  • Nilai rentang: replica/logical

  • Nilai default: replica

wal_writer_delay

Waktu hibernasi maksimum proses walwriter antara dua putaran operasi flush WAL.

  • Nilai rentang: 1 hingga 10000

  • Nilai default: 600000

  • Unit: milidetik

Perencanaan dan eksekusi kueri

Parameter

Description

constraint_exclusion

Mengontrol apakah pengoptimal kueri menggunakan konstraint tabel (seperti Konstraint CHECK) untuk mengoptimalkan kueri, terutama untuk pemangkasan kueri pada tabel partisi.

  • Nilai rentang:

    • on: Memeriksa konstraint untuk semua tabel.

    • Off: Dinonaktifkan

    • partition: Hanya berlaku untuk tabel partisi dan subkueri UNION ALL.

  • Nilai default: partition

cpu_index_tuple_cost

Menetapkan estimasi biaya pengoptimal untuk memproses setiap entri indeks selama Pemindaian indeks.

  • Nilai rentang: 0 hingga 1.79769e+308

  • Nilai default: 0.005

cpu_operator_cost

Menetapkan estimasi biaya pengoptimal untuk memproses setiap operator atau fungsi dalam kueri.

  • Nilai rentang: 0 hingga 1.79769e+308

  • Nilai default: 0.0025

cpu_tuple_cost

Menetapkan estimasi biaya pengoptimal untuk memproses setiap baris dalam kueri.

  • Nilai rentang: 0 hingga 1.79769e+308

  • Nilai default: 0.01

enable_partition_pruning

Mengontrol apakah pengoptimal kueri mengaktifkan optimasi pemangkasan partisi selama fase perencanaan dan eksekusi untuk melewati pemindaian partisi yang tidak relevan.

  • Nilai rentang: ON/OFF

  • Nilai default: ON

seq_page_cost

Menetapkan estimasi biaya pengoptimal untuk pengambilan halaman disk secara sekuensial.

  • Nilai rentang: 0 hingga 1.79769e+308

  • Nilai default: 1

jit

Mengontrol apakah kompilasi Just-In-Time (JIT) diaktifkan untuk kueri tertentu guna mempercepat eksekusi.

  • Nilai rentang: ON/OFF

  • Nilai default: OFF

Pengaturan timeout

Parameter

Description

deadlock_timeout

Waktu maksimum transaksi menunggu lock sebelum memeriksa potensi deadlock.

  • Nilai rentang: 0 hingga 2147483647

  • Nilai default: 1000

  • Unit: milidetik

idle_in_transaction_session_timeout

Waktu maksimum yang diizinkan bagi transaksi berada dalam status "idle in transaction". Sesi akan dihentikan jika waktu ini terlampaui. Atur ke 0 untuk menonaktifkan timeout ini.

  • Nilai rentang: 0 hingga 2147483647

  • Nilai default: 3600000

  • Unit: milidetik

lock_timeout

Waktu maksimum operasi tunggal menunggu untuk mendapatkan lock pada tabel, baris, atau objek lainnya. Operasi akan keluar dengan error jika waktu ini terlampaui. Atur ke 0 untuk menonaktifkan timeout ini, artinya akan menunggu tanpa batas.

  • Nilai rentang: 0 hingga 2147483647

  • Nilai default: 0

  • Unit: milidetik

statement_timeout

Membatasi waktu eksekusi maksimum untuk satu pernyataan SQL. Pernyataan akan dihentikan jika waktu ini terlampaui. Atur ke 0 untuk tidak ada batas timeout.

  • Nilai rentang: 0 hingga 262143

  • Nilai default: 0

  • Unit: milidetik

Pencatatan log dan auditing

Parameter

Description

logging_collector

Mengontrol apakah proses pengumpulan log diaktifkan, yang bertanggung jawab untuk menangkap dan menulis log selama operasi kluster.

  • Nilai rentang: ON/OFF

  • Nilai default: ON

log_connections

Mengontrol apakah setiap koneksi client yang berhasil dicatat dalam log.

  • Nilai rentang: ON/OFF

  • Nilai default: OFF

log_disconnections

Mengontrol apakah setiap pemutusan koneksi client dicatat dalam log.

  • Nilai rentang: ON/OFF

  • Nilai default: OFF

log_error_verbosity

Menetapkan tingkat detail log error.

  • Nilai rentang:

    • terse: Hanya mencakup severity, pesan utama, dan posisi.

    • default: Mencakup detail lebih lanjut, seperti informasi rinci dan petunjuk.

    • verbose: Mencakup semua log detail.

  • Nilai default: default

log_min_duration_statement

Mencatat pernyataan SQL lambat yang melebihi ambang batas waktu eksekusi tertentu. Atur ke 0 untuk mencatat semua pernyataan SQL. Atur ke -1 untuk menonaktifkan fitur log pernyataan SQL lambat.

  • Nilai rentang: 0 hingga 2147483647

  • Nilai default: 5000

  • Unit: milidetik

log_statement

Mengontrol jenis pernyataan SQL yang dicatat dalam log.

  • Nilai rentang:

    • none: Tidak mencatat pernyataan.

    • ddl: Mencatat pernyataan DDL seperti CREATE, ALTER, dan DROP.

    • mod: Mencatat pernyataan DDL dan DML (INSERT, UPDATE, DELETE).

    • all: Mencatat semua pernyataan SQL.

  • Nilai default: ddl

Replikasi dan ketersediaan tinggi

Parameter

Description

hot_standby

Mengontrol apakah node secondary (node read-only) dapat menerima kueri read-only.

  • Nilai rentang: ON/OFF

  • Nilai default: ON

hot_standby_feedback

Mengontrol apakah node read-only mengirimkan feedback ke node primary mengenai kueri yang sedang berjalan. Saat diaktifkan, node primary menunda pembersihan baris data lama yang masih digunakan oleh kueri di node read-only guna mengurangi konflik kueri.

  • Nilai rentang: ON/OFF

  • Nilai default: ON

max_replication_slots

Jumlah maksimum slot replikasi yang dapat didukung oleh instans.

  • Nilai rentang: 0 hingga 262143

  • Nilai default: 64

Manajemen resource

Parameter

Description

dynamic_shared_memory_type

Menentukan metode implementasi untuk memori bersama dinamis.

  • Nilai rentang: posix/sysv/mmap

  • Nilai default: posix

gin_pending_list_limit

Menetapkan ukuran memori maksimum daftar pending untuk indeks GIN dalam mode fast update.

  • Nilai rentang: 64 hingga 2097151

  • Nilai default: 4096

  • Unit: KB

huge_pages

Mengontrol apakah instans mencoba menggunakan halaman besar yang disediakan oleh sistem operasi.

  • Nilai rentang: ON/OFF

  • Nilai default: ON

max_files_per_process

Jumlah maksimum handle file yang boleh dibuka secara bersamaan oleh setiap proses latar belakang database.

  • Nilai rentang: 64 hingga 2147483647

  • Nilai default: 10000

max_locks_per_transaction

Jumlah maksimum lock yang dapat dipegang oleh setiap transaksi.

  • Nilai rentang: 10 hingga 2147483647

  • Nilai default: 64

max_prepared_transactions

Jumlah maksimum transaksi yang dapat berada dalam status prepared (protokol commit dua fase) secara bersamaan di kluster.

  • Nilai rentang: 0 hingga 262143

  • Nilai default: 800

max_worker_processes

Jumlah total maksimum proses worker latar belakang yang dapat dijalankan oleh kluster, termasuk proses worker kueri paralel.

  • Nilai rentang: 0 hingga 262143

  • Nilai default: 256

temp_file_limit

Membatasi ukuran total file temporary (digunakan untuk operasi seperti Pengurutan dan penghashan) yang dapat digunakan oleh satu proses latar belakang. Atur ke -1 untuk tidak ada batas.

  • Nilai rentang: -1 hingga 2147483647

  • Nilai default: 104857600 (100 GB)

  • Unit: KB

Format dan perilaku

Parameter

Description

datestyle

Menetapkan format tampilan untuk nilai tanggal dan waktu.

  • Nilai rentang:

    • Deklarasi format output: ISO/Postgres/SQL/German

    • Urutan tahun/bulan/hari input/output: DMY/MDY/YMD

  • Nilai default: 'ISO,YMD'

default_with_oids

Parameter yang sudah tidak digunakan lagi yang mengontrol apakah CREATE TABLE menyertakan OIDs secara default. Versi saat ini tidak lagi mendukung OIDs, sehingga parameter ini hanya dapat diatur ke OFF.

extra_float_digits

Mengontrol jumlah digit signifikan tambahan yang ditampilkan untuk bilangan titik mengambang di luar presisi standar. Ini digunakan untuk menampilkan nilai titik mengambang secara lebih akurat.

  • Nilai rentang: -15 hingga 3

  • Nilai default: 0

fsync

Mengontrol apakah database memaksa perubahan data disinkronkan dari cache sistem operasi ke disk fisik setelah operasi kritis, seperti COMMIT.

  • Nilai rentang: ON/OFF

  • Nilai default: ON

timezone

Menentukan zona waktu yang digunakan oleh sesi database untuk menampilkan dan menginterpretasikan timestamp.

  • Rentang nilai: Nama zona waktu standar, seperti Asia/Shanghai dan UTC. Untuk rentang nilai lengkap, lihat rentang modifikasi parameter di Konsol.

  • Nilai default: 'UTC'