All Products
Search
Document Center

ApsaraDB RDS:Konfigurasikan file postgresql.conf

Last Updated:Mar 28, 2026

Sebelum melakukan migrasi instans PostgreSQL yang dikelola sendiri ke ApsaraDB RDS for PostgreSQL, Anda harus mengonfigurasi dua parameter dalam file postgresql.conf: listen_addresses agar instans RDS dapat terhubung selama migrasi, serta parameter retensi WAL (wal_keep_segments atau wal_keep_size) untuk mencegah catatan write-ahead logging (WAL) dihapus sebelum replikasi selesai.

Contoh dalam topik ini menggunakan PostgreSQL 13 pada CentOS 7. Sesuaikan nomor versi dalam path file dan perintah dengan lingkungan Anda.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Instans PostgreSQL yang dikelola sendiri yang di-deploy pada instans Elastic Compute Service (ECS) atau di pusat data

  • Akses ke pengguna postgres dan pengguna root pada host

Langkah 1: Periksa nilai parameter saat ini

Hubungkan ke instans PostgreSQL yang dikelola sendiri dan jalankan perintah berikut untuk memeriksa nilai saat ini.

ParameterBerlaku untukPerintahNilai yang diperlukan
listen_addressesSemua versiSHOW listen_addresses;*
wal_keep_segmentsPostgreSQL 10, 11, 12SHOW wal_keep_segments;4096 atau lebih besar
wal_keep_sizePostgreSQL 13 dan versi setelahnyaSHOW wal_keep_size;65536 MB atau lebih besar

Fungsi parameter ini:

  • listen_addresses: Menentukan alamat IP yang diterima oleh instans untuk koneksi. Mengaturnya ke * memungkinkan instans RDS terhubung selama migrasi.

  • wal_keep_segments / wal_keep_size: Mengontrol jumlah data WAL yang disimpan di direktori pg_wal. Jika nilainya terlalu rendah, catatan WAL akan dihapus setelah cadangan penuh, sehingga mengganggu replikasi dan memaksa Anda untuk memulai ulang pencadangan dari awal.

Kedua parameter listen_addresses dan parameter retensi WAL merupakan parameter statis yang hanya berlaku setelah layanan di-restart sepenuhnya. Jika ada nilai yang tidak memenuhi persyaratan, lakukan Langkah 2 hingga 5 untuk menghentikan layanan, memperbarui file, lalu menjalankannya kembali.

Jika semua nilai sudah memenuhi persyaratan, lanjutkan ke Buat akun untuk migrasi cloud pada instans PostgreSQL yang dikelola sendiri.

Langkah 2: Hentikan layanan database PostgreSQL

Hanya pengguna postgres yang dapat menjalankan perintah pg_ctl. Jalankan su - postgres untuk beralih ke pengguna postgres.
/usr/pgsql-13/bin/pg_ctl stop -m fast

Langkah 3: Temukan file postgresql.conf

Hanya pengguna root yang dapat menjalankan perintah find. Jalankan su - root untuk beralih ke pengguna root.
find / -name postgresql.conf

Output menampilkan path file, contohnya:

/var/lib/pgsql/13/data/postgresql.conf

Langkah 4: Edit file postgresql.conf

Navigasi ke direktori tersebut dan buka file tersebut.

cd /var/lib/pgsql/13/data/
vim postgresql.conf

Atur parameter ke nilai yang diperlukan. Parameter ini mungkin dikomentari secara default — hapus tanda # di awal setiap baris setelah diedit.

listen_addresses = '*'

# PostgreSQL 10, 11, atau 12:
wal_keep_segments = 4096

# PostgreSQL 13 dan versi setelahnya:
wal_keep_size = 65536

Tekan Esc, lalu masukkan :wq untuk menyimpan dan keluar.

Langkah 5: Jalankan layanan database PostgreSQL

Hanya pengguna postgres yang dapat menjalankan perintah pg_ctl. Jalankan su - postgres untuk beralih ke pengguna postgres.
/usr/pgsql-13/bin/pg_ctl start

Langkah selanjutnya

Buat akun untuk migrasi cloud pada instans PostgreSQL yang dikelola sendiri