

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
<a name="Appendix.PostgreSQL.CommonDBATasks.Autovacuum.AdaptivePG18"></a>

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 sebelumnya`autovacuum_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 seperti`autovacuum_max_workers`, `autovacuum_worker_slots` membutuhkan restart untuk berubah. Untuk informasi selengkapnya, lihat [https://www.postgresql.org/docs/devel/runtime-config-vacuum.html#GUC-AUTOVACUUM-WORKER-SLOTS](https://www.postgresql.org/docs/devel/runtime-config-vacuum.html#GUC-AUTOVACUUM-WORKER-SLOTS)di dokumentasi PostgreSQL.

## Bagaimana autovacuum adaptif menskalakan pekerja
<a name="Appendix.PostgreSQL.CommonDBATasks.Autovacuum.AdaptivePG18.ScalingWorkers"></a>

Ketika [https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-metrics.html](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-metrics.html) 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](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.Summary.html) (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
<a name="Appendix.PostgreSQL.CommonDBATasks.Autovacuum.AdaptivePG18.Monitoring"></a>

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](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages.html). Untuk menerima pemberitahuan saat peristiwa ini terjadi, lihat [Berlangganan pemberitahuan acara Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Subscribing.html).

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.