Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penyempurnaan autovacuum adaptif di PostgreSQL versi 18
Dimulai dengan RDS untuk PostgreSQL versi 18, Amazon RDS meningkatkan mekanisme autovacuum adaptif untuk menskalakan secara dinamis saat instans DB Anda mendekati sampul ID transaksi. autovacuum_max_workers Dalam versi PostgreSQL sebelumnyaautovacuum_max_workers, diperlukan restart untuk berubah. PostgreSQL 18 autovacuum_max_workers membuat parameter dinamis, memungkinkan Amazon RDS untuk menyesuaikannya tanpa restart.
PostgreSQL 18 juga memperkenalkan parameter baru, yang mencadangkan slot proses backend untuk autovacuum_worker_slots pekerja autovacuum saat startup server. Parameter ini menetapkan batas atas berapa banyak pekerja autovacuum yang dapat berjalan secara bersamaan — autovacuum_max_workers tidak dapat melebihi nilai ini. Tidak sepertiautovacuum_max_workers, autovacuum_worker_slots membutuhkan restart untuk berubah. Untuk informasi selengkapnya, lihat autovacuum_worker_slots
Bagaimana autovacuum adaptif menskalakan pekerja
Ketika MaximumUsedTransactionIDs CloudWatch metrik melebihi 1 miliar pada instance PostgreSQL 18, Amazon autovacuum_max_workers RDS meningkat autovacuum_worker_slots hingga nilainya menggunakan rumus berikut, yang juga merupakan rumus default untuk parameter: autovacuum_worker_slots
LEAST(GREATEST({DBInstanceClassMemory/32185783296}, 16), 32)
Untuk contoh kecil dan menengah (memori hingga 512 GiB), skala autovacuum adaptif untuk 16 pekerja. Untuk contoh yang lebih besar, jumlah pekerja diskalakan secara proporsional dengan memori hingga maksimum 32. Misalnya, instance db.m5.4xlarge (64 GiB) memiliki default 3. autovacuum_max_workers Ketika MaximumUsedTransactionIDs melebihi 1 miliar, Amazon RDS menskalakannya menjadi 16 pekerja.
Amazon RDS tidak pernah mengurangi nilai yang telah Anda konfigurasikan. Jika konfigurasi Anda autovacuum_max_workers sudah lebih tinggi dari nilai yang dihitung, Amazon RDS tidak mengubahnya.
Setiap pekerja autovacuum menggunakan memori hingga pengaturan. autovacuum_work_mem Ketika autovacuum adaptif meningkatkan jumlah pekerja, total memori yang dikonsumsi oleh autovacuum meningkat secara proporsional. Misalnya, jika autovacuum_work_mem diatur ke 1 GB dan skala autovacuum adaptif dari 3 hingga 16 pekerja, memori maksimum yang digunakan oleh pekerja autovacuum meningkat dari 3 GB menjadi 16 GB.
Awas
Pastikan bahwa kombinasi proses pekerja dan memori sama dengan total memori yang ingin Anda alokasikan ke autovacuum.
Memantau perubahan autovacuum adaptif
Saat Amazon RDS memodifikasi autovacuum_max_workers atau parameter autovacuum lainnya, Amazon akan menghasilkan peristiwa untuk instans DB yang terpengaruh. Anda dapat melihat peristiwa ini di Konsol Manajemen AWS atau melalui Amazon RDS API. Untuk informasi selengkapnya tentang peristiwa RDS, lihat kategori acara Amazon RDS dan pesan acara. Untuk menerima pemberitahuan saat peristiwa ini terjadi, lihat Berlangganan pemberitahuan acara Amazon RDS.
Untuk melihat pengaturan autovacuum dalam memori saat ini, sambungkan ke instans DB Anda dan jalankan perintah berikut:
SHOW autovacuum_max_workers;
Nilai kelompok parameter tidak berubah. Amazon RDS memodifikasi parameter ini hanya dalam memori pada instans DB. Saat MaximumUsedTransactionIDs turun di bawah ambang batas, Amazon RDS mengatur ulang parameter ke nilai dalam grup parameter Anda dan menghasilkan peristiwa lain.