Known Issues
The following summarizes notable known issues, in particular those that affect sharing YAML specifications with the Pyrseas utilitites.
Coverage of Database Objects
Perseid currently supports a subset of PostgreSQL objects focused on schemas, tables, columns, and their constraints. Future releases are planned to support the other objects covered by Pyrseas. For details on what is currently supported, see the API Reference.
PostgreSQL Extensions
Perseid does not currently extract or recognize PostgreSQL extensions. As a result:
dbtoyamldoes not emitextensionentries, even if the database has extensions installed (e.g.plpgsql).yamltodbwill reject a YAML specification that containsextensionobjects (e.g. Pyrseas-generated output) with anUnrecognized object typeerror.Applying Perseid-generated YAML against a database that has extensions may cause Pyrseas tools to emit
DROP EXTENSIONstatements when comparing against a specification that omits them.
Support for PostgreSQL extensions will be added in a future release.
YAML Formatting
Perseid’s YAML output differs cosmetically from Pyrseas in a few respects:
Key ordering: Perseid preserves insertion order when emitting YAML mappings, while Pyrseas sorts keys alphabetically.
Spacing/indentation: There are minor differences in sequence indentation and line formatting.
These differences do not affect the parsing of the YAML structures.
Statement Ordering
When generating SQL with yamltodb, the order of DROP statements
for tables and constraints may differ from Pyrseas. Both produce valid
SQL for the same set of objects; the differences only appear when
there are no dependency constraints that force a specific order.