Aplikasi basis data saya menjalankan banyak kueri yang berbeda. Saya telah menetapkan log_min_duration_statement
ke 1000. Tapi query login tidak selalu lambat, kebanyakan kali mereka hanya membutuhkan beberapa ms.
Apakah mungkin untuk mendapatkan statistik dari semua pertanyaan, dan seberapa sering mereka membutuhkan waktu lebih dari 1000 ms?
postgresql
performance
pengguna2047809
sumber
sumber
Jawaban:
Instal ekstensi pg_stat_statements dengan perintah SQL
CREATE EXTENSION pg_stat_statements
Anda mungkin ingin memastikan bahwa Anda membuat ini dengan menggunakan pengguna yang sesuai (seperti pengguna yang digunakan aplikasi Anda atau beberapa akun dba). Ketahuilah bahwa pengguna mana pun yang membuat ekstensi juga akan memilikinya.
Ini akan membutuhkan server restart agar dapat digunakan (karena Anda harus mengubah konfigurasi di postgresql.conf sedikit yang mempengaruhi konsumsi memori), tetapi itu akan memberi Anda statistik pada semua pertanyaan.
Silakan lihat halaman dokumentasi untuk informasi lebih lanjut tentang apa yang pg_stat_statements sediakan. Lihat di sini untuk referensi cepat tentang konfigurasi file konfigurasi postgresql.conf untuk pg_stat_statements.
Setelah Anda menginstal dan menjalankannya, Anda dapat melihat statistik dengan menanyakan tampilan pg_stat_statements ..
sumber
Bagaimana @JoishiBodio mengatakan Anda dapat menggunakan
pg_stat_statements
ekstensi untuk melihat statistik kueri lambat. Bagi mereka yang berjuang dengan instalasi (seperti yang saya lakukan):Periksa apakah
pg_stat_statements
ada dalam daftar ekstensi yang tersedia:Coba instal
postgresql-contrib
paket melalui manajer paket sistem Anda, di Debian / Ubuntu:Kemudian lakukan langkah 1 lagi.
pg_stat_statements
keshared_preload_libraries
dalam konfigurasi PostgreSQL:melalui
postgres.conf
:via argumen baris perintah (tanpa tanda kutip!):
Kemudian buat ekstensi dalam database:
sumber