ApsaraDB RDS for PostgreSQL memungkinkan Anda menggunakan fitur migrasi cloud untuk memindahkan data dari instans PostgreSQL yang dikelola sendiri di Elastic Compute Service (ECS) atau pusat data ke instans ApsaraDB RDS for PostgreSQL. Topik ini menjelaskan cara mengonfigurasi file postgresql.conf pada instans PostgreSQL yang dikelola sendiri.
Prosedur
Dalam topik ini, instans PostgreSQL yang dikelola sendiri dan instans RDS menjalankan PostgreSQL 13 di CentOS 7.
Hubungkan ke instance PostgreSQL yang dikelola sendiri, lalu periksa nilai parameter listen_addresses serta nilai parameter wal_keep_segments atau wal_keep_size.
Parameter
Deskripsi
Perintah
Nilai yang Diharapkan
listen_addresses
Menentukan apakah instans PostgreSQL yang dikelola sendiri mendukung koneksi jarak jauh.
SHOW listen_addresses;*wal_keep_segments
Menentukan jumlah minimum file log yang dapat disimpan dalam direktori pg_wal. Kami menyarankan Anda menetapkan parameter ini ke nilai yang lebih besar dari atau sama dengan 4.096. Jika nilai parameter ini kurang dari 4.096, catatan write-ahead logging (WAL) dari instans PostgreSQL yang dikelola sendiri akan dihapus setelah pencadangan penuh. Dalam hal ini, Anda harus mencadangkan instans PostgreSQL yang dikelola sendiri lagi.
CatatanParameter ini cocok untuk instans PostgreSQL yang dikelola sendiri yang menjalankan PostgreSQL 10, PostgreSQL 11, atau PostgreSQL 12.
SHOW wal_keep_segments;4096wal_keep_size
Menentukan ukuran minimum file log yang dapat disimpan dalam direktori pg_wal. Kami menyarankan Anda menetapkan parameter ini ke nilai yang lebih besar dari atau sama dengan 65.536 MB. Jika nilai parameter ini kurang dari 65.536 MB, catatan WAL dari instans PostgreSQL yang dikelola sendiri akan dihapus setelah pencadangan penuh. Dalam hal ini, Anda harus mencadangkan instans PostgreSQL yang dikelola sendiri lagi.
CatatanParameter ini cocok untuk instans PostgreSQL yang dikelola sendiri yang menjalankan PostgreSQL 13 dan versi yang lebih baru.
SHOW wal_keep_size;65536Jika nilai-nilai parameter tersebut memenuhi kebutuhan bisnis Anda, tidak perlu mengonfigurasi file postgresql.conf. Dalam hal ini, buat akun yang digunakan untuk migrasi cloud. Untuk informasi lebih lanjut, lihat Buat akun untuk migrasi cloud pada instans PostgreSQL yang dikelola sendiri.
Jika nilai-nilai parameter tersebut tidak memenuhi kebutuhan bisnis Anda, lanjutkan ke Langkah 2.
Hentikan layanan basis data PostgreSQL.
CatatanHanya pengguna postgres yang memiliki izin untuk menjalankan perintah berikut. Anda dapat menjalankan perintah
su - postgresuntuk beralih ke pengguna postgres./usr/pgsql-13/bin/pg_ctl stop -m fastTemukan file postgresql.conf.
CatatanHanya pengguna root yang memiliki izin untuk menjalankan perintah berikut. Anda dapat menjalankan perintah
su - rootuntuk beralih ke pengguna root.find / -name postgresql.confContoh keluaran:
/var/lib/pgsql/13/data/postgresql.confBuka direktori tempat file postgresql.conf disimpan.
cd /var/lib/pgsql/13/data/Jalankan perintah
vim postgresql.confuntuk membuka file postgresql.conf. Kemudian, ubah nilai parameter listen_addresses dan parameter wal_keep_segments atau wal_keep_size dalam file tersebut.listen_addresses = '*' # Jika instans PostgreSQL yang dikelola sendiri menjalankan PostgreSQL 10, PostgreSQL 11, atau PostgreSQL 12, lakukan modifikasi berikut: wal_keep_segments = 4096 # Jika instans PostgreSQL yang dikelola sendiri menjalankan PostgreSQL 13 atau versi yang lebih baru, lakukan modifikasi berikut: wal_keep_size = 65536CatatanParameter-parameter sebelumnya mungkin dikomentari secara default. Setelah Anda mengubah nilai suatu parameter, Anda harus menghapus tanda pagar (
#) di awal baris tempat parameter tersebut berada.Tekan Ecs dan masukkan
:wquntuk menyimpan file postgresql.conf dan keluar.Mulai layanan basis data PostgreSQL.
CatatanHanya pengguna postgres yang memiliki izin untuk menjalankan perintah berikut. Anda dapat menjalankan perintah
su - postgresuntuk beralih ke pengguna postgres./usr/pgsql-13/bin/pg_ctl start
Apa yang Harus Dilakukan Selanjutnya
Buat akun untuk migrasi cloud pada instans PostgreSQL yang dikelola sendiri