Pg_profile kurulum ve örnekleri

Caner AYSAN
1 min readNov 4, 2022

--

Pg_profile PostgreSQL de extension olarak tanımladığımız bir uzantıdır, PostgreSQL veritabanlarınızdaki yoğun kaynak etkinliklerin çoğunu bulmanıza yardımcı olur.

Bu uzantı, PostgreSQL’in istatistik görünümlerine ve pg_stat_statements ve pg_stat_kcache katkı uzantılarına dayanmaktadır. Saf pl/pgsql ile yazılmıştır ve herhangi bir harici kütüphaneye veya yazılıma ihtiyaç duymaz, ancak PostgreSQL veritabanının kendisine ve periyodik görevleri gerçekleştiren cron benzeri bir araca ihtiyaç duyar. Başlangıçta PostgreSQL 9.6 uzantısı üzerinde geliştirilmiş ve test edilmiş, önceki sürümlerle uyumlu olmayabilir.

wget https://github.com/zubkov-andrei/pg_profile/releases/download/0.3.6/pg_profile--0.3.6.tar.gz
#Pg_profile'ın son sürümünü github reposundan indirebilirsiniz.
tar xzf pg_profile--0.3.6.tar.gz --directory /usr/pgsql-13/share/extension/yum install postgresql13-contribls -ltr /usr/pgsql-13/share/extension/ su - postgres
psql
\dx
select * from pg_stat_statements;#yüklemediyseniz bulamayacaktır.
exit
cd $PGDATA
vi postgresql.conf

shared_preload_libraries = 'pg_stat_statements'
track_activities = on
track_counts = on
track_io_timing = on
track_functions = all

systemctl restart postgresql-13
psql
CREATE EXTENSION dblink;
CREATE EXTENSION pg_stat_statements;
CREATE SCHEMA profile;
CREATE EXTENSION pg_profile SCHEMA profile;
select * from pg_stat_statements;
\dx+ pg_profile
select * from profile.show_servers() ;
select * from profile.take_sample();
#SELECT profile.create_server('postgresql13-all','host=<host> port=5432 user=profile_mon');SELECT * FROM profile.show_baselines('local');psql -Aqtc "SELECT profile.get_report('local',1,3)" -o web_postgresql_awr.html

--

--