Начну с того, что я новичок в PostgreSQL.Наше приложение много лет работало с Oracle и SQL Server, и сейчас мы предлагаем решение PostgreSQL.
Я пытаюсь создать запросы, которые будут предоставлять данные производительности SQL в течение определенного промежутка времени..Для Oracle я могу просто создать снимок до и после периода времени и запустить отчет AWR с этими идентификаторами снимка.В SQL Server 2016+ хранилище запросов имеет статистику времени выполнения, в которой хранятся метрики для отдельных запросов с временными метками, и из этого его можно легко запрашивать за необходимый мне временной интервал.
Что касается Postgres, я знаю оpg_stat_statements, но, насколько я могу судить, кажется, что он содержит данные, которые уже агрегированы (я хочу сделать свое собственное агрегирование).
Вариант использования такой: мы запускаем некоторый тест, нагрузочный тест дляпример.После теста я хочу получить показатели производительности запросов точно по времени теста (я могу делать снимки и метки времени до и после теста).Затем я хочу иметь возможность запускать запросы, используя эти снимки / временные метки, и говорить во время 1-часового нагрузочного теста, который выполнялся с 13:44:30 до 14:44:30. SELECT что-то из sometable запускался 50 раз со средней продолжительностью 10 мс,и т.д.
У нас есть PostgreSQL 10.6 и pg_stat_statements 1.6.
Спасибо, Том