# 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](../api/index.md). ### PostgreSQL Extensions Perseid does not currently extract or recognize PostgreSQL extensions. As a result: - `dbtoyaml` does not emit `extension` entries, even if the database has extensions installed (e.g. `plpgsql`). - `yamltodb` will reject a YAML specification that contains `extension` objects (e.g. Pyrseas-generated output) with an `Unrecognized object type` error. - Applying Perseid-generated YAML against a database that has extensions may cause Pyrseas tools to emit `DROP EXTENSION` statements 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.