table of contents
SQL::Translator::Producer::PostgreSQL(3pm) | User Contributed Perl Documentation | SQL::Translator::Producer::PostgreSQL(3pm) |
NAME¶
SQL::Translator::Producer::PostgreSQL - PostgreSQL producer for SQL::TranslatorSYNOPSIS¶
my $t = SQL::Translator->new( parser => '...', producer => 'PostgreSQL' ); $t->translate;
DESCRIPTION¶
Creates a DDL suitable for PostgreSQL. Very heavily based on the Oracle producer.Now handles PostGIS Geometry and Geography data types on table definitions. Does not yet support PostGIS Views.
PostgreSQL Create Table Syntax¶
CREATE [ [ LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name ( { column_name data_type [ DEFAULT default_expr ] [ column_constraint [, ... ] ] | table_constraint } [, ... ] ) [ INHERITS ( parent_table [, ... ] ) ] [ WITH OIDS | WITHOUT OIDS ]
where column_constraint is:
[ CONSTRAINT constraint_name ] { NOT NULL | NULL | UNIQUE | PRIMARY KEY | CHECK (expression) | REFERENCES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL ] [ ON DELETE action ] [ ON UPDATE action ] } [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]
and table_constraint is:
[ CONSTRAINT constraint_name ] { UNIQUE ( column_name [, ... ] ) | PRIMARY KEY ( column_name [, ... ] ) | CHECK ( expression ) | FOREIGN KEY ( column_name [, ... ] ) REFERENCES reftable [ ( refcolumn [, ... ] ) ] [ MATCH FULL | MATCH PARTIAL ] [ ON DELETE action ] [ ON UPDATE action ] } [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]
Create Index Syntax¶
CREATE [ UNIQUE ] INDEX index_name ON table [ USING acc_method ] ( column [ ops_name ] [, ...] ) [ WHERE predicate ] CREATE [ UNIQUE ] INDEX index_name ON table [ USING acc_method ] ( func_name( column [, ... ]) [ ops_name ] ) [ WHERE predicate ]
SEE ALSO¶
SQL::Translator, SQL::Translator::Producer::Oracle.AUTHOR¶
Ken Youens-Clark <kclark@cpan.org>.2018-01-12 | perl v5.26.1 |