=pod =head1 NAME Alzabo::PostgreSQL - Alzabo and PostgreSQL =head1 DESCRIPTION This documentation is about what special support Alzabo has for PostgreSQL, as well as what is lacking. Postgres support is based on the 7.3.x version of Postgres. Alzabo should work with the 7.1 and 7.2 series, and may even work with the 7.0 series. =head2 Mixed-case Table or Column Names By default, Postgres treats table and column names case-insensitively. Because of this, Alzabo always quotes these names when generating DDL SQL. If you are using tables or columns that contain upper-case characters, you should always call C<< $schema->set_quote_identifiers(1) >> as soon as you load your schema object. Otherwise, any method which generates DML SQL will fail. =head2 Reverse Engineering =over 4 =item * Alzabo cannot determine from the existence of a sequence that the sequence is meant to be used for a particular column unless the sequence was created as a result of making a column's type SERIAL. This is because there is no link between the two in the Postgres' data dictionary tables and will probably never change. =back =head2 Transactions =over 4 =item * Transactions are fully supported with Postgres. =back =head2 Outer joins =over 4 =item * Left and right outer joins are supported. =item * Full outer joins are not supported. =back =head2 Constraints Column constraints can be specified as column attributes. Table constraints can be specified as table attributes. Foreign key constraints are generated automatically based on the relationships defined by your schema. =cut