Mengonfigurasi autovacuum adaptif

Untuk mengklaim kembali ruang penyimpanan dari baris yang diperbarui atau dihapus, memperbarui statistik tabel, dan mencegah wraparound ID transaksi, AlloyDB untuk PostgreSQL mengaktifkan autovacuum adaptif secara default. Autovacuum adaptif secara otomatis menyesuaikan workload vacuum seiring perubahan traffic database Anda, menghapus tuple yang tidak aktif, serta mempertahankan performa transaksional yang konsisten dan ketersediaan tinggi.

Vacuuming adalah operasi pemeliharaan PostgreSQL penting yang mencegah bloat tabel atau indeks dan membekukan ID transaksi untuk mencegah wraparound ID transaksi. Untuk mengetahui informasi selengkapnya, lihat Proses vacuum rutin.

Anda dapat menonaktifkan atau mengubah autovacuum adaptif di AlloyDB dengan menggunakan flag database.

Manfaat

Autovacuum adaptif menawarkan manfaat berikut:

  • Penyesuaian resource otomatis. AlloyDB otomatis menyesuaikan resource seperti CPU, I/O, jumlah proses vacuum, dan memori untuk proses vacuum berdasarkan status real-time workload dan resource yang tersedia tanpa memengaruhi performa sistem.

  • Pencegahan wraparound ID transaksi. AlloyDB memantau progres vacuum dan kecepatan pemakaian ID transaksi. Jika diperlukan, AlloyDB akan membatasi pemakaian ID transaksi dengan melakukan vacuum pada setiap tabel dalam database, sehingga mencegah wraparound ID transaksi.

  • Pembersihan berkala untuk tabel. AlloyDB memicu autovacuum berdasarkan jumlah tuple yang tidak aktif dan halaman yang perlu dipindai. Fitur ini menghapus tuple yang tidak aktif secara tepat waktu untuk menghindari pembengkakan tabel atau indeks.

  • Deteksi otomatis pemblokir. AlloyDB otomatis mendeteksi pemblokir seperti transaksi yang berjalan lama, transaksi yang disiapkan tanpa induk, slot replikasi tanpa induk, dan menampilkan pesan peringatan yang mirip dengan berikut ini di log postgres:

    Found a backend process PROCESS_ID with a long running transaction whose transaction
    id age AGE is larger than or equal to the transaction age threshold AGE_THRESHOLD.
    

Mengonfigurasi autovacuum adaptif

Secara default, autovacuum adaptif diaktifkan di AlloyDB. Anda dapat menonaktifkan autovacuum adaptif dengan menetapkan flag database enable_google_adaptive_autovacuum instance ke off.

Untuk mengetahui informasi selengkapnya tentang cara menetapkan flag database, lihat Mengonfigurasi flag database instance.

AlloyDB mendukung beberapa flag database PostgreSQL standar yang terkait dengan vacuum dan autovacuum, misalnya, vacuum_cost_delay dan autovacuum_vacuum_cost_delay. Anda tidak perlu menetapkan nilai di salah satu flag ini agar autovacuum adaptif berfungsi karena autovacuum adaptif menyesuaikan dan mengoptimalkan perilakunya dengan workload Anda yang sebenarnya. Jika Anda menetapkan nilai dalam flag ini, autovacuum adaptif akan menyesuaikan perilakunya untuk mempertimbangkan preferensi Anda.

Untuk melihat daftar lengkap flag database PostgreSQL yang didukung terkait dengan vacuum dan autovacuum, lihat flag vacuum dan flag autovacuum.