Mengambil rencana eksekusi Aurora PostgreSQL di Replika - Amazon Aurora

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengambil rencana eksekusi Aurora PostgreSQL di Replika

QPM (Query Plan Management) memungkinkan Anda mengambil rencana kueri yang dihasilkan oleh Replika Aurora dan menyimpannya di instans DB primer dari klaster Aurora DB. Anda dapat mengumpulkan rencana kueri dari semua Replika Aurora, dan memelihara serangkaian rencana optimal dalam tabel persisten terpusat pada instans primer. Anda kemudian dapat menerapkan rencana ini pada Replika lain jika diperlukan. Ini membantu Anda menjaga stabilitas rencana eksekusi dan meningkatkan performa kueri di seluruh klaster DB dan versi mesin.

Prasyarat

Aktifkan capture_plan_baselines parameter di Replika Aurora - Atur parameter capture_plan_baselines ke otomatis atau manual untuk mengambil rencana di Replika Aurora. Untuk informasi selengkapnya, lihat apg_plan_mgmt.capture_plan_baselines.

Instal ekstensi postgres_fdw - Anda harus menginstal ekstensi wrapper data asing postgres_fdw untuk mengambil rencana di Replika Aurora. Jalankan perintah berikut di setiap basis data untuk menginstal ekstensi ini.

postgres=> CREATE EXTENSION IF NOT EXISTS postgres_fdw;

Mengelola pengambilan rencana untuk Replika Aurora

Aktifkan pengambilan rencana untuk Replika Aurora

Anda harus memiliki hak akses rds_superuser untuk membuat atau menghapus Pengambilan Rencana di Replika Aurora. Untuk informasi selengkapnya tentang peran dan izin pengguna, lihat Memahami peran dan izin PostgreSQL.

Untuk mengambil rencana, panggil fungsi apg_plan_mgmt.create_replica_plan_capture dalam instans DB penulis, seperti yang ditunjukkan berikut ini:

postgres=> CALL apg_plan_mgmt.create_replica_plan_capture('endpoint', 'password');
  • endpoint - Titik akhir penulis Aurora Global Database atau cluster_endpoint menyediakan dukungan failover untuk Plan Capture di Aurora Replicas.

    Untuk informasi lebih lanjut tentang titik akhir penulis Aurora Global Database, lihat. Melihat titik akhir database global Amazon Aurora

    Untuk informasi selengkapnya tentang titik akhir klaster, lihatTitik akhir cluster untuk Amazon Aurora.

  • password - Kami menyarankan Anda untuk mengikuti panduan di bawah ini saat membuat kata sandi untuk meningkatkan keamanan:

    • Kata sandi harus berisi setidaknya 8 karakter.

    • Kata sandi harus berisi setidaknya satu huruf besar, satu huruf kecil, dan satu angka.

    • Kata sandi harus memiliki setidaknya satu karakter khusus (?, !, #, <, >, *, dan sebagainya).

catatan

Jika Anda mengubah titik akhir, kata sandi, atau nomor port, Anda harus menjalankan apg_plan_mgmt.create_replica_plan_capture() lagi dengan titik akhir dan kata sandi untuk menginisialisasi ulang pengambilan paket. Jika tidak, pengambilan rencana dari Replika Aurora akan gagal.

Nonaktifkan pengambilan rencana untuk Replika Aurora

Anda dapat menonaktifkan parameter capture_plan_baselines di Replika Aurora dengan menetapkan nilainya ke off dalam grup Parameter.

Hapus pengambilan rencana untuk Replika Aurora

Anda dapat sepenuhnya menghapus Pengambilan Rencana di Replika Aurora tetapi pastikan untuk menonaktifkannya terlebih dahulu. Untuk menghapus pengambilan rencana, panggil apg_plan_mgmt.remove_replica_plan_capture seperti yang ditunjukkan berikut:

postgres=> CALL apg_plan_mgmt.remove_replica_plan_capture();

Anda harus memanggil apg_plan_mgmt.create_replica_plan_capture () lagi untuk mengaktifkan pengambilan rencana di Aurora Replicas dengan titik akhir dan kata sandi.

Pemecahan Masalah

Di bagian berikut ini, Anda dapat menemukan ide dan solusi pemecahan masalah jika rencana tidak diambil di Replika Aurora seperti yang diharapkan.

  • Pengaturan parameter - Periksa apakah parameter capture_plan_baselines diatur ke nilai yang tepat untuk mengaktifkan pengambilan rencana.

  • Ekstensi postgres_fdw diinstal - Gunakan kueri berikut untuk memeriksa apakah postgres_fdw diinstal.

    postgres=> SELECT * FROM pg_extension WHERE extname = 'postgres_fdw'
  • create_replica_plan_capture() dipanggil - Gunakan perintah berikut untuk memeriksa apakah pemetaan pengguna sudah ada. Jika tidak, panggil create_replica_plan_capture() untuk menginisialisasi fitur ini.

    postgres=> SELECT * FROM pg_foreign_server WHERE srvname = 'apg_plan_mgmt_writer_foreign_server';
  • Endpoint dan nomor port - Periksa apakah titik akhir dan nomor port sesuai. Tidak akan ada pesan kesalahan yang ditampilkan jika nilai-nilai ini salah.

    Gunakan perintah berikut untuk memverifikasi titik akhir yang digunakan dalam create() dan untuk memeriksa di basis data mana titik akhir tersebut berada:

    postgres=> SELECT srvoptions FROM pg_foreign_server WHERE srvname = 'apg_plan_mgmt_writer_foreign_server';
  • reload() - Anda harus memanggil apg_plan_mgmt.reload() setelah memanggil apg_plan_mgmt.delete_plan() di Replika Aurora untuk membuat fungsi penghapusan efektif. Hal ini akan memastikan bahwa perubahan telah berhasil diterapkan.

  • Kata sandi - Anda harus memasukkan kata sandi di create_replica_plan_capture() sesuai pedoman yang disebutkan. Jika tidak, Anda akan menerima pesan kesalahan. Untuk informasi selengkapnya, lihat Mengelola pengambilan rencana untuk Replika Aurora. Gunakan kata sandi lain yang sesuai dengan persyaratan.

  • Koneksi Lintas Wilayah - Pengambilan rencana di Replika Aurora juga didukung di basis data global Aurora, yang memungkinkan instans penulis dan Replika Aurora berada di wilayah yang berbeda. Pastikan Anda menggunakan titik akhir penulis Aurora Global Database untuk mempertahankan konektivitas setelah peristiwa failover atau switchover. Untuk informasi selengkapnya tentang titik akhir Basis Data Global Aurora, lihat Melihat titik akhir Database Global Amazon Aurora. Instans penulis dan Replika lintas Wilayah harus dapat berkomunikasi menggunakan Peering VPC. Untuk informasi selengkapnya, lihat Peering VPC. Jika failover lintas Wilayah terjadi, Anda harus mengonfigurasi ulang titik akhir ke titik akhir klaster DB primer yang baru.

    catatan

    Saat menggunakan titik akhir cluster alih-alih titik akhir penulis Aurora Global Database, Anda harus memperbarui titik akhir cluster setelah melakukan operasi failover atau switchover global.