Types and Domains
The dbtype module defines seven classes, DbType derived from DbSchemaObject, BaseType, Composite, Enum, Domain and Range derived from DbType, and TypeDict derived from and DbObjectDict.
Database Type
Class DbType is derived from ~pyrseas.dbobject.DbSchemaObject and represents a SQL type or domain as defined in the Postgres pg_type catalog.
Base Type
BaseType is derived from ~pyrseas.dbobject.DbType and represents a Postgres user-defined base type.
The map returned by to_map and expected as argument by TypeDict.from_map has the following structure (not all fields need be present):
{'type t1': {'alignment': 'double', 'analyze': 'analyze_func', 'category': 'U', 'delimiter': ',', 'input': 'input_func', 'internallength': 'variable', 'output': 'output_func', 'preferred': 'true', 'receive': 'receive_func', 'send': 'send_func', 'storage': 'plain' 'typmod_in': 'typmod_in_func', 'typmod_out': 'typmod_out_func' } }
Composite
Composite is derived from ~pyrseas.dbobject.DbType and represents a standalone composite type.
Enum
Enum is derived from ~pyrseas.dbobject.DbType and represents an enumerated type.
Domain
Domain is derived from ~pyrseas.dbobject.DbType and represents a domain.
Range
Range is derived from ~pyrseas.dbobject.DbType and represents a Postgres range type.
Type Dictionary
TypeDict is derived from ~pyrseas.dbobject.DbObjectDict. It is a dictionary that represents the collection of domains and enums in a database.