Untuk mengelola file Write-Ahead Logging (WAL) secara efektif, PolarDB for PostgreSQL memungkinkan Anda melihat slot replikasi logis dari konsol PolarDB.
Informasi latar belakang
Jika slot replikasi logis yang tidak aktif tidak dibersihkan tepat waktu, file WAL akan terus menumpuk. Hal ini dapat mengonsumsi sejumlah besar ruang penyimpanan dan bahkan menyebabkan disk penuh, sehingga kluster menjadi terkunci. Saat kluster terkunci, data tidak dapat ditulis, yang dapat mengganggu operasi bisnis Anda.
PolarDB for PostgreSQL memungkinkan Anda melihat slot replikasi logis dari konsol PolarDB. Anda dapat memantau status slot tersebut dan menghapus slot yang tidak aktif untuk membersihkan file WAL yang menumpuk.
Prasyarat
Untuk kluster terpusat PolarDB for PostgreSQL (yang Edisi Database-nya adalah Enterprise Edition atau Standard Edition), Anda dapat mengatur parameter wal_level ke logical dari konsol PolarDB. Setelah memodifikasi parameter ini, kluster akan restart. Pastikan untuk membuat pengaturan bisnis yang sesuai sebelum memodifikasi parameter dan lanjutkan dengan hati-hati.
Secara default, parameter wal_level dari kluster terdistribusi PolarDB for PostgreSQL diatur ke logical.
Lihat slot replikasi logis
Jika tidak ada slot replikasi logis di kluster, Anda harus terlebih dahulu membuat sumber daya yang relevan.
Jika ingin melihat slot replikasi logis di konsol PolarDB, hubungi kami.
Masuk ke Konsol PolarDB. Di panel navigasi sebelah kiri, pilih Clusters. Pilih wilayah kluster pada halaman yang muncul, lalu klik ID kluster dalam daftar Clusters untuk masuk ke halaman Informasi Dasar kluster.
Di panel navigasi sebelah kiri, pilih Settings and Management > Subscription Management. Pada tab WAL File Management, Anda dapat melihat informasi tentang slot replikasi logis.
Parameter manajemen file WAL
Deskripsi
Slot Name
Nama slot replikasi logis.
Slot Type
Tipe slot replikasi logis. Hanya mendukung
logical.Use Plug-in
Secara default, PolarDB for PostgreSQL mendukung plugin berikut:
decoderbufsdecoder_rawwal2jsonpgoutput
Temporary Slot
Menentukan apakah slot replikasi adalah slot sementara. Slot sementara adalah jenis slot khusus yang hanya ada selama sesi saat ini, dan secara otomatis dihapus setelah sesi berakhir.
true: Slot adalah slot sementara.false: Slot adalah slot permanen.
Database Name
Database tempat slot replikasi logis berada.
Accumulated WAL Files
Jumlah log WAL yang terakumulasi akibat slot replikasi logis. Satuan: MB.
Logical Subscription Latency
Keterlambatan antara penerbit dan pelanggan untuk slot replikasi logis saat ini. Satuan: detik.
Apakah Aktif
Menunjukkan apakah slot replikasi logis sedang digunakan.
INACTIVE
ACTIVE
(Opsional) Jika bidang Whether Active dari slot replikasi logis adalah INACTIVE, file WAL akan terus menumpuk. Tangani masalah ini sesegera mungkin menggunakan salah satu metode berikut:
Aktifkan slot untuk mengubah statusnya menjadi ACTIVE.
Jika slot ini tidak lagi diperlukan atau bersifat redundan, hapus menggunakan pernyataan
SELECT pg_drop_replication_slot('slot_name');.
(Opsional) Buat slot replikasi logis
Buat publikasi di database penerbit.
CREATE PUBLICATION <Nama Publikasi> FOR TABLE <Nama Tabel>;Contoh:
CREATE PUBLICATION pub1 FOR TABLE public.t1;CatatanUntuk melihat publikasi yang ada di kluster, jalankan pernyataan
SELECT * FROM pg_publication;.Buat langganan di database pelanggan. Dalam contoh ini, penerbit dan pelanggan adalah database berbeda dalam kluster yang sama.
Gunakan akun istimewa untuk membuat slot replikasi logis di database penerbit.
SELECT pg_create_logical_replication_slot('', 'pgoutput');Di database pelanggan, buat tabel dengan skema dan nama yang sama seperti tabel yang ingin direplikasi dari database penerbit.
Buat langganan logis di database pelanggan.
CREATE SUBSCRIPTION my_subscription CONNECTION 'channel_name=localhost dbname=<Database Penerbit> user=<Akun Istimewa> password=<Kata Sandi>' PUBLICATION pub1 WITH (create_slot=false,slot_name=);PentingSaat database penerbit dan pelanggan berada dalam kluster yang sama, Anda harus menambahkan
WITH (create_slot=false)untuk menginstruksikan pelanggan agar tidak membuat slot replikasi baru dan sebaliknya menggunakan yang sudah ada.