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 |
| 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:
Catatan Jalankan perintah |
| Parameter ini menentukan seberapa banyak informasi yang ditulis ke WAL. Nilai yang valid adalah:
Catatan
|
| 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:
Catatan
|
Referensi parameter umum
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 |
| 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.
|
| Mengontrol apakah instans mengaktifkan dan mendukung koneksi enkripsi Secure Sockets Layer (SSL).
|
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 |
| Mengontrol apakah proses latar belakang
Catatan Bahkan jika parameter ini dinonaktifkan, sistem tetap akan memaksa proses vacuum berjalan ketika diperlukan untuk mencegah transaction ID wraparound. |
| Menentukan jumlah maksimum proses worker autovacuum (selain launcher autovacuum) yang dapat berjalan secara bersamaan.
|
| Menentukan waktu hibernasi minimum untuk proses autovacuum antara pemeriksaan pada sebuah database. Dalam setiap putaran, proses latar belakang memeriksa database dan mengeluarkan perintah
|
| Jumlah minimum tuple yang berubah (disisipkan, dihapus, atau diperbarui) yang diperlukan untuk memicu operasi
|
| Faktor skala ukuran tabel untuk memicu operasi
|
| Jumlah minimum tuple yang berubah (disisipkan, dihapus, atau diperbarui) yang diperlukan untuk memicu operasi
|
| Faktor skala ukuran tabel untuk memicu operasi
|
| Usia maksimum ID transaksi tertua suatu tabel sebelum
Catatan Bahkan jika autovacuum dinonaktifkan, sistem tetap akan memulai proses autovacuum untuk mencegah wraparound. |
| Usia maksimum multixact ID tertua suatu tabel sebelum
Catatan Bahkan jika autovacuum dinonaktifkan, sistem tetap akan memulai proses autovacuum untuk mencegah wraparound. |
| Waktu penundaan biaya untuk operasi
|
| Batas biaya untuk operasi
|
Checkpoint dan penulisan latar belakang
Parameter | Description |
| Menetapkan interval waktu maksimum antara checkpoint WAL otomatis.
|
| Waktu hibernasi penulis latar belakang antara dua putaran flushing halaman kotor.
|
| Ketika jumlah halaman kotor yang ditulis oleh proses latar belakang melebihi ambang batas ini, sistem operasi melakukan flush data dari cache file ke disk.
|
| 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.
|
| Ukuran memori bersama yang digunakan untuk menyimpan sementara data WAL di memori.
|
| Mengontrol tingkat informasi yang ditulis ke write-ahead logging (WAL). Level berbeda mendukung fitur berbeda:
|
| Waktu hibernasi maksimum proses walwriter antara dua putaran operasi flush WAL.
|
Perencanaan dan eksekusi kueri
Parameter | Description |
| Mengontrol apakah pengoptimal kueri menggunakan konstraint tabel (seperti Konstraint CHECK) untuk mengoptimalkan kueri, terutama untuk pemangkasan kueri pada tabel partisi.
|
| Menetapkan estimasi biaya pengoptimal untuk memproses setiap entri indeks selama Pemindaian indeks.
|
| Menetapkan estimasi biaya pengoptimal untuk memproses setiap operator atau fungsi dalam kueri.
|
| Menetapkan estimasi biaya pengoptimal untuk memproses setiap baris dalam kueri.
|
| Mengontrol apakah pengoptimal kueri mengaktifkan optimasi pemangkasan partisi selama fase perencanaan dan eksekusi untuk melewati pemindaian partisi yang tidak relevan.
|
| Menetapkan estimasi biaya pengoptimal untuk pengambilan halaman disk secara sekuensial.
|
| Mengontrol apakah kompilasi Just-In-Time (JIT) diaktifkan untuk kueri tertentu guna mempercepat eksekusi.
|
Pengaturan timeout
Parameter | Description |
| Waktu maksimum transaksi menunggu lock sebelum memeriksa potensi deadlock.
|
| 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.
|
| 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.
|
| Membatasi waktu eksekusi maksimum untuk satu pernyataan SQL. Pernyataan akan dihentikan jika waktu ini terlampaui. Atur ke 0 untuk tidak ada batas timeout.
|
Pencatatan log dan auditing
Parameter | Description |
| Mengontrol apakah proses pengumpulan log diaktifkan, yang bertanggung jawab untuk menangkap dan menulis log selama operasi kluster.
|
| Mengontrol apakah setiap koneksi client yang berhasil dicatat dalam log.
|
| Mengontrol apakah setiap pemutusan koneksi client dicatat dalam log.
|
| Menetapkan tingkat detail log error.
|
| 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.
|
| Mengontrol jenis pernyataan SQL yang dicatat dalam log.
|
Replikasi dan ketersediaan tinggi
Parameter | Description |
| Mengontrol apakah node secondary (node read-only) dapat menerima kueri read-only.
|
| 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.
|
| Jumlah maksimum slot replikasi yang dapat didukung oleh instans.
|
Manajemen resource
Parameter | Description |
| Menentukan metode implementasi untuk memori bersama dinamis.
|
| Menetapkan ukuran memori maksimum daftar pending untuk indeks GIN dalam mode fast update.
|
| Mengontrol apakah instans mencoba menggunakan halaman besar yang disediakan oleh sistem operasi.
|
| Jumlah maksimum handle file yang boleh dibuka secara bersamaan oleh setiap proses latar belakang database.
|
| Jumlah maksimum lock yang dapat dipegang oleh setiap transaksi.
|
| Jumlah maksimum transaksi yang dapat berada dalam status prepared (protokol commit dua fase) secara bersamaan di kluster.
|
| Jumlah total maksimum proses worker latar belakang yang dapat dijalankan oleh kluster, termasuk proses worker kueri paralel.
|
| 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.
|
Format dan perilaku
Parameter | Description |
| Menetapkan format tampilan untuk nilai tanggal dan waktu.
|
| Parameter yang sudah tidak digunakan lagi yang mengontrol apakah |
| 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.
|
| Mengontrol apakah database memaksa perubahan data disinkronkan dari cache sistem operasi ke disk fisik setelah operasi kritis, seperti
|
| Menentukan zona waktu yang digunakan oleh sesi database untuk menampilkan dan menginterpretasikan timestamp.
|