">

Postgresql Veritabanı AWR Raporu

Postgresql Veritabanı AWR Raporu

 Merhaba,

Postgresql veritabanında AWR rapor alacağız.

Gerekli extensionu aşağıdaki linkten indirebiliriz.

https://github.com/zubkov-andrei/pg_profile

Aşağıdaki komut ile kurulumu yapılır.

  • make
  • make install

 

Eğer kurulum olmaz ise.

 

cp pg_profile* `pg_config --sharedir`/extension

Sonrasında psql ile bağlanıp sql dosyalarını aşağıdaki sıra ile çalıştırılır.

Psql ile bağlnıp i dosya_full_path ile çalıştırılır.

 

  • pg_profile--0.0.5.sql
  • pg_profile--0.0.1--0.0.2.sql
  • pg_profile--0.0.2--0.0.3.sql
  • pg_profile--0.0.3--0.0.4.sql
  • pg_profile--0.0.4--0.0.4a.sql
  • pg_profile--0.0.4a--0.0.5.sql
  • pg_profile--0.0.5--0.0.5a.sql
  • pg_profile--0.0.5a.sql
  • pg_profile--0.0.5a--0.0.6.sql
  • pg_profile--0.0.6.sql

 

 

Kurulumu bitirdik, aşağıdaki parametereler değiştirilir ve eklenir.

 

track_activities = on

track_counts = on

track_io_timing = on

track_functions = on

 

shared_preload_libraries = 'pg_stat_statements'

pg_stat_statements.max = 1000

pg_stat_statements.track = 'top'

pg_stat_statements.save = off

 

 

Postgresql database'inde public semasında oluşturmak için;

 

postgres=# CREATE EXTENSION dblink;

postgres=# CREATE EXTENSION pg_stat_statements;

postgres=# CREATE EXTENSION pg_profile;

 

 

Başka bir şemada oluşturmak için;

 

postgres=# CREATE EXTENSION dblink;

postgres=# CREATE EXTENSION pg_stat_statements;

postgres=# CREATE SCHEMA profile;

 

postgres=# CREATE EXTENSION pg_profile SCHEMA profile;

 

Aşağıdaki parametreler postgresql.conf dosyasına eklenir.

 

pg_profile.topn = 20

pg_profile.retention = 7

 

Postgresql veritabanı restart edilir.

 

Daha sonra postgres kullanıcısı ile crontab tanımlanır. Her 30 daikada bir snapshot alacak işlemdir.

 

*/30 * * * *   psql -c 'SELECT profile.snapshot()' > /dev/null 2>&1

 

İstenirse manuel olarak aşağıdaki sql ile snapshop oluşturulabilir.

 

$ psql -c 'SELECT profile.snapshot()'

 

 

Oluşan snapshotları aşaıdaki sql ie görebiliriz.

 

-bash-4.2$ psql

psql (9.2.24, server 10.6)

WARNING: psql version 9.2, server version 10.0.

         Some psql features might not work.

Type "help" for help.

 

postgres=# select * from public.snapshot_show();

 snapshot |       date_time       

----------+------------------------

        1 | 2019-01-18 15:54:45+03

        2 | 2019-01-18 15:57:27+03

        3 | 2019-01-18 16:13:11+03

        4 | 2019-01-18 16:16:57+03

        5 | 2019-01-18 16:23:29+03

        6 | 2019-01-21 09:59:04+03

        7 | 2019-01-21 10:06:02+03

        8 | 2019-01-21 10:10:52+03

        9 | 2019-01-21 10:30:02+03

       10 | 2019-01-21 11:00:02+03

       11 | 2019-01-21 11:30:02+03

       12 | 2019-01-21 12:00:02+03

       13 | 2019-01-21 16:00:02+03

(13 rows)

 

 

Bu çıkan snap idler üzerinden istenilen zaman araliği için awr raporu oluşturulabilir.

 

 

psql -c "select public.report(8,9)" -o engin4.html;

 

Umarım faydalı olmuştur...

 

Yorumlar

Henüz yorum yapılmadı.

Yorum Yapın