API documentation

This chapter briefly explains some implementation detail.

exception pglast.Error

Top level error exception.

pglast.__author__ = 'Lele Gaifax <lele@metapensiero.it>'

Package’s author.

pglast.__version__ = 'v3.18'

Package’s version.

pglast.prettify(statement, safety_belt=False, preserve_comments=False, **options)

Render given statement into a prettified format.

  • statement (str) – the SQL statement(s)

  • safety_belt (bool) – whether to perform a safe check against bugs in pglast’s serialization

  • preserve_comments (bool) – whether comments shall be preserved, defaults to not

  • **options – any keyword option accepted by IndentedStream constructor


a string with the equivalent prettified statement(s)

When safety_belt is True, the resulting statement is parsed again and its AST compared with the original statement: if they don’t match, a warning is emitted and the original statement is returned. By default it is False, so no double check is done.

pglast.split(stmts, with_parser=True, only_slices=False)

Split the given stmts string into a sequence of the single SQL statements.

By default this uses the parser to perform the job; when with_parser is False the scanner variant is used, indicated when the statements may contain parse errors.

When only_slices is True, return a sequence of slice instances, one for each statement, instead of statements text.

NB: leading and trailing whitespace are removed from the statements.