Pyrseas provides utilities to describe a PostgreSQL database schema as YAML, to verify the schema against the same or a different database and to generate SQL that will modify the schema to match the YAML description.
- Outputs a YAML/JSON description of a PostgreSQL database's tables and other objects (metadata), suitable for storing in a version control repository
- Generates SQL statements to modify a database so that it willl match an input YAML/JSON specification
- Generates an augmented YAML description of a PostgreSQL database from its catalogs and an augmentation specification.
- PostgreSQL 9.3 or higher
- Python 2.7 or higher
- Psycopg2 2.5 or higher
- PyYAML 3.10 or higher
- PgDbConn 0.8 or higher
.. toctree:: :maxdepth: 2 overview install config configitems devel testing issues predefaug
.. toctree:: :maxdepth: 1 dbaugment dbtoyaml yamltodb cmdargs
Currently, the only external APIs are the class :class:`~pyrseas.database.Database` and the methods :meth:`~pyrseas.database.Database.to_map` and :meth:`~pyrseas.database.Database.diff_map` of the latter. Other classes and methods are documented mainly for developer use.
.. toctree:: :maxdepth: 2 dbobject database schema
.. toctree:: :maxdepth: 2 cast eventtrig extension foreign language
Tables and Related Objects
.. toctree:: :maxdepth: 2 table column constraint indexes rule
Functions, Operators and Triggers
.. toctree:: :maxdepth: 2 function operator operfamily operclass trigger
Types and Other Schema Objects
.. toctree:: :maxdepth: 2 collation conversion textsearch type
Augmenter API Reference
.. toctree:: :maxdepth: 2 augmentdb cfgobjects augobjects