

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

# Penerusan tulis lokal di Aurora PostgreSQL
<a name="aurora-postgresql-write-forwarding"></a>

 *Penerusan tulis lokal (dalam klaster)* memungkinkan aplikasi Anda mengeluarkan transaksi baca/tulis langsung pada Replika Aurora. Perintah tulis kemudian diteruskan ke instance DB penulis untuk dikomit. Anda dapat menggunakan penerusan tulis lokal untuk aplikasi Anda yang memiliki penulisan sesekali dan memerlukan *read-after-write konsistensi*, yang merupakan kemampuan untuk membaca tulisan terbaru dalam suatu transaksi. 

 Tanpa menulis penerusan, aplikasi Anda harus sepenuhnya membagi semua lalu lintas baca dan tulis, mempertahankan dua set koneksi database untuk mengirim lalu lintas ke titik akhir yang sesuai. Replika baca menerima pembaruan secara asinkron dari instance penulis. Selain itu, karena kelambatan replikasi dapat berbeda di antara replika baca, mencapai konsistensi baca global di semua replika sulit. Anda harus bertransaksi setiap pembacaan yang membutuhkan read-after-write konsistensi pada instance database penulis. Atau, Anda perlu mengembangkan logika aplikasi kustom yang kompleks untuk memanfaatkan beberapa replika baca untuk skalabilitas sambil memastikan konsistensi. 

 Dengan penerusan tulis, Anda menghindari kebutuhan untuk membagi transaksi tersebut atau mengirimkannya secara eksklusif ke instance penulis. Anda juga tidak perlu mengembangkan logika aplikasi yang kompleks untuk mencapai *read-after-write konsistensi* konsistensi. 

 Penerusan tulis lokal tersedia di setiap Wilayah di mana Aurora PostgreSQL tersedia. Ini didukung dalam versi Aurora PostgreSQL berikut: 
+ 16.4 dan versi 16 yang lebih tinggi
+ 15.8 dan versi 15 yang lebih tinggi
+ 14.13 dan versi 14 yang lebih tinggi

 Penerusan tulis lokal digunakan untuk meneruskan penulisan dari replika In-region. Untuk meneruskan penulisan dari replika global, lihat[Menggunakan penerusan menulis dalam basis data global Amazon Aurora](aurora-global-database-write-forwarding.md). 

**Topics**
+ [Keterbatasan dan pertimbangan penerusan tulis lokal di Aurora PostgreSQL](aurora-postgresql-write-forwarding-limitations.md)
+ [Mengkonfigurasi Aurora SQL Postgre untuk penerusan tulis Lokal](aurora-postgresql-write-forwarding-configuring.md)
+ [Bekerja dengan penerusan tulis lokal untuk Aurora PostgreSQL](aurora-postgresql-write-forwarding-understanding.md)
+ [Memantau penerusan tulis lokal di Aurora PostgreSQL](aurora-postgresql-write-forwarding-monitoring.md)

# Keterbatasan dan pertimbangan penerusan tulis lokal di Aurora PostgreSQL
<a name="aurora-postgresql-write-forwarding-limitations"></a>

 Batasan berikut saat ini berlaku untuk penerusan tulis lokal di Aurora PostgreSQL: 
+  Penerusan tulis lokal tidak didukung dengan RDS Proxy. 
+  Pernyataan tertentu tidak diizinkan atau dapat menghasilkan hasil basi saat Anda menggunakannya di Aurora PostgreSQL dengan penerusan tulis. Selain itu, fungsi yang ditentukan pengguna dan prosedur yang ditentukan pengguna tidak didukung. Dengan demikian, `EnableLocalWriteForwarding` pengaturan dimatikan secara default untuk cluster DB. Sebelum mengaktifkan pengaturan tersebut, periksa untuk memastikan bahwa kode aplikasi Anda tidak terpengaruh oleh pembatasan ini. 
+  Jenis pernyataan SQL berikut ini tidak didukung dengan penerusan tulis: 
**catatan**  
Pernyataan ini dapat digunakan secara implisit oleh Anda dalam aplikasi Anda atau disimpulkan oleh protokol PostgreSQL. Misalnya, penanganan pengecualian PL/SQL dapat mengakibatkan penggunaan SAVEPOINT, yang bukan merupakan pernyataan yang didukung.
  +  `ANALYZE` 
  +  `CLUSTER` 
  +  `COPY` 
  + Kursor - Kursor tidak didukung, jadi pastikan untuk menutupnya sebelum menggunakan penerusan tulis lokal.
  +  Pernyataan bahasa definisi data (DDL) 
  +  `GRANT`\$1`REVOKE`\$1`REASSIGN OWNED`\$1`SECURITY LABEL`
  +  `LISTEN / NOTIFY` 
  +  `LOCK` 
  +  `SAVEPOINT` 
  +  `SELECT INTO` 
  +  `SET CONSTRAINTS` 
  +  Pembaruan urutan:`nextval()`, `setval()` 
  +  `TRUNCATE` 
  +  Perintah komit dua fase:`PREPARE TRANSACTION`,, `COMMIT PREPARED` `ROLLBACK PREPARED` 
  + Fungsi yang ditentukan pengguna dan prosedur yang ditentukan pengguna.
  +  `VACUUM` 

 Anda dapat mempertimbangkan untuk menggunakan pernyataan SQL berikut dengan menulis penerusan: 
