全部产品
Search
文档中心

ApsaraDB RDS:Gunakan fitur manajemen log WAL

更新时间:Jul 02, 2025

Jumlah log WAL yang dihasilkan untuk instance ApsaraDB RDS for PostgreSQL Anda meningkat secara signifikan selama jam sibuk. Proses checkpointer secara berkala menghapus log WAL yang kedaluwarsa. Namun, jika terdapat sejumlah besar slot replikasi tidak aktif yang tidak dihapus sesegera mungkin, log WAL akan terus menumpuk. Untuk mengelola log WAL secara efektif, ApsaraDB RDS for PostgreSQL memungkinkan Anda melihat dan menghapus slot replikasi di Konsol Manajemen ApsaraDB RDS atau dengan memanggil operasi API. WAL adalah singkatan dari write-ahead logging.

Informasi latar belakang

Slot replikasi adalah mekanisme dalam PostgreSQL yang menyimpan aliran perubahan yang dapat diputar ulang dalam replikasi streaming. Slot replikasi membantu mencegah kehilangan data atau replikasi ganda dalam replikasi streaming serta meningkatkan efisiensi dan keandalan replikasi data.

Jika terdapat sejumlah besar slot replikasi tidak aktif yang tidak dihapus sesegera mungkin, log WAL akan terus menumpuk dan mengonsumsi banyak sumber daya penyimpanan. Penumpukan log WAL dapat menghabiskan ruang disk dan menyebabkan instance RDS terkunci. Jika instance RDS terkunci, ia tidak dapat memproses permintaan tulis, yang memengaruhi bisnis.

ApsaraDB RDS for PostgreSQL memungkinkan Anda menghapus slot replikasi tidak aktif di Konsol Manajemen ApsaraDB RDS atau dengan memanggil operasi API. Hal ini mencegah log WAL menempati sejumlah besar ruang disk.

Catatan penggunaan

  • Anda tidak dapat menghapus slot replikasi aktif.

  • Jika slot replikasi tidak aktif tidak dihapus sesegera mungkin, log WAL akan terus menumpuk dan mengonsumsi banyak sumber daya penyimpanan. Jika penumpukan log WAL menghabiskan ruang disk, instance RDS menjadi terkunci dan tidak dapat memproses permintaan tulis, yang memengaruhi bisnis.

Dampak

Setelah slot replikasi tidak aktif dihapus, dampak berikut terjadi:

  • Log WAL yang tidak dapat dihapus karena slot replikasi tidak aktif pada instance RDS secara otomatis dihapus.

  • Slot replikasi yang dihapus tidak dapat digunakan kembali.

Prosedur

  1. Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instance RDS berada. Kemudian, temukan instance RDS dan klik ID instance tersebut.

  2. Di panel navigasi sisi kiri halaman yang muncul, klik Logs.

  3. Pada tab WAL File Management, lihat informasi tentang semua slot replikasi.

    Informasi tentang slot replikasi memetakan bidang dalam tabel pg_replication_slots di PostgreSQL. Tabel berikut menjelaskan pemetaan tersebut.

    Parameter

    Bidang dalam tabel pg_replication_slots

    Deskripsi

    Slot Name

    slot_name

    Nama slot replikasi.

    Slot Type

    slot_type

    Tipe slot replikasi. Nilai valid:

    • physical

    • logical

    Plugin

    plugin

    Secara default, ApsaraDB RDS for PostgreSQL mendukung ekstensi berikut:

    • test_decoding

    • pgoutput

    • wal2json

    Temporary Slot

    temporary

    Menentukan apakah slot replikasi merupakan slot sementara. Slot sementara adalah jenis slot khusus yang hanya ada selama sesi saat ini dan secara otomatis dihapus setelah sesi berakhir.

    • true: slot sementara

    • false: slot permanen

    Database Name

    database

    Database tempat slot replikasi berada.

    Accumulated WAL Files

    Tidak ada bidang yang dipetakan.

    Parameter ini dihitung oleh AliPG.

    Metode perhitungan

    SELECT pg_size_pretty(
      pg_wal_lsn_diff(
        pg_current_wal_insert_lsn(), 
        restart_lsn)
    	) AS wal_delay 
    FROM pg_replication_slots;

    Jumlah log WAL yang terakumulasi untuk slot replikasi. Satuan: MB.

    Logical Subscription Latency

    Tidak ada bidang yang dipetakan.

    Parameter ini dihitung oleh AliPG.

    Metode perhitungan

    SELECT *, CAST(extract(epoch FROM replay_lag) AS BIGINT) 
    AS sub_replay_lag 
    FROM pg_stat_replication;

    Latensi langganan logis pada node pelanggan yang sesuai dengan slot replikasi saat ini. Satuan: detik.

    Whether Active

    active

    Menentukan apakah slot replikasi sedang digunakan. Nilai valid:

    • INACTIVE

    • ACTIVE

  4. Opsional. Kelola slot replikasi yang menampilkan INACTIVE di kolom Whether Active. Anda harus mengelola slot replikasi tidak aktif sesegera mungkin karena log WAL terus menumpuk untuk slot replikasi tersebut.

    • Jika slot replikasi sedang digunakan, ubah status menjadi ACTIVE.

    • Jika slot replikasi tidak digunakan, klik Delete di kolom Tindakan.

Catatan

Untuk informasi lebih lanjut tentang slot dan cara membuat slot, lihat topik berikut:

Operasi terkait

  • DescribeSlots: Meminta informasi tentang semua slot replikasi instance.

  • DeleteSlot: Menghapus slot replikasi dari instance.

Referensi

  • Anda dapat mengidentifikasi masalah akumulasi log WAL pada instance RDS utama dan baca-saja berdasarkan petunjuk yang diberikan dalam Memecahkan masalah bahwa log WAL terakumulasi di PostgreSQL.

  • Parameter berikut digunakan untuk menentukan ukuran terkait log WAL dan mekanisme penghapusan otomatis. Anda dapat mengonfigurasi parameter berdasarkan petunjuk yang diberikan dalam Ubah parameter instance ApsaraDB RDS for PostgreSQL.

    • max_wal_size: menentukan ukuran log WAL untuk memicu checkpoint.

    • min_wal_size: menentukan ukuran minimum log WAL untuk didaur ulang untuk digunakan kembali pada checkpoint mendatang. Selama penggunaan disk WAL tetap di bawah pengaturan ini, log WAL lama didaur ulang untuk digunakan kembali pada checkpoint mendatang, bukan dihapus.

    • wal_buffers: menentukan ukuran buffer halaman-disk dalam memori bersama untuk log WAL. Ukuran ini menunjukkan jumlah memori bersama yang digunakan untuk data WAL yang belum ditulis ke disk.