Tugas DBA umum untuk Amazon RDS for PostgreSQL - Layanan Basis Data Relasional Amazon

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

Tugas DBA umum untuk Amazon RDS for PostgreSQL

Administrator basis data (DBA) melakukan berbagai tugas saat mengelola instans DB Amazon RDS for PostgreSQL. Jika Anda seorang DBA yang sudah terbiasa dengan PostgreSQL, Anda perlu menyadari beberapa perbedaan penting antara menjalankan PostgreSQL di perangkat keras Anda dan RDS for PostgreSQL. Misalnya, karena ini adalah layanan terkelola, Amazon RDS tidak mengizinkan akses shell ke instans DB Anda. Ini berarti Anda tidak memiliki akses langsung ke file pg_hba.conf dan file konfigurasi lainnya. Untuk RDS for PostgreSQL, perubahan yang biasanya dilakukan pada file konfigurasi PostgreSQL dari instans on-premise dibuat ke grup parameter DB kustom yang terkait dengan instans DB RDS for PostgreSQL. Untuk informasi selengkapnya, lihat Menggunakan grup parameter.

Anda juga tidak dapat mengakses file log dengan cara yang sama seperti yang Anda lakukan dengan instans PostgreSQL on-premise. Untuk mempelajari pencatatan selengkapnya, lihat File log basis data RDS for PostgreSQL.

Sebagai contoh lain, Anda tidak memiliki akses ke akun PostgreSQL superuser. Di RDS for PostgreSQL, peran rds_superuser merupakan peran yang paling istimewa, dan diberikan ke postgres pada saat penyiapan. Meskipun Anda telah terbiasa menggunakan PostgreSQL on-premise atau baru menggunakan RDS for PostgreSQL, sebaiknya Anda memahami peran rds_superuser, serta cara bekerja dengan peran, pengguna, grup, dan izin. Untuk informasi selengkapnya, lihat Memahami peran dan izin PostgreSQL.

Berikut ini adalah beberapa tugas DBA umum untuk RDS for PostgreSQL.

Bekerja dengan mekanisme pencatatan log yang didukung oleh RDS for PostgreSQL

Ada beberapa parameter, ekstensi, dan item lain yang dapat dikonfigurasi dan Anda atur untuk mencatat aktivitas yang terjadi di instans DB PostgreSQL. Sumber daya yang dimaksud meliputi:

  • Parameter log_statement dapat digunakan untuk mencatat aktivitas pengguna di basis data PostgreSQL. Untuk mempelajari pencatatan log RDS for PostgreSQL dan cara memantau log selengkapnya, lihat File log basis data RDS for PostgreSQL.

  • Parameter rds.force_admin_logging_level mencatat tindakan yang dilakukan oleh pengguna internal Amazon RDS (rdsadmin) di basis data instans DB. Parameter ini akan menulis output ke kesalahan log PostgreSQL. Nilai yang diizinkan adalah disabled, debug5, debug4, debug3, debug2, debug1, info, notice, warning, error, log, fatal, dan panic. Nilai default-nya adalah disabled.

  • Parameter rds.force_autovacuum_logging_level dapat diatur untuk mengambil berbagai operasi autovacuum di log kesalahan PostgreSQL. Untuk informasi selengkapnya, lihat Melakukan log aktivitas autovacuum dan vakum.

  • Ekstensi PostgreSQL Audit (pgAaudit) dapat diinstal dan dikonfigurasi untuk mengambil aktivitas di tingkat sesi atau di tingkat objek. Untuk informasi selengkapnya, lihat Menggunakan pgAudit untuk membuat log aktivitas basis data.

  • Dengan ekstensi log_fdw, Anda dapat mengakses log mesin basis data menggunakan SQL. Untuk informasi selengkapnya, lihat Menggunakan ekstensi log_fdw untuk mengakses log DB menggunakan SQL.

  • Pustaka pg_stat_statements ditentukan sebagai default untuk parameter shared_preload_libraries dalam RDS for PostgreSQL versi 10 dan yang lebih baru. Pustaka inilah yang dapat Anda gunakan untuk menganalisis kueri yang sedang berjalan. Pastikan pg_stat_statements diatur dalam grup parameter DB Anda. Untuk informasi cara memantau instans DB RDS for PostgreSQL menggunakan informasi yang disediakan pustaka ini selengkapnya, lihat Statistik SQL untuk RDS PostgreSQL.

  • Parameter log_hostname mengambil log nama host dari setiap koneksi klien. Untuk RDS for PostgreSQL versi 12 dan versi yang lebih baru, parameter ini diatur ke off secara default. Jika diaktifkan, pastikan Anda memantau waktu koneksi sesi. Ketika diaktifkan, layanan menggunakan permintaan pencarian terbalik sistem nama domain (DNS) untuk mendapatkan nama host klien yang membuat koneksi dan menambahkannya ke log PostgreSQL. Hal ini memberikan dampak nyata selama koneksi sesi. Sebaiknya mengaktifkan parameter ini hanya untuk memecahkan masalah.

Secara umum, tujuan pencatatan log adalah agar DBA dapat memantau, menyesuaikan performa, dan memecahkan masalah. Banyak log yang diunggah secara otomatis ke Amazon CloudWatch atau Performance Insights. Di sini, log diurutkan dan dikelompokkan agar dapat memberikan metrik lengkap untuk instans DB Anda. Untuk mempelajari pemantauan dan metrik Amazon RDS selengkapnya, lihat Memantau metrik dalam instans Amazon RDS.

Menggunakan pgBadger untuk analisis log dengan PostgreSQL

Anda dapat menggunakan penganalisis log seperti pgBadger untuk menganalisis log PostgreSQL. Dokumentasi pgBadger menyatakan bahwa pola %l (baris log untuk sesi atau proses) harus merupakan bagian dari awalan. Namun, jika Anda memberikan RDS log_line_prefix saat ini sebagai parameter pgBadger, laporan tetap akan dihasilkan.

Misalnya, perintah berikut memformat file log Amazon RDS for PostgreSQL tertanggal 04-02-2014 dengan benar menggunakan pgBadger.

./pgbadger -f stderr -p '%t:%r:%u@%d:[%p]:' postgresql.log.2014-02-04-00

Menggunakan PGSnapper untuk memantau PostgreSQL

Anda dapat menggunakan PGSnapper untuk membantu pengumpulan berkala statistik dan metrik terkait performa Amazon RDS for PostgreSQL. Untuk informasi selengkapnya, lihat Memantau performa Amazon RDS for PostgreSQL menggunakan PGSnapper.