PGQA (PostgreSQL Query Analyzer) is a major mode of GNU Emacs editor. It's based on Wisent compiler compiler and EIEIO framework. The core concept is that SQL query is parsed and turned into a tree. Analysis of this tree can provide user with a feedback on semantic errors and dubious constructs, and possibly with proposals to fix the query. Existence of the object tree also allows for advanced (and customizable) query formatting.

Elisp features like overlays or markers should give user high level of interaction with the object tree via the query text.

The current development focus is on query conversion from text to object tree (parsing) and back ("deparsing").


User documentation currently exists in HTML, PDF and Info format.

Downloading PGQA

Packages are available here. This section of user documentation explains how to install the code.

Mailing lists

Please use pgqa-dev mailing list to submit patches, report bugs and request new features.


For development sources, issue trackers, and other information, please see the PGQA project page at


PGQA is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

Copyright © 2017 AntonĂ­n Houska

This page is licensed under a Creative Commons Attribution-NoDerivatives 4.0 International License.