Vacuuming adalah operasi pemeliharaan database PostgreSQL yang penting. Fungsi ini digunakan untuk mengklaim kembali ruang penyimpanan yang ditempati oleh baris yang diperbarui atau dihapus untuk menghindari pembengkakan tabel atau indeks. Tabel ini juga digunakan untuk membekukan ID transaksi guna mencegah wraparound ID transaksi dan untuk memperbarui statistik tabel.
Untuk mengetahui informasi selengkapnya tentang proses vacuum, lihat Proses vacuum rutin.
Untuk mengotomatiskan proses pembersihan dan memperbarui statistik tabel secara kolektif,
AlloyDB Omni mendukung pembersihan otomatis adaptif. Autovacuum adaptif memungkinkan
penyesuaian otomatis workload vacuum saat workload Anda berubah, menghapus tuple yang tidak aktif, dan memperbarui statistik tabel.
Autovacuum memastikan performa transaksional aplikasi yang andal dan konsisten serta mempertahankan ketersediaan sistem yang tinggi dengan mencegah wraparound ID transaksi.
Secara default, AlloyDB Omni mengaktifkan autovacuum adaptif. Anda dapat menonaktifkan
atau mengubah autovacuum adaptif di AlloyDB Omni dengan menggunakan flag database.
Manfaat
Autovacuum adaptif menawarkan manfaat berikut:
Penyesuaian resource otomatis. AlloyDB Omni secara 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 Omni memantau progres vacuum dan kecepatan pemakaian ID transaksi. Jika perlu,
AlloyDB Omni membatasi penggunaan ID transaksinya dengan
mem-vacuum setiap tabel dalam database, sehingga mencegah wraparound ID transaksi.
Vakum berkala untuk tabel. AlloyDB Omni memicu autovacuum
berdasarkan jumlah tuple yang tidak digunakan dan halaman yang perlu
dipindai. Proses ini menghapus tuple yang tidak digunakan tepat waktu untuk menghindari pembengkakan tabel atau indeks.
Deteksi otomatis pemblokir. AlloyDB Omni secara 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 di log postgres:
Secara default, autovacuum adaptif diaktifkan di AlloyDB Omni. Anda dapat
menonaktifkan autovacuum adaptif dengan menyetel tanda database enable_google_adaptive_autovacuum
instance ke off.
AlloyDB Omni mendukung beberapa tanda database PostgreSQL standar yang terkait dengan vacuum dan autovacuum, misalnya, vacuum_cost_delay dan autovacuum_vacuum_cost_delay.
Anda tidak perlu menyetel nilai di salah satu flag ini agar autovacuum adaptif berfungsi
karena autovacuum adaptif menyesuaikan dan mengoptimalkan perilakunya dengan workload nyata Anda.
Jika Anda menetapkan nilai dalam tanda ini, autovacuum adaptif akan menyesuaikan perilakunya
untuk mempertimbangkan preferensi Anda.
Untuk melihat daftar lengkap flag database PostgreSQL yang didukung terkait vacuum dan autovacuum, lihat flag vacuum dan flag autovacuum.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-09-05 UTC."],[[["\u003cp\u003eAlloyDB Omni supports adaptive autovacuum, which automates vacuuming and table statistics updates, adapting to workload changes.\u003c/p\u003e\n"],["\u003cp\u003eAdaptive autovacuum automatically adjusts resources like CPU, I/O, and memory, optimizing the vacuum process without impacting system performance.\u003c/p\u003e\n"],["\u003cp\u003eThis feature prevents transaction ID wraparound by monitoring vacuum progress and transaction ID consumption, triggering full database vacuuming when needed.\u003c/p\u003e\n"],["\u003cp\u003eAlloyDB Omni's adaptive autovacuum performs timely dead tuple removal, preventing table and index bloat.\u003c/p\u003e\n"],["\u003cp\u003eWhile adaptive autovacuum works automatically, it can be disabled or further configured using standard PostgreSQL vacuum and autovacuum database flags.\u003c/p\u003e\n"]]],[],null,["# Configure adaptive autovacuum\n\nSelect a documentation version: Current (16.8.0)keyboard_arrow_down\n\n- [Current (16.8.0)](/alloydb/omni/current/docs/adaptive-autovacuum)\n- [16.8.0](/alloydb/omni/16.8.0/docs/adaptive-autovacuum)\n- [16.3.0](/alloydb/omni/16.3.0/docs/adaptive-autovacuum)\n- [15.12.0](/alloydb/omni/15.12.0/docs/adaptive-autovacuum)\n- [15.7.1](/alloydb/omni/15.7.1/docs/adaptive-autovacuum)\n- [15.7.0](/alloydb/omni/15.7.0/docs/adaptive-autovacuum)\n\n\u003cbr /\u003e\n\nThis page provides an overview of AlloyDB Omni adaptive autovacuum and describes how to configure it.\n\n\u003cbr /\u003e\n\nVacuuming is an important PostgreSQL database maintenance operation. It is used to\nreclaim storage space occupied by updated or deleted rows to avoid table or index\nbloat. It is also used for freezing transaction IDs to [prevent transaction ID wraparound](https://www.postgresql.org/docs/current/routine-vacuuming.html#VACUUM-FOR-WRAPAROUND) and for updating the table statistics.\n\nFor more information about vacuuming, see [Routine vacuuming](https://www.postgresql.org/docs/current/routine-vacuuming.html).\n\nTo automate the process of vacuuming and collectively updating the table statistics,\nAlloyDB Omni supports adaptive autovacuum. *Adaptive autovacuum* enables\nautomatic adjustment of vacuum workload when your workload changes, removes dead\ntuples, and updates table statistics.\n\nAutovacuum ensures a reliable and consistent application transactional performance\nand maintains high availability of the system by preventing transaction ID wraparound.\n\nBy default, AlloyDB Omni enables adaptive autovacuum. You can disable\nor modify adaptive autovacuum on AlloyDB Omni by [using database flags](#view-cluster).\n\nBenefits\n--------\n\nAdaptive autovacuum offers the following benefits:\n\n- **Automatic adjustment of resources.** AlloyDB Omni automatically adjusts\n resources such as CPU, I/O, number of vacuum processes, and memory for the vacuum\n process based on the real time status of the workload and available resources\n without affecting the system performance.\n\n- **Prevention of transaction ID wraparound.** AlloyDB Omni monitors the\n vacuum progress and transaction ID consumption speed. When necessary,\n AlloyDB Omni throttles its transaction ID consumption by\n vacuuming every table in the database, preventing transaction ID wraparound.\n\n- **Periodic vacuum for tables.** AlloyDB Omni triggers autovacuum\n based on the number of dead tuples and the pages that need to be\n scanned. It removes dead tuples in a timely manner to avoid table or index bloat.\n\n- **Automatic detection of blockers.** AlloyDB Omni automatically detects\n blockers such as long running transactions, orphan prepared transactions, orphan\n replication slots, and shows warning messages similar to the following in the\n `postgres` log:\n\n Found a backend process PROCESS_ID with a long running transaction whose transaction\n id age AGE is larger than or equal to the transaction age threshold AGE_THRESHOLD.\n\nConfigure adaptive autovacuum\n-----------------------------\n\nBy default, adaptive autovacuum is enabled on AlloyDB Omni. You can\ndisable adaptive autovacuum by setting an instance's `enable_google_adaptive_autovacuum`\ndatabase flag to `off`.\n\nAlloyDB Omni supports several standard PostgreSQL database flags related\nto vacuum and autovacuum, for example, `vacuum_cost_delay` and `autovacuum_vacuum_cost_delay`.\nYou don't need to set values in any of these flags for adaptive autovacuum to work\nbecause adaptive autovacuum adapts and optimizes its behavior to your real workloads.\nIf you set values in these flags, then adaptive autovacuum adjusts its behavior\nto take your preferences into account.\n\nTo see the complete list of supported PostgreSQL database flags related to vacuum\nand autovacuum, see [vacuum flags](https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-VACUUM-COST-DELAY)\nand [autovacuum flags](https://www.postgresql.org/docs/current/runtime-config-autovacuum.html)."]]