Подключение СУБД типа PostgresPro, использующей расширение pgpro_stats [*]
СУБД типа PostgresPro могут использовать pg_stat_statements или pgpro_stats для сбора статистики запросов.
Если вами используется расширение pg_stat_statements, то настоящий раздел для вас не релевантен.
Важно
Если у вас версия PostgresPro Standard, то требуется скачать и установить расширение pgpro-stats-std соответствующей версии из репозитория PostgresPro. В случае PostgresPro Enterprise расширение уже содержится в дистрибутиве.
Отредактировать postgresql.conf:
shared_preload_libraries = 'pgpro_stats' pgpro_stats.track_planning = on pgpro_stats.plan_format = 'json'
Чтобы новые параметры применились, выполните restart наблюдаемой СУБД.
Создать расширение:
CREATE EXTENSION pgpro_stats;
Проверить отсутствие конфликтов в представлениях, выполнить команду:
select pgpro_stats_create_pg_stat_statements_compatible_views();
Предупреждение
Если после выполнения данной команды вы получаете сообщение:
Please drop extension pg_stat_statements and remove it from the shared_preload_libraries. If the above is already done and the emulated pg_stat_statements and/or pg_stat_statements_info views have been previousely created use: "drop view pg_stat_statements;" and "drop view pg_stat_statements_info;"commands.
то требуется убрать лишние представления, выполнив команды:
drop view pg_stat_statements; drop view pg_stat_statements_info;
Создать представление:
CREATE OR REPLACE VIEW pg_store_plans AS SELECT userid, dbid, queryid, planid, plan, plans AS calls, total_plan_time::double precision AS total_time, rows, shared_blks_hit, shared_blks_read, shared_blks_dirtied, shared_blks_written, local_blks_hit, local_blks_read, local_blks_dirtied, local_blks_written, temp_blks_read, temp_blks_written, blk_read_time, blk_write_time, temp_blk_read_time, temp_blk_write_time, '2000-01-01 00:00:00+00'::timestamp with time zone AS first_call, now()::timestamp with time zone AS last_call FROM pgpro_stats_statements;
Выполнить рестарт агента платформы:
sudo systemctl restart pmaagent