Разбор вывода команды EXPLAIN в PostgreSQL - PullRequest
2 голосов
/ 10 ноября 2011

Я занимаюсь разработкой приложения, которое требует синтаксического анализа планов выполнения (которые создаются как выходные данные с помощью команды EXPLAIN [query]).Вам известна какая-либо библиотека Java, которую я мог бы использовать для этой цели?Я нашел https://github.com/depesz/Pg--Explain, но он построен на Perl.

Также другой вариант, который я рассматриваю, - это использовать EXPLAIN [query] FORMAT XML, который доступен в PostgreSQL 9.1.Однако в этом случае лучше иметь доступную XML-схему сгенерированных планов.

Есть ли какое-либо другое решение, о котором я не знаю?

Ответы [ 2 ]

4 голосов
/ 11 января 2012

У вас есть правильный ответ прямо здесь.Для ваших автоматических нужд используйте XML или инструменты по адресу: https://github.com/depesz/Pg--Explain

Для остальных из нас интерактивная версия - настоящая жемчужина, и я публикую ее здесь, чтобы люди ее нашли: http://explain.depesz.com/

Справочная информация о самом объяснении находится по адресу: http://www.postgresql.org/docs/current/static/sql-explain.html Но, похоже, нет ссылки на DTD или определенную схему для объяснения.

0 голосов
/ 06 июля 2014

У меня было такое же требование синтаксического анализа вывода плана XML команды Explain.Я использовал LibXML2 libray.Это простой в использовании и мощный.Попробуйте это.

...