

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

# 
<a name="USER_LogAccess.Concepts.PostgreSQL"></a>

Anda dapat memantau jenis file log berikut:
+ Log PostgreSQL
+ Log peningkatan
+ Log kesalahan otentikasi basis data IAM
**catatan**  
Untuk mengaktifkan log kesalahan otentikasi database IAM, Anda harus terlebih dahulu mengaktifkan otentikasi database IAM untuk Aurora Anda. Untuk informasi selengkapnya tentang mengaktifkan autentikasi database IAM, lihat. [Mengaktifkan dan menonaktifkan autentikasi basis data IAM](UsingWithRDS.IAMDBAuth.Enabling.md)

RDS for PostgreSQL mencatat aktivitas basis data ke file log PostgreSQL default. Untuk instans DB PostgreSQL on-premise, pesan ini disimpan secara titik waktu di `log/postgresql.log`. Untuk instans DB RDS for PostgreSQL, file log tersedia di instans Amazon RDS. Log ini juga dapat diakses melalui Konsol Manajemen AWS, di mana Anda dapat melihat atau mengunduhnya. Tingkat pencatatan log default menangkap kegagalan masuk, kesalahan server fatal, kebuntuan, dan kegagalan kueri.

Untuk mengetahui informasi selengkapnya tentang cara menampilkan, mengunduh, dan melihat log basis data berbasis file, lihat [Memantau file RDS Amazon](USER_LogAccess.md). Untuk mempelajari selengkapnya tentang log PostgreSQL, lihat [Menggunakan log Amazon RDS dan Aurora PostgreSQL: Bagian 1](https://aws.amazon.com/blogs/database/working-with-rds-and-aurora-postgresql-logs-part-1/) dan [Menggunakan log Amazon RDS dan Aurora PostgreSQL: Bagian 2](https://aws.amazon.com/blogs/database/working-with-rds-and-aurora-postgresql-logs-part-2/). 

Selain log PostgreSQL standar yang dibahas dalam topik ini, RDS for PostgreSQL juga mendukung ekstensi PostgreSQL Audit (`pgAudit`). Sebagian besar industri dan lembaga pemerintah yang teregulasi perlu mempertahankan log audit atau jejak audit perubahan yang dibuat pada data untuk memenuhi persyaratan hukum. Untuk mengetahui informasi tentang cara menginstal dan menggunakan pgAudit, lihat [Menggunakan pgAudit untuk mencatat aktivitas database](Appendix.PostgreSQL.CommonDBATasks.pgaudit.md).

**Topics**
+ [Parameter untuk masuk](USER_LogAccess.Concepts.PostgreSQL.overview.parameter-groups.md)
+ [Mengaktifkan pencatatan kueri untuk](USER_LogAccess.Concepts.PostgreSQL.Query_Logging.md)
+ [Menerbitkan log PostgreSQL ke Amazon Logs CloudWatch](#USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs)

# Parameter untuk masuk
<a name="USER_LogAccess.Concepts.PostgreSQL.overview.parameter-groups"></a>

Anda dapat menyesuaikan perilaku pencatatan log untuk instans DB RDS for PostgreSQL dengan mengubah berbagai parameter. Dalam tabel berikut, Anda dapat menemukan parameter yang memengaruhi durasi penyimpanan log, waktu untuk memutar log, dan apakah akan menampilkan log sebagai format CSV (nilai yang dipisahkan koma). Anda juga dapat menemukan output teks yang dikirim ke STDERR, di antara pengaturan lainnya. Untuk mengubah pengaturan parameter yang dapat diubah, gunakan grup parameter DB kustom untuk Instans RDS for PostgreSQL. Untuk mengetahui informasi selengkapnya, lihat [Grup parameter DB untuk instans Amazon RDS Aurora DB](USER_WorkingWithDBInstanceParamGroups.md).


| Parameter | Default | Deskripsi | 
| --- | --- | --- | 
| log\$1destination | stderr | Menetapkan format output untuk log. Default-nya adalah `stderr`, tetapi Anda juga dapat menentukan nilai dipisahkan koma (CSV) dengan menambahkan `csvlog` ke pengaturan. Untuk informasi selengkapnya, lihat [Mengatur tujuan log (`stderr`, `csvlog`)](#USER_LogAccess.Concepts.PostgreSQL.Log_Format).  | 
| log\$1filename |  postgresql.log.%Y-%m-%d-%H  | Menentukan pola untuk nama file log. Selain default, parameter ini mendukung `postgresql.log.%Y-%m-%d` dan `postgresql.log.%Y-%m-%d-%H%M` untuk pola nama file.  | 
| log\$1line\$1prefix | %t:%r:%u@%d:[%p]: | Mendefinisikan awalan untuk setiap baris log yang akan ditulis ke `stderr`, untuk mencatat waktu (%t), host jarak jauh (%r), pengguna (%u), basis data (%d), dan ID proses (%p). | 
| log\$1rotation\$1age | 60 | Menit setelah file log dirotasi secara otomatis. Anda dapat mengubah nilai ini dalam kisaran 1 dan 1440 menit. Untuk informasi selengkapnya, lihat [Mengatur rotasi file log](#USER_LogAccess.Concepts.PostgreSQL.log_rotation).  | 
| log\$1rotation\$1size | – | Ukuran (kB) tempat log dirotasi secara otomatis. Secara default, parameter ini tidak digunakan karena log diputar berdasarkan `log_rotation_age` parameter. Untuk mempelajari selengkapnya, lihat [Mengatur rotasi file log](#USER_LogAccess.Concepts.PostgreSQL.log_rotation). | 
| rds.log\$1retention\$1period | 4320 | Log PostgreSQL yang lebih lama dari jumlah menit yang ditentukan dihapus. Nilai default 4320 menit menghapus file log setelah 3 hari. Untuk informasi selengkapnya, lihat [Mengatur periode retensi log](#USER_LogAccess.Concepts.PostgreSQL.log_retention_period). | 

Untuk mengidentifikasi masalah aplikasi, Anda dapat mencari kegagalan kueri, kegagalan masuk, kebuntuan, dan kesalahan server fatal di log. Misalnya, anggaplah Anda mengonversi aplikasi lama dari Oracle ke Amazon RDS PostgreSQL, tetapi tidak semua kueri dikonversi dengan benar. Kueri yang salah format ini menghasilkan pesan kesalahan yang dapat Anda temukan di log untuk membantu mengidentifikasi masalah. Untuk mengetahui informasi selengkapnya tentang pencatatan log kueri, lihat [Mengaktifkan pencatatan kueri untuk ](USER_LogAccess.Concepts.PostgreSQL.Query_Logging.md). 

Dalam topik berikut, Anda dapat menemukan informasi tentang cara mengatur berbagai parameter yang mengontrol detail dasar untuk log PostgreSQL Anda. 

**Topics**
+ [Mengatur periode retensi log](#USER_LogAccess.Concepts.PostgreSQL.log_retention_period)
+ [Mengatur rotasi file log](#USER_LogAccess.Concepts.PostgreSQL.log_rotation)
+ [Mengatur tujuan log (`stderr`, `csvlog`)](#USER_LogAccess.Concepts.PostgreSQL.Log_Format)
+ [Memahami parameter log\$1line\$1prefix](#USER_LogAccess.Concepts.PostgreSQL.Log_Format.log-line-prefix)

## Mengatur periode retensi log
<a name="USER_LogAccess.Concepts.PostgreSQL.log_retention_period"></a>

Parameter `rds.log_retention_period` menentukan berapa lama instans DB RDS for PostgreSQL menyimpan file log-nya. Pengaturan default-nya adalah 3 hari (4.320 menit), tetapi Anda dapat mengatur nilai ini ke mana saja dari 1 hari (1.440 menit) hingga 7 hari (10.080 menit). Pastikan bahwa instans DB RDS for PostgreSQL Anda memiliki penyimpanan yang cukup untuk menyimpan file log selama periode waktu tertentu.

Kami menyarankan agar log Anda dipublikasikan secara rutin ke Amazon CloudWatch Logs sehingga Anda dapat melihat dan menganalisis data sistem lama setelah log dihapus dari cluster DB Aurora Anda. Instans DB RDS for PostgreSQL. Untuk mengetahui informasi selengkapnya, lihat [Menerbitkan log PostgreSQL ke Amazon Logs CloudWatch](USER_LogAccess.Concepts.PostgreSQL.md#USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs).  . 

## Mengatur rotasi file log
<a name="USER_LogAccess.Concepts.PostgreSQL.log_rotation"></a>

Amazon RDS membuat file log baru setiap jam secara default. Waktu dikontrol oleh parameter `log_rotation_age`. Parameter ini memiliki nilai default 60 (menit), tetapi Anda dapat mengaturnya ke mana saja dari 1 menit hingga 24 jam (1.440 menit). Ketika tiba waktunya rotasi, file log baru yang berbeda akan dibuat. File ini diberi nama sesuai dengan pola yang ditentukan oleh parameter `log_filename`. 

File log juga dapat dirotasi sesuai dengan ukurannya, seperti yang ditentukan dalam parameter `log_rotation_size`. Parameter ini menentukan bahwa log harus dirotasi saat mencapai ukuran yang ditentukan (dalam kilobyte). Untuk instans DB RDS for PostgreSQL, `log_rotation_size` tidak diatur, yaitu tidak ada nilai yang ditentukan. Namun, Anda dapat mengatur parameter dari 0-2097151 kB (kilobyte).  

Nama file log didasarkan pada pola nama file yang ditentukan dalam parameter `log_filename`. Pengaturan yang tersedia untuk parameter ini adalah sebagai berikut:
+ `postgresql.log.%Y-%m-%d` – Format default untuk nama file log. Termasuk tahun, bulan, dan tanggal dalam nama file log.
+ `postgresql.log.%Y-%m-%d-%H` – Termasuk jam dalam format nama file log.

Untuk mengetahui informasi selengkapnya, lihat [https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-ROTATION-AGE](https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-ROTATION-AGE) dan [https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-ROTATION-SIZE](https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-ROTATION-SIZE) dalam dokumentasi PostgreSQL.

## Mengatur tujuan log (`stderr`, `csvlog`)
<a name="USER_LogAccess.Concepts.PostgreSQL.Log_Format"></a>

Secara default, Amazon RDS PostgreSQL menghasilkan log dalam format kesalahan standar (stderr). Format ini adalah pengaturan default untuk parameter `log_destination`. Setiap pesan diawali menggunakan pola yang ditentukan dalam parameter `log_line_prefix`. Untuk mengetahui informasi selengkapnya, lihat [Memahami parameter log\$1line\$1prefix](#USER_LogAccess.Concepts.PostgreSQL.Log_Format.log-line-prefix). 

RDS for PostgreSQL juga dapat menghasilkan log dalam format `csvlog`. `csvlog` berguna untuk menganalisis data log sebagai data nilai yang dipisahkan koma (CSV). Misalnya, anggaplah Anda menggunakan ekstensi `log_fdw` untuk bekerja dengan log Anda sebagai tabel asing. Tabel asing yang dibuat pada file log `stderr` berisi satu kolom dengan data peristiwa log. Dengan menambahkan `csvlog` ke parameter `log_destination`, Anda mendapatkan file log dalam format CSV dengan demarkasi untuk beberapa kolom tabel asing. Anda kini dapat mengurutkan dan menganalisis log dengan lebih mudah. Untuk mempelajari cara menggunakan `log_fdw` dengan `csvlog`, lihat [Menggunakan ekstensi log\$1fdw untuk mengakses log DB dengan SQL](CHAP_PostgreSQL.Extensions.log_fdw.md).

Jika Anda menentukan `csvlog` untuk parameter ini, perhatikan bahwa file `stderr` dan `csvlog` dihasilkan. Pastikan untuk memantau penyimpanan yang digunakan oleh log, dengan mempertimbangkan `rds.log_retention_period` dan pengaturan lain yang memengaruhi penyimpanan log dan omset. Menggunakan `stderr` dan `csvlog` lebih dari dua kali lipat penyimpanan yang digunakan oleh log.

Jika Anda menambahkan `csvlog` ke `log_destination` dan ingin kembali ke `stderr` sendiri, Anda perlu mengatur ulang parameter. Untuk melakukannya, buka Konsol Amazon RDS, lalu buka grup parameter DB untuk instans Anda. Pilih parameter `log_destination`, pilih **Edit parameter**, lalu pilih **Atur ulang**. 

Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi pencatatan log, lihat [Menggunakan log Amazon RDS dan Aurora PostgreSQL: Bagian 1](https://aws.amazon.com/blogs/database/working-with-rds-and-aurora-postgresql-logs-part-1/).

## Memahami parameter log\$1line\$1prefix
<a name="USER_LogAccess.Concepts.PostgreSQL.Log_Format.log-line-prefix"></a>

Format `stderr` log awalan setiap pesan log dengan rincian yang ditentukan oleh parameter. `log_line_prefix` Nilai defaultnya adalah:

```
%t:%r:%u@%d:[%p]:t
```

Mulai dari Aurora PostgreSQL versi 16, Anda juga dapat memilih:

```
%m:%r:%u@%d:[%p]:%l:%e:%s:%v:%x:%c:%q%a
```

Setiap entri log yang dikirim ke stderr mencakup informasi berikut berdasarkan nilai yang dipilih:
+ `%t`— Waktu entri log tanpa milidetik
+ `%m`— Waktu entri log dengan milidetik
+  `%r` – Alamat host jarak jauh
+  `%u@%d` – Nama pengguna @ nama basis data
+  `[%p]` – ID Proses jika tersedia
+  `%l`— Nomor baris log per sesi 
+  `%e`— Kode kesalahan SQL 
+  `%s`— Stempel waktu mulai proses 
+  `%v`— Id transaksi virtual 
+  `%x`— ID Transaksi 
+  `%c`— ID Sesi 
+  `%q`— Terminator non-sesi 
+  `%a`— Nama aplikasi 

# Mengaktifkan pencatatan kueri untuk
<a name="USER_LogAccess.Concepts.PostgreSQL.Query_Logging"></a>

Anda dapat mengumpulkan informasi yang lebih mendetail tentang aktivitas basis data, termasuk kueri, kueri yang menunggu kunci, titik pemeriksaan, dan banyak detail lainnya dengan mengatur beberapa parameter yang tercantum dalam tabel berikut. Topik ini berfokus pada kueri pencatatan log.


| Parameter | Default | Deskripsi | 
| --- | --- | --- | 
| log\$1connections | – | Mencatat log setiap koneksi yang berhasil.  | 
| log\$1disconnections | – | Mencatat log akhir setiap sesi dan durasinya.  | 
| log\$1checkpoints | 1  | Log setiap pos pemeriksaan.  | 
| log\$1lock\$1waits | – | Mencatat log waktu tunggu kunci yang panjang. Secara default, parameter ini tidak diatur. | 
| log\$1min\$1duration\$1sample | – | (md) Menetapkan waktu eksekusi minimum yang jika terlampaui akan membuat sampel pernyataan dicatat. Ukuran sampel diatur menggunakan parameter log\$1statement\$1sample\$1rate. | 
| log\$1min\$1duration\$1statement | – | Setiap pernyataan SQL yang berjalan setidaknya selama periode waktu tertentu atau lebih lama akan dicatat. Secara default, parameter ini tidak diatur. Mengaktifkan parameter ini dapat membantu Anda menemukan kueri yang belum dioptimalkan. | 
| log\$1statement | – | Mengatur jenis pernyataan yang dicatat. Secara default, parameter ini tidak diatur, tetapi Anda dapat mengubahnya ke `all`, `ddl`, atau `mod` untuk menentukan jenis pernyataan SQL yang ingin Anda catat. Jika menentukan apa pun selain `none` untuk parameter ini, Anda juga harus mengambil langkah-langkah tambahan untuk mencegah eksposur kata sandi dalam file log. Untuk informasi selengkapnya, lihat [Mengurangi risiko eksposur kata sandi saat menggunakan pencatatan log kueriMengurangi risiko eksposur kata sandi](#USER_LogAccess.Concepts.PostgreSQL.Query_Logging.mitigate-risk).  | 
| log\$1statement\$1sample\$1rate | – | Persentase pernyataan melebihi waktu yang ditentukan dalam `log_min_duration_sample` untuk dicatat, yang dinyatakan sebagai nilai titik mengambang antara 0,0 dan 1,0.  | 
| log\$1statement\$1stats | – | Menulis statistik performa kumulatif ke log server. | 

## Menggunakan pencatatan log untuk menemukan kueri performa lambat
<a name="USER_LogAccess.Concepts.PostgreSQL.Query_Logging.using"></a>

Anda dapat mencatat pernyataan dan kueri SQL untuk membantu menemukan kueri performa lambat. Anda mengaktifkan kemampuan ini dengan memodifikasi pengaturan di `log_statement` dan parameter `log_min_duration` seperti yang diuraikan dalam bagian ini. Sebelum mengaktifkan pencatatan log kueri untuk instans DB RDS for PostgreSQL, Anda harus mengetahui kemungkinan eksposur kata sandi di dalam log dan cara mengurangi risiko ini. Untuk informasi selengkapnya, lihat [Mengurangi risiko eksposur kata sandi saat menggunakan pencatatan log kueriMengurangi risiko eksposur kata sandi](#USER_LogAccess.Concepts.PostgreSQL.Query_Logging.mitigate-risk). 

Berikut ini, Anda dapat menemukan informasi referensi tentang parameter `log_statement` dan `log_min_duration`.log\$1statement

Parameter ini menentukan jenis pernyataan SQL yang harus dikirim ke log. Nilai default-nya adalah `none`. Jika Anda mengubah parameter ini ke `all`, `ddl`, atau `mod`, pastikan untuk menerapkan tindakan yang disarankan untuk mengurangi risiko eksposur kata sandi di dalam log. Untuk informasi selengkapnya, lihat [Mengurangi risiko eksposur kata sandi saat menggunakan pencatatan log kueriMengurangi risiko eksposur kata sandi](#USER_LogAccess.Concepts.PostgreSQL.Query_Logging.mitigate-risk). 

**all**  
Mencatat log semua pernyataan. Pengaturan ini direkomendasikan untuk tujuan debugging.

**ddl**  
Mencatat log semua pernyataan bahasa definisi data (DDL), seperti CREATE, ALTER, DROP, dan seterusnya.

**mod**  
Mencatat log semua pernyataan DDL dan pernyataan bahasa manipulasi data (DL), seperti INSERT, UPDATE, dan DELETE, yang mengubah data.

**none**  
Tidak ada pernyataan SQL yang dicatat. Kami merekomendasikan pengaturan ini untuk menghindari risiko eksposur kata sandi di dalam log.log\$1min\$1duration\$1statement

Setiap pernyataan SQL yang berjalan setidaknya selama periode waktu tertentu atau lebih lama akan dicatat. Secara default, parameter ini tidak diatur. Mengaktifkan parameter ini dapat membantu Anda menemukan kueri yang belum dioptimalkan.

**–1–2147483647**  
Jumlah milidetik (md) runtime di mana pernyataan dicatat.

**Untuk menyiapkan pencatatan log kueri**

Langkah-langkah ini mengasumsikan bahwa Instans DB RDS for PostgreSQL menggunakan grup parameter DB kustom. 

1. Atur parameter `log_statement` ke `all`. Contoh berikut ini menunjukkan informasi yang ditulis ke file `postgresql.log` dengan pengaturan parameter ini.

   ```
   2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:LOG: statement: SELECT feedback, s.sentiment,s.confidence
   FROM support,aws_comprehend.detect_sentiment(feedback, 'en') s
   ORDER BY s.confidence DESC;
   2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:LOG: QUERY STATISTICS
   2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:DETAIL: ! system usage stats:
   ! 0.017355 s user, 0.000000 s system, 0.168593 s elapsed
   ! [0.025146 s user, 0.000000 s system total]
   ! 36644 kB max resident size
   ! 0/8 [0/8] filesystem blocks in/out
   ! 0/733 [0/1364] page faults/reclaims, 0 [0] swaps
   ! 0 [0] signals rcvd, 0/0 [0/0] messages rcvd/sent
   ! 19/0 [27/0] voluntary/involuntary context switches
   2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:STATEMENT: SELECT feedback, s.sentiment,s.confidence
   FROM support,aws_comprehend.detect_sentiment(feedback, 'en') s
   ORDER BY s.confidence DESC;
   2022-10-05 22:05:56 UTC:52.95.4.1(11335):postgres@labdb:[3639]:ERROR: syntax error at or near "ORDER" at character 1
   2022-10-05 22:05:56 UTC:52.95.4.1(11335):postgres@labdb:[3639]:STATEMENT: ORDER BY s.confidence DESC;
   ----------------------- END OF LOG ----------------------
   ```

1. Atur parameter `log_min_duration_statement`. Contoh berikut ini menunjukkan informasi yang ditulis ke file `postgresql.log` saat pengaturan parameter ini diatur ke `1`.

   Kueri yang melebihi durasi yang ditentukan dalam parameter `log_min_duration_statement` dicatat. Bagian berikut menunjukkan satu contoh. Anda dapat melihat file log untuk instans DB RDS for PostgreSQL di Konsol Amazon RDS. 

   ```
   2022-10-05 19:05:19 UTC:52.95.4.1(6461):postgres@labdb:[6144]:LOG: statement: DROP table comments;
   2022-10-05 19:05:19 UTC:52.95.4.1(6461):postgres@labdb:[6144]:LOG: duration: 167.754 ms
   2022-10-05 19:08:07 UTC::@:[355]:LOG: checkpoint starting: time
   2022-10-05 19:08:08 UTC::@:[355]:LOG: checkpoint complete: wrote 11 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=1.013 s, sync=0.006 s, total=1.033 s; sync files=8, longest=0.004 s, average=0.001 s; distance=131028 kB, estimate=131028 kB
   ----------------------- END OF LOG ----------------------
   ```

### Mengurangi risiko eksposur kata sandi saat menggunakan pencatatan log kueri
<a name="USER_LogAccess.Concepts.PostgreSQL.Query_Logging.mitigate-risk"></a>

Sebaiknya Anda tetap mengatur `log_statement` ke `none` agar tidak mengekspos kata sandi. Jika Anda mengatur `log_statement` ke `all`, `ddl`, atau `mod`, sebaiknya Anda mengambil satu atau beberapa langkah berikut.
+ Untuk klien, enkripsi informasi sensitif. Untuk mengetahui informasi selengkapnya, lihat [Opsi Enkripsi](https://www.postgresql.org/docs/current/encryption-options.html) dalam dokumentasi PostgreSQL. Gunakan opsi `ENCRYPTED` (dan `UNENCRYPTED`) dari pernyataan `CREATE` dan `ALTER`. Untuk mengetahui informasi selengkapnya, lihat [CREATE USER](https://www.postgresql.org/docs/current/sql-createuser.html) dalam dokumentasi PostgreSQL.
+ Untuk instans DB RDS for PostgreSQL, siapkan dan gunakan ekstensi PostgreSQL Audit (pgAaudit). Ekstensi ini menyunting informasi sensitif dalam pernyataan CREATE dan ALTER yang dikirim ke log. Untuk informasi selengkapnya, lihat [Menggunakan pgAudit untuk mencatat aktivitas database](Appendix.PostgreSQL.CommonDBATasks.pgaudit.md). 
+ Batasi akses ke CloudWatch log.
+ Gunakan mekanisme autentikasi yang lebih kuat seperti IAM.

## Menerbitkan log PostgreSQL ke Amazon Logs CloudWatch
<a name="USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs"></a>

Untuk menyimpan catatan log PostgreSQL Anda dalam penyimpanan yang sangat tahan lama, Anda dapat menggunakan Amazon Logs. CloudWatch Dengan CloudWatch Log, Anda juga dapat melakukan analisis real-time data log dan digunakan CloudWatch untuk melihat metrik dan membuat alarm. Misalnya, jika Anda mengatur `log_statement` ke `ddl`, Anda dapat menyiapkan alarm untuk memperingatkan Anda setiap kali pernyataan DDL dijalankan. Anda dapat memilih agar log PostgreSQL Anda diunggah ke Log selama proses pembuatan RDS CloudWatch untuk instance PostgreSQL DB. Jika memilih untuk tidak mengunggah log pada saat itu, Anda nantinya dapat mengubah instans untuk mulai mengunggah log sejak saat itu. Dengan kata lain, log yang ada tidak diunggah. Hanya log baru yang diunggah saat dibuat pada instans DB RDS for PostgreSQL Anda yang dimodifikasi.

Semua RDS yang tersedia saat ini untuk versi PostgreSQL mendukung penerbitan file log ke Log. CloudWatch Untuk mengetahui informasi selengkapnya, lihat [Pembaruan Amazon RDS for PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-versions.html) di *Catatan Rilis Amazon RDS for PostgreSQL*. 

Untuk bekerja dengan CloudWatch Log, konfigurasikan RDS Anda untuk instans PostgreSQL DB untuk mempublikasikan data log ke grup log.

Anda dapat mempublikasikan jenis log berikut ke CloudWatch Log untuk RDS untuk PostgreSQL: 
+ Log PostgreSQL
+ Log peningkatan 
+ Log kesalahan otentikasi basis data IAM

Setelah Anda menyelesaikan konfigurasi, Amazon RDS menerbitkan peristiwa log untuk mencatat aliran dalam grup log. CloudWatch Sebagai contoh, data log PostgreSQL disimpan dalam grup log `/aws/rds/instance/my_instance/postgresql`. Untuk melihat log Anda, buka CloudWatch konsol di [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

### Konsol
<a name="USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs.CON"></a>

**Untuk mempublikasikan log PostgreSQL ke Log menggunakan konsol CloudWatch**

1. Buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Basis data**.

1. Pilih instans DB yang ingin diubah, lalu pilih **Ubah**.

1. Di bagian **Log ekspor**, pilih log yang ingin Anda mulai terbitkan ke CloudWatch Log.

   Bagian **ekspor Log** hanya tersedia untuk versi PostgreSQL yang mendukung penerbitan ke Log. CloudWatch 

1. Pilih **Lanjutkan**, lalu pilih **Ubah Instans DB** di halaman ringkasan.

### AWS CLI
<a name="USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs.CLI"></a>

Anda dapat mempublikasikan log PostgreSQL dengan file. AWS CLI Anda dapat memanggil perintah [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) dengan parameter berikut.
+ `--db-instance-identifier`
+ `--cloudwatch-logs-export-configuration`

**catatan**  
Perubahan pada opsi `--cloudwatch-logs-export-configuration` selalu diterapkan ke instans DB secara langsung. Oleh karena itu, opsi `--apply-immediately` dan `--no-apply-immediately` tidak akan berpengaruh.

Anda juga dapat menerbitkan log PostgreSQL dengan memanggil perintah CLI berikut:
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)

Jalankan salah satu perintah CLI ini dengan opsi berikut: 
+ `--db-instance-identifier`
+ `--enable-cloudwatch-logs-exports`
+ `--db-instance-class`
+ `--engine`

Opsi lain mungkin diperlukan bergantung pada perintah CLI yang Anda jalankan.

**Example Memodifikasi instance untuk mempublikasikan log ke CloudWatch Log**  
Contoh berikut memodifikasi instance PostgreSQL DB yang ada untuk mempublikasikan file log ke Log. CloudWatch Nilai `--cloudwatch-logs-export-configuration` adalah objek JSON. Kunci untuk objek ini adalah `EnableLogTypes`, dan nilainya adalah serangkaian string dengan kombinasi `postgresql` dan `upgrade` apa pun.  
Untuk Linux, macOS, atau Unix:  

```
1. aws rds modify-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["postgresql", "upgrade"]}'
```
Untuk Windows:  

```
1. aws rds modify-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["postgresql","upgrade"]}'
```

**Example Buat instance untuk mempublikasikan log ke CloudWatch Log**  
Contoh berikut membuat instance PostgreSQL DB dan menerbitkan file log ke Log. CloudWatch Nilai `--enable-cloudwatch-logs-exports` adalah rangkaian string JSON. String dapat berupa kombinasi `postgresql` dan `upgrade` apa pun.  
Untuk Linux, macOS, atau Unix:  

```
1. aws rds create-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --enable-cloudwatch-logs-exports '["postgresql","upgrade"]' \
4.     --db-instance-class db.m4.large \
5.     --engine postgres
```
Untuk Windows:  

```
1. aws rds create-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --enable-cloudwatch-logs-exports '["postgresql","upgrade"]' ^
4.     --db-instance-class db.m4.large ^
5.     --engine postgres
```

### RDS API
<a name="USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs.API"></a>

Anda dapat menerbitkan log PostgreSQL dengan RDS API. Anda dapat memanggil tindakan [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) dengan parameter berikut: 
+ `DBInstanceIdentifier`
+ `CloudwatchLogsExportConfiguration`

**catatan**  
Perubahan pada parameter `CloudwatchLogsExportConfiguration` selalu diterapkan ke instans DB secara langsung. Oleh karena itu, parameter `ApplyImmediately` tidak memiliki dampak.

Anda juga dapat menerbitkan log PostgreSQL dengan memanggil operasi RDS API berikut: 
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html)

Jalankan salah satu operasi RDS API ini dengan parameter berikut: 
+ `DBInstanceIdentifier`
+ `EnableCloudwatchLogsExports`
+ `Engine`
+ `DBInstanceClass`

Parameter lain mungkin diperlukan bergantung pada operasi yang Anda jalankan.

 