POSTGRESQL VERİTABANI MONITORING
Postgresql servisinin ayaktamı olup/olmadığının kontrol için,
ps -ef | grep postgres
RAM / CPU durumunun kontrolu için;
top
Disk durumu
Veritabanına kaç bağlantı var, transaction miktarları, toplam diske yazma, toplam cache’ten okuma, eklenen silinen vs satır sayısı nedir gibi soruların cevabi için;
SELECT * FROM pg_stat_database;
Fakat bu tablonun olması için ;
Postgresql9.6-contrib paketini yukledikten sonra ,
psql ile veritabanına bağlanarak aşağıdaki extensionu oluşturmak gerekmektedir.
create extension pg_stat_statements;
Uzun süren sorgular
SELECT total_time,query FROM pg_stat_database;
Tablo ve index erişim istatistikleri
Pg_stat_user_indexes;
Pg_stat_activity;
Mevcut sorgular ne zamandır çalışıyor?
SELECT pid,datname,usename,
now() – query_start AS runtime,
state,query FROM pg_stat_activity;
Bir sorguyu durdurmak için:
select pg_cancel_backend(<sürecin pidi>)
Normal durmuyorsa öldürmek için:
select pg_terminate_backend(<sürecin pidi>)
Kilitlenen nesneleri görmek için:
SELECT * FROM pg_locks;
Bir veritabanının boyutunu görme:
SELECT pg_size_pretty(pg_database_size(‘database_name’));
yada
psql ile bağlandıktan sonra
l+ komutuda tüm veritabanlarının boyutlarını gösterir.
Bir tablonun boyutunu görme:
psql ile bağlandıktan sonra;
\c database_name
SELECT pg_size_pretty( pg_total_relation_size(‘tablo_name’));