+ Pernyataan DML mungkin terdiri atas beberapa bagian, seperti pernyataan `INSERT ... SELECT` atau pernyataan `DELETE ... WHERE`. Dalam kasus ini, seluruh pernyataan diteruskan ke instans DB tulis dan berjalan di sana.
+ Pernyataan bahasa manipulasi data (DML), seperti `INSERT`, `DELETE`, dan `UPDATE`.
+  `EXPLAIN`pernyataan dengan pernyataan dalam daftar ini.
+  Pernyataan `PREPARE` dan `EXECUTE`.
+  `SELECT FOR { UPDATE | NO KEY UPDATE | SHARE | KEY SHARE }`pernyataan.

# Mengkonfigurasi Aurora SQL Postgre untuk penerusan tulis Lokal
<a name="aurora-postgresql-write-forwarding-configuring"></a>

 Dengan menggunakan bagian berikut, Anda dapat mengaktifkan penerusan tulis lokal untuk klaster DB Amazon Aurora SQL Postgre Anda, mengonfigurasi tingkat konsistensi, dan mengelola transaksi dengan penerusan tulis. 

## Mengaktifkan penerusan tulis lokal
<a name="aurora-postgresql-write-forwarding-enabling"></a>

 Secara default, penerusan tulis lokal tidak diaktifkan untuk klaster DB Aurora Postgre. SQL Anda mengaktifkan penerusan tulis lokal pada tingkat klaster, bukan pada tingkat instans. 

### Konsol
<a name="aurora-postgresql-write-forwarding-enabling.CON"></a>

 Menggunakan Konsol Manajemen AWS, pilih kotak centang **Aktifkan penerusan tulis lokal di** bawah **Baca replika tulis penerusan** saat Anda membuat atau memodifikasi cluster DB. 

### AWS CLI
<a name="aurora-postgresql-write-forwarding-enabling.CLI"></a>

 Untuk mengaktifkan penerusan tulis lokal dengan AWS CLI, gunakan opsi. `--enable-local-write-forwarding` Opsi ini berfungsi saat Anda membuat klaster DB baru menggunakan perintah `create-db-cluster`. Opsi ini juga berfungsi saat Anda memodifikasi klaster DB yang ada dengan menggunakan perintah `modify-db-cluster`. Anda dapat menonaktifkan penerusan tulis lokal dengan menggunakan `--no-enable-local-write-forwarding` opsi dengan perintah yang sama CLI ini. 

 Contoh berikut membuat cluster Aurora Postgre SQL DB dengan penerusan tulis lokal diaktifkan. 

```
                        aws rds create-db-cluster \
                        --db-cluster-identifier write-forwarding-test-cluster \
                        --enable-local-write-forwarding \
                        --engine aurora-postgresql \
                        --engine-version 16.4 \
                        --master-username myuser \
                        --master-user-password mypassword \
                        --backup-retention 1
```

 Anda kemudian membuat instans DB penulis dan pembaca sehingga Anda dapat menggunakan penerusan tulis. Untuk informasi selengkapnya, lihat [Membuat klaster DB Amazon Aurora](Aurora.CreateInstance.md).

### RDS API
<a name="aurora-postgresql-write-forwarding-enabling.API"></a>

 Untuk mengaktifkan penerusan tulis lokal menggunakan Amazon RDSAPI, setel `EnableLocalWriteForwarding` parameter ke. `true` Parameter ini berfungsi saat Anda membuat klaster DB baru menggunakan operasi `CreateDBCluster`. Opsi ini juga berfungsi saat Anda memodifikasi klaster DB yang ada dengan menggunakan operasi `ModifyDBCluster`. Anda dapat menonaktifkan penerusan tulis lokal dengan mengatur `EnableLocalWriteForwarding` parameter ke. `false` 

