Aby skonfigurować Profilera w pierwszej kolejności należy zmodyfikować opcję shared_preload_libraries w postgresql.conf. Modyfikacja polega na dodaniu $libdir/sql-profiler,$libdir/index_advisor
Niestety ta modyfikacja wymaga wykonania restartu serwera
pg_ctl restart
Po restarcie można skontrolować ustawienie z posiomu psql:
edb=# select name, setting from pg_settings where name = 'shared_preload_libraries'; name | setting --------------------------+---------------------------------------------------------------------------------------------- shared_preload_libraries | $libdir/dbms_pipe,$libdir/edb_gen,$libdir/dbms_aq,$libdir/sql-profiler,$libdir/index_advisor (1 rows)
Kolejny krok, to uruchomienie skryptów, które konfigurują profilera (i przy okazji index advisora)
edb-psql -f /usr/edb/as13/share/contrib/sql-profiler.sql edb edb-psql -f /usr/edb/as13/share/contrib/index_advisor.sql
Teraz można już przejść do PEM. W wersji 13 Profiler znajduje się w Tools >> Server >> SQL Profiler. Po utworzeniu sesji profilera od razy i prawie na żywo można ją obserwować. Prawie na żywo, bo żeby zobaczyć nowe przechwycone polecenia należy kliknąć „Refresh”. Narzędzie pozwala analizować zapytania użytkowników, czas trwania i obciążenie generowane przez te zapytania, a nawet podejrzeć wykorzystane plany zapytań: