

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
<a name="AuroraPostgreSQL.QPM.Plancapturereplicas"></a>

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.

**Topics**
+ [

## Prasyarat
](#AuroraPostgreSQL.QPM.Plancapturereplicas.Prereq)
+ [

## Mengelola pengambilan rencana untuk Replika Aurora
](#AuroraPostgreSQL.QPM.Plancapturereplicas.managing)
+ [

## Pemecahan Masalah
](#AuroraPostgreSQL.QPM.Plancapturereplicas.Troubleshooting)

## Prasyarat
<a name="AuroraPostgreSQL.QPM.Plancapturereplicas.Prereq"></a>

**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\$1plan\$1mgmt.capture\$1plan\$1baselines](AuroraPostgreSQL.Optimize.Parameters.md#AuroraPostgreSQL.Optimize.Parameters.capture_plan_baselines).

**Instal ekstensi postgres\$1fdw** - 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
<a name="AuroraPostgreSQL.QPM.Plancapturereplicas.managing"></a>

**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](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.Roles.html).

Untuk mengambil rencana, panggil fungsi apg\$1plan\$1mgmt.create\$1replica\$1plan\$1capture 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\$1endpoint 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](aurora-global-database-connecting.md#viewing-endpoints)

  Untuk informasi selengkapnya tentang titik akhir klaster, lihat[Titik akhir cluster untuk Amazon Aurora](Aurora.Endpoints.Cluster.md).
+ 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\$1plan\$1mgmt.create\$1replica\$1plan\$1capture () lagi untuk mengaktifkan pengambilan rencana di Aurora Replicas dengan titik akhir dan kata sandi.

## Pemecahan Masalah
<a name="AuroraPostgreSQL.QPM.Plancapturereplicas.Troubleshooting"></a>

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\$1replica\$1plan\$1capture() 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\$1plan\$1mgmt.reload() setelah memanggil apg\$1plan\$1mgmt.delete\$1plan() 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\$1replica\$1plan\$1capture() sesuai pedoman yang disebutkan. Jika tidak, Anda akan menerima pesan kesalahan. Untuk informasi selengkapnya, lihat [Mengelola pengambilan rencana untuk Replika Aurora](#AuroraPostgreSQL.QPM.Plancapturereplicas.managing). 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](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-connecting.html#viewing-endpoints). Instans penulis dan Replika lintas Wilayah harus dapat berkomunikasi menggunakan Peering VPC. Untuk informasi selengkapnya, lihat [Peering VPC](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html). 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.