Подключение СУБД типа 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