### Mengaktifkan penerusan penulisan lokal untuk sesi database
<a name="aurora-postgresql-write-forwarding-enabling-session"></a>

 Parameter `apg_write_forward.consistency_mode` adalah parameter DB dan parameter klaster DB yang memungkinkan penerusan tulis. Anda dapat menentukan`SESSION`,`EVENTUAL`,`GLOBAL`, atau `OFF` untuk tingkat konsistensi baca. Untuk mempelajari selengkapnya tentang tingkat konsistensi, lihat [Konsistensi dan isolasi untuk penerusan tulis lokal di Aurora Postgre SQL](#aurora-postgresql-write-forwarding-isolation). 

 Aturan berikut berlaku untuk parameter ini: 
+ Nilai default-nya adalah `SESSION`.
+  Penerusan tulis lokal hanya tersedia jika Anda menyetel `apg_write_forward.consistency_mode` ke`EVENTUAL`,`SESSION`, atau. `GLOBAL` Parameter ini hanya relevan dalam instance pembaca cluster DB yang mengaktifkan penerusan tulis lokal. 
+ Menyetel nilai untuk `OFF` menonaktifkan penerusan tulis lokal dalam sesi. 

## Konsistensi dan isolasi untuk penerusan tulis lokal di Aurora Postgre SQL
<a name="aurora-postgresql-write-forwarding-isolation"></a>

Anda dapat mengontrol tingkat konsistensi baca pada replika baca. Anda dapat menyesuaikan tingkat konsistensi baca untuk memastikan bahwa semua operasi penulisan yang diteruskan dari sesi Anda terlihat di replika baca sebelum kueri berikutnya. Anda juga dapat menggunakan pengaturan ini untuk memastikan bahwa kueri pada replika baca selalu melihat pembaruan terbaru dari instans DB penulis. Hal ini bahkan berlaku untuk yang dikirimkan oleh sesi lain atau klaster lainnya. Untuk menentukan jenis perilaku ini untuk aplikasi Anda, Anda memilih nilai yang sesuai untuk parameter tingkat sesi `apg_write_forward.consistency_mode`. `apg_write_forward.consistency_mode`Parameter hanya berpengaruh pada replika baca yang mengaktifkan penerusan tulis lokal.

**catatan**  
Untuk parameter `apg_write_forward.consistency_mode`, Anda dapat menentukan nilai `SESSION`, `EVENTUAL`, `GLOBAL`, atau `OFF`. Secara default, nilainya diatur ke `SESSION`. Mengatur nilai untuk `OFF` menonaktifkan penerusan tulis.

Saat Anda meningkatkan tingkat konsistensi, aplikasi Anda menghabiskan lebih banyak waktu menunggu perubahan disebarkan untuk membaca replika. Anda dapat memilih keseimbangan antara latensi yang lebih rendah dan memastikan bahwa perubahan yang dibuat di lokasi lain sepenuhnya tersedia sebelum kueri dijalankan.

Dengan setiap pengaturan mode konsistensi yang tersedia, efeknya adalah sebagai berikut:
+ `SESSION`— Sesi pada replika baca yang menggunakan penerusan tulis lokal melihat hasil dari semua perubahan yang dibuat dalam sesi itu. Perubahan dapat dilihat terlepas dari apakah transaksi dilakukan. Jika perlu, kueri menunggu hasil operasi penulisan yang diteruskan untuk direplikasi ke instance DB pembaca saat ini. Itu tidak menunggu hasil yang diperbarui dari operasi penulisan yang dilakukan di sesi lain dalam cluster DB saat ini. 
+ `EVENTUAL`— Sesi pada replika baca yang menggunakan penerusan tulis lokal mungkin melihat data yang sedikit basi karena kelambatan replikasi. Hasil operasi penulisan dalam sesi yang sama tidak terlihat sampai operasi penulisan dilakukan pada instance DB penulis dan direplikasi ke replika baca. Kueri tidak menunggu hasil yang diperbarui untuk tersedia. Dengan demikian, kueri dapat mengambil data yang lebih lama atau data yang diperbarui, bergantung pada waktu pernyataan dan jumlah lag replikasi. 
+ `GLOBAL`— Sesi pada replika baca melihat perubahan yang dibuat oleh sesi itu. Ini juga melihat semua perubahan yang dilakukan dari instance DB penulis dan replika baca lainnya. Setiap kueri mungkin akan menunggu selama periode yang berbeda-beda tergantung jumlah lag sesi. Kueri berlanjut ketika replika baca up-to-date dengan semua data yang dikomit dari instance DB penulis, pada saat kueri dimulai. 
**catatan**  
Mode konsistensi global memengaruhi latensi kueri yang dijalankan dalam satu sesi. Ini akan melakukan menunggu bahkan ketika sesi belum mengirim kueri tulis apa pun.
+ `OFF`— Penerusan tulis lokal dinonaktifkan.

Dalam sesi yang menggunakan penerusan tulis, Anda dapat menggunakan tingkat isolasi `REPEATABLE READ` dan `READ COMMITTED`. Namun, tingkat isolasi `SERIALIZABLE` tidak didukung.

 Untuk informasi selengkapnya tentang semua parameter yang terlibat dalam penerusan tulis, lihat [Pengaturan parameter default untuk penerusan tulis](aurora-postgresql-write-forwarding-understanding.md#aurora-postgresql-write-forwarding-params).

## Mode akses transaksi dengan penerusan tulis
<a name="aurora-postgresql-write-forwarding-txns"></a>

Jika mode akses transaksi disetel ke hanya baca, penerusan tulis lokal tidak digunakan. Anda dapat mengatur mode akses untuk membaca tulis hanya saat Anda terhubung ke cluster DB dan sesi yang mengaktifkan penerusan tulis lokal.

Untuk informasi selengkapnya tentang mode akses transaksi, lihat [SETTRANSACTION](https://www.postgresql.org/docs/current/sql-set-transaction.html).

# Bekerja dengan penerusan tulis lokal untuk Aurora PostgreSQL
<a name="aurora-postgresql-write-forwarding-understanding"></a>

Dengan menggunakan bagian berikut, Anda dapat memeriksa apakah kluster database mengaktifkan penerusan tulis lokal, melihat pertimbangan kompatibilitas, dan melihat parameter yang dapat dikonfigurasi dan pengaturan otentikasi. Informasi ini melengkapi Anda dengan detail untuk memanfaatkan fitur penerusan tulis lokal di Aurora PostgreSQL secara efektif.

**catatan**  
Ketika instans penulis dalam sebuah klaster yang menggunakan penerusan tulis lokal dimulai ulang, transaksi dan kueri yang aktif dan diteruskan pada instans pembaca yang menggunakan penerusan tulis lokal akan ditutup secara otomatis. Setelah instans penulis tersedia lagi, Anda dapat mencoba kembali transaksi ini.

## Memeriksa apakah cluster DB mengaktifkan penerusan tulis lokal
<a name="aurora-postgresql-write-forwarding-describing"></a>

Untuk menentukan bahwa Anda dapat menggunakan penerusan penulisan lokal di cluster DB, konfirmasikan bahwa cluster memiliki atribut yang `LocalWriteForwardingStatus` disetel ke. `enabled`

Di Konsol Manajemen AWS, pada tab **Konfigurasi** halaman detail untuk klaster, Anda melihat status **Diaktifkan** untuk **penerusan tulis replika baca lokal**.

Untuk melihat status setelan penerusan tulis lokal untuk semua cluster Anda, jalankan perintah berikut. AWS CLI 

**Example**  

```
aws rds describe-db-clusters \
--query '*[].{DBClusterIdentifier:DBClusterIdentifier,LocalWriteForwardingStatus:LocalWriteForwardingStatus}'

[
{
"LocalWriteForwardingStatus": "enabled",
"DBClusterIdentifier": "write-forwarding-test-cluster-1"
},
{
"LocalWriteForwardingStatus": "disabled",
"DBClusterIdentifier": "write-forwarding-test-cluster-2"
},
{
"LocalWriteForwardingStatus": "requested",
"DBClusterIdentifier": "test-global-cluster-2"
},
{
"LocalWriteForwardingStatus": "null",
"DBClusterIdentifier": "aurora-postgresql-v2-cluster"
}
]
```

Sebuah klaster DB dapat memiliki nilai berikut untuk `LocalWriteForwardingStatus`:
+ `disabled`— Penerusan tulis lokal dinonaktifkan.
+ `disabling`— Penerusan tulis lokal sedang dalam proses dinonaktifkan.
+ `enabled`— Penerusan tulis lokal diaktifkan.
+ `enabling`— Penerusan tulis lokal sedang dalam proses diaktifkan.
+ `null`— Penerusan tulis lokal tidak tersedia untuk cluster DB ini.
+ `requested`— Penerusan tulis lokal telah diminta, tetapi belum aktif.

## Pengaturan parameter default untuk penerusan tulis
<a name="aurora-postgresql-write-forwarding-params"></a>

Grup parameter cluster Aurora menyertakan pengaturan untuk fitur penerusan tulis lokal. Karena ini adalah parameter klaster, semua instans DB di setiap klaster memiliki nilai yang sama untuk variabel ini. Detail tentang parameter ini dirangkum dalam tabel berikut, dengan catatan penggunaan setelah tabel.


| Parameter | Cakupan | Tipe | Nilai default | Nilai valid | 
| --- | --- | --- | --- | --- | 
| apg\$1write\$1forward.connect\$1timeout | Sesi | detik | 30 | 0–2147483647 | 
| apg\$1write\$1forward.consistency\$1mode | Sesi | enum | Sesi | SESSION, EVENTUAL, GLOBAL, dan OFF | 
| apg\$1write\$1forward.idle\$1in\$1transaction\$1session\$1timeout | Sesi | milidetik | 86400000 | 0–2147483647 | 
| apg\$1write\$1forward.idle\$1session\$1timeout | Sesi | milidetik | 300000 | 0–2147483647 | 
| apg\$1write\$1forward.max\$1forwarding\$1connections\$1percent | Global | int | 25 | 1–100 | 

Parameter `apg_write_forward.max_forwarding_connections_percent` adalah batas atas pada slot koneksi basis data yang dapat digunakan untuk menangani kueri yang diteruskan dari pembaca. Hal ini dinyatakan sebagai persentase dari `max_connections` pengaturan untuk instance DB penulis. Misalnya, jika `max_connections` adalah `800` dan `apg_write_forward.max_forwarding_connections_percent` adalah `10`, maka penulis mengizinkan maksimum 80 sesi yang diteruskan secara serentak. Koneksi ini berasal dari pool koneksi yang sama yang dikelola oleh pengaturan `max_connections`. Pengaturan ini hanya berlaku pada instance DB penulis ketika cluster mengaktifkan penerusan tulis lokal.

Gunakan pengaturan berikut untuk mengontrol permintaan penerusan tulis lokal:
+ `apg_write_forward.consistency_mode`— Parameter tingkat sesi yang mengontrol tingkat konsistensi baca pada replika baca. Nilai yang valid adalah `SESSION`, `EVENTUAL`, `GLOBAL`, atau `OFF`. Secara default, nilainya diatur ke `SESSION`. Menyetel nilai untuk `OFF` menonaktifkan penerusan tulis lokal dalam sesi. Untuk mempelajari selengkapnya tentang tingkat konsistensi, lihat [Konsistensi dan isolasi untuk penerusan tulis lokal di Aurora Postgre SQL](aurora-postgresql-write-forwarding-configuring.md#aurora-postgresql-write-forwarding-isolation). Parameter ini hanya relevan dalam instance pembaca yang mengaktifkan penerusan penulisan lokal.
+ `apg_write_forward.connect_timeout`— Jumlah maksimum detik replika baca menunggu saat membuat koneksi ke instans DB penulis sebelum menyerah. Nilai `0` berarti menunggu tanpa batas.
+ `apg_write_forward.idle_in_transaction_session_timeout`— Jumlah milidetik instans DB penulis menunggu aktivitas pada koneksi yang diteruskan dari replika baca yang memiliki transaksi terbuka sebelum menutupnya. Jika sesi tetap idle dalam transaksi setelah periode ini, Aurora akan mengakhiri sesi. Nilai `0` menonaktifkan batas waktu.
+ `apg_write_forward.idle_session_timeout`— Jumlah milidetik instance DB penulis menunggu aktivitas pada koneksi yang diteruskan dari replika baca sebelum menutupnya. Jika sesi tetap idle setelah periode ini, Aurora akan mengakhiri sesi. Nilai `0` menonaktifkan batas waktu.

## rdswriteforwarduser
<a name="aurora-postgresql-write-forwarding-rdswriteforwarduser"></a>

 `rdswriteforwarduser`Ini adalah pengguna yang akan kita gunakan untuk membuat koneksi antara replika baca dan instance DB penulis. 

**catatan**  
`rdswriteforwarduser`mewarisi hak istimewa CONNECT ke database pelanggan melalui peran PUBLIK. Jika hak istimewa untuk peran PUBLIK dicabut, Anda harus MEMBERIKAN hak istimewa CONNECT untuk database yang Anda butuhkan untuk meneruskan penulisan. 

# Memantau penerusan tulis lokal di Aurora PostgreSQL
<a name="aurora-postgresql-write-forwarding-monitoring"></a>

Dengan menggunakan bagian berikut, Anda dapat memantau penerusan penulisan lokal di klaster PostgreSQL Aurora, termasuk CloudWatch metrik yang relevan dan peristiwa tunggu untuk melacak kinerja dan mengidentifikasi potensi masalah.

## CloudWatch Metrik Amazon dan variabel status PostgreSQL Aurora untuk penerusan tulis
<a name="aurora-postgresql-write-forwarding-cloudwatch"></a>

 CloudWatch Metrik Amazon berikut berlaku untuk instans DB penulis saat Anda menggunakan penerusan tulis pada satu atau beberapa replika baca.


| CloudWatch Metrik | Unit dan deskripsi | 
| --- | --- | 
| `AuroraLocalForwardingWriterDMLThroughput`  | Hitungan (per detik). Jumlah pernyataan DML yang diteruskan yang diproses setiap detik oleh instans DB penulis ini. | 
|  `AuroraLocalForwardingWriterOpenSessions`  | Hitungan. Jumlah sesi terbuka pada instans DB penulis ini yang memproses kueri yang diteruskan. | 
|  `AuroraLocalForwardingWriterTotalSessions`  | Hitungan. Total jumlah sesi yang diteruskan pada instans DB penulis ini. | 

 CloudWatch Metrik berikut berlaku untuk setiap replika baca. Metrik ini diukur pada setiap instans DB pembaca di cluster DB dengan penerusan tulis lokal diaktifkan. 


| CloudWatch Metrik | Unit dan deskripsi | 
| --- | --- | 
|  `AuroraForwardingReplicaCommitThroughput` |  Hitungan (per detik). Jumlah commit dalam sesi yang diteruskan oleh replika ini setiap detik.  | 
|  `AuroraForwardingReplicaDMLLatency` |  Milidetik. Waktu respons rata-rata dalam milidetik diteruskan DMLs pada replika.  | 
|  `AuroraForwardingReplicaDMLThroughput` |  Hitungan (per detik). Jumlah pernyataan DML yang diteruskan yang diproses pada replika ini setiap detiknya.  | 
|  `AuroraForwardingReplicaErrorSessionsLimit` |  Hitungan. Jumlah sesi yang ditolak oleh instans DB penulis karena batas untuk koneksi maks atau koneksi maju tulis maks tercapai.  | 
|  `AuroraForwardingReplicaOpenSessions`  |  Hitungan. Jumlah sesi yang menggunakan penerusan tulis lokal pada instance replika.  | 
|  `AuroraForwardingReplicaReadWaitLatency` | Milidetik. Waktu tunggu rata-rata dalam milidetik yang ditunggu replika agar konsisten dengan LSN dari instance DB penulis. Batas tunggu instans DB pembaca ditentukan oleh pengaturan apg\$1write\$1forward.consistency\$1mode. Untuk informasi tentang pengaturan ini, lihat [Parameter konfigurasi untuk penerusan tulis di Aurora PostgreSQL](aurora-global-database-write-forwarding-apg.md#aurora-global-database-write-forwarding-params-apg).  | 

## Tunggu acara untuk penerusan tulis lokal di Aurora PostgreSQL
<a name="aurora-postgresql-write-forwarding-wait-events-apg"></a>

Amazon Aurora menghasilkan peristiwa tunggu berikut ini saat Anda menggunakan penerusan tulis dengan Aurora PostgreSQL.

**Topics**
+ [IPC: AuroraWriteForwardConnect](#apg-waits.ipcaurorawriteforwardconnect)
+ [IPC: AuroraWriteForwardConsistencyPoint](#apg-waits.ipcaurorawriteforwardconsistencypoint)
+ [IPC: AuroraWriteForwardExecute](#apg-waits.ipc:aurorawriteforwardexecute)
+ [IPC: AuroraWriteForwardGetGlobalConsistencyPoint](#apg-waits.ipc:aurorawriteforwardgetglobalconsistencypoint)
+ [IPC: AuroraWriteForwardXactAbort](#apg-waits.ipc:aurorawriteforwardxactabort)
+ [IPC: AuroraWriteForwardXactCommit](#apg-waits.ipc:aurorawriteforwardxactcommit)
+ [IPC: AuroraWriteForwardXactStart](#apg-waits.ipc:aurorawriteforwardxactstart)

### IPC: AuroraWriteForwardConnect
<a name="apg-waits.ipcaurorawriteforwardconnect"></a>

`IPC:AuroraWriteForwardConnect`Peristiwa terjadi ketika proses backend pada replika baca sedang menunggu koneksi ke instans DB penulis dibuka.

**Kemungkinan menyebabkan peningkatan waktu tunggu**

Peristiwa ini meningkat seiring dengan meningkatnya jumlah upaya koneksi dari replika baca ke node penulis.

**Tindakan**

Kurangi jumlah koneksi simultan dari replika baca ke node penulis.

### IPC: AuroraWriteForwardConsistencyPoint
<a name="apg-waits.ipcaurorawriteforwardconsistencypoint"></a>

`IPC:AuroraWriteForwardConsistencyPoint`Acara ini menjelaskan berapa lama kueri dari node pada replika baca akan menunggu hasil operasi penulisan yang diteruskan direplikasi ke Wilayah saat ini. Peristiwa ini hanya dihasilkan jika parameter tingkat sesi `apg_write_forward.consistency_mode` diatur ke salah satu dari berikut ini:
+ `SESSION`— kueri pada replika baca menunggu hasil dari semua perubahan yang dibuat dalam sesi itu.
+ `GLOBAL`— kueri pada replika baca menunggu hasil perubahan yang dibuat oleh sesi itu, ditambah semua perubahan yang dilakukan dari instance DB penulis dan replika baca.

Untuk informasi selengkapnya tentang pengaturan parameter `apg_write_forward.consistency_mode`, lihat [Parameter konfigurasi untuk penerusan tulis di Aurora PostgreSQL](aurora-global-database-write-forwarding-apg.md#aurora-global-database-write-forwarding-params-apg).

**Kemungkinan menyebabkan peningkatan waktu tunggu**

Penyebab umum untuk waktu tunggu yang lebih lama termasuk yang berikut:
+ Peningkatan lag replika, yang diukur dengan CloudWatch `ReplicaLag` metrik Amazon. Untuk informasi selengkapnya tentang metrik ini, lihat [Memantau replikasi Aurora PostgreSQL](AuroraPostgreSQL.Replication.md#AuroraPostgreSQL.Replication.Monitoring).
+ Peningkatan beban pada instance DB penulis atau replika baca.

**Tindakan**

Ubah mode konsistensi Anda, tergantung kebutuhan aplikasi Anda.

### IPC: AuroraWriteForwardExecute
<a name="apg-waits.ipc:aurorawriteforwardexecute"></a>

`IPC:AuroraWriteForwardExecute`Peristiwa terjadi ketika proses backend pada replika baca sedang menunggu kueri yang diteruskan untuk diselesaikan dan mendapatkan hasil dari node penulis cluster DB.

**Kemungkinan menyebabkan peningkatan waktu tunggu**

Penyebab umum peningkatan waktu tunggu antara lain:
+ Mengambil sejumlah besar baris dari node penulis.
+ Peningkatan latensi jaringan antara node penulis dan replika baca meningkatkan waktu yang dibutuhkan replika baca untuk menerima data dari node penulis.
+ Peningkatan beban pada replika baca dapat menunda transmisi permintaan kueri dari replika baca ke node penulis.
+ Peningkatan beban pada node penulis dapat menunda transmisi data dari node penulis ke replika baca.

**Tindakan**

Kami merekomendasikan tindakan yang berbeda-beda tergantung penyebab peristiwa tunggu Anda.
+ Optimalkan kueri untuk mengambil hanya data yang diperlukan.
+ Optimalkan operasi bahasa manipulasi data (DML) untuk hanya memodifikasi data yang diperlukan.
+ Jika replika baca atau node penulis dibatasi oleh CPU atau bandwidth jaringan, pertimbangkan untuk mengubahnya menjadi tipe instance dengan kapasitas CPU yang lebih besar atau lebih banyak bandwidth jaringan.

### IPC: AuroraWriteForwardGetGlobalConsistencyPoint
<a name="apg-waits.ipc:aurorawriteforwardgetglobalconsistencypoint"></a>

`IPC:AuroraWriteForwardGetGlobalConsistencyPoint`Peristiwa terjadi ketika proses backend pada replika baca yang menggunakan mode konsistensi GLOBAL menunggu untuk mendapatkan titik konsistensi global dari node penulis sebelum menjalankan kueri.

**Kemungkinan menyebabkan peningkatan waktu tunggu**

Penyebab umum peningkatan waktu tunggu antara lain:
+ Peningkatan latensi jaringan antara replika baca dan node penulis meningkatkan waktu yang dibutuhkan replika baca untuk menerima data dari node penulis.
+ Peningkatan beban pada replika baca dapat menunda transmisi permintaan kueri dari replika baca ke node penulis.
+ Peningkatan beban pada node penulis dapat menunda transmisi data dari node penulis ke replika baca.

**Tindakan**

Kami merekomendasikan tindakan yang berbeda-beda tergantung penyebab peristiwa tunggu Anda.
+ Ubah mode konsistensi Anda, tergantung kebutuhan aplikasi Anda.
+ Jika replika baca atau node penulis dibatasi oleh CPU atau bandwidth jaringan, pertimbangkan untuk mengubahnya menjadi tipe instance dengan kapasitas CPU yang lebih besar atau lebih banyak bandwidth jaringan.

### IPC: AuroraWriteForwardXactAbort
<a name="apg-waits.ipc:aurorawriteforwardxactabort"></a>

`IPC:AuroraWriteForwardXactAbort`Peristiwa terjadi ketika proses backend pada replika baca sedang menunggu hasil kueri pembersihan jarak jauh. Kueri pembersihan dikeluarkan untuk mengembalikan proses ke keadaan yang sesuai setelah transaksi dengan penerusan tulis dibatalkan. Amazon Aurora melakukannya karena ada kesalahan yang ditemukan atau karena pengguna mengeluarkan perintah `ABORT` eksplisit atau membatalkan kueri yang sedang berjalan.

**Kemungkinan menyebabkan peningkatan waktu tunggu**

Penyebab umum peningkatan waktu tunggu antara lain:
+ Peningkatan latensi jaringan antara replika baca dan node penulis meningkatkan waktu yang dibutuhkan replika baca untuk menerima data dari node penulis.
+ Peningkatan beban pada replika baca dapat menunda transmisi permintaan kueri pembersihan dari replika baca ke node penulis.
+ Peningkatan beban pada node penulis dapat menunda transmisi data dari node penulis ke replika baca.

**Tindakan**

Kami merekomendasikan tindakan yang berbeda-beda tergantung penyebab peristiwa tunggu Anda.
+ Selidiki penyebab transaksi yang dibatalkan.
+ Jika replika baca atau instans DB penulis dibatasi oleh CPU atau bandwidth jaringan, pertimbangkan untuk mengubahnya menjadi tipe instans dengan kapasitas CPU yang lebih besar atau lebih banyak bandwidth jaringan.

### IPC: AuroraWriteForwardXactCommit
<a name="apg-waits.ipc:aurorawriteforwardxactcommit"></a>

`IPC:AuroraWriteForwardXactCommit`Peristiwa ini terjadi ketika proses backend pada replika baca sedang menunggu hasil dari perintah transaksi komit yang diteruskan.

**Kemungkinan menyebabkan peningkatan waktu tunggu**

Penyebab umum peningkatan waktu tunggu antara lain:
+ Peningkatan latensi jaringan antara replika baca dan node penulis meningkatkan waktu yang dibutuhkan replika baca untuk menerima data dari node penulis.
+ Peningkatan beban pada replika baca dapat menunda transmisi permintaan kueri dari replika baca ke node penulis.
+ Peningkatan beban pada node penulis dapat menunda transmisi data dari node penulis ke replika baca.

**Tindakan**

Jika replika baca atau node penulis dibatasi oleh CPU atau bandwidth jaringan, pertimbangkan untuk mengubahnya menjadi tipe instance dengan kapasitas CPU yang lebih besar atau lebih banyak bandwidth jaringan.

### IPC: AuroraWriteForwardXactStart
<a name="apg-waits.ipc:aurorawriteforwardxactstart"></a>

`IPC:AuroraWriteForwardXactStart`Peristiwa ini terjadi ketika proses backend pada replika baca sedang menunggu hasil dari perintah transaksi awal yang diteruskan.

**Kemungkinan menyebabkan peningkatan waktu tunggu**

Penyebab umum peningkatan waktu tunggu antara lain:
+ Peningkatan latensi jaringan antara replika baca dan node penulis meningkatkan waktu yang dibutuhkan replika baca untuk menerima data dari node penulis.
+ Peningkatan beban pada replika baca dapat menunda transmisi permintaan kueri dari replika baca ke node penulis.
+ Peningkatan beban pada node penulis dapat menunda transmisi data dari node penulis ke replika baca.

**Tindakan**

Jika replika baca atau node penulis dibatasi oleh CPU atau bandwidth jaringan, pertimbangkan untuk mengubahnya menjadi tipe instance dengan kapasitas CPU yang lebih besar atau lebih banyak bandwidth jaringan.