SQL::Translator::Producer::PostgreSQL - PostgreSQL producer for SQL::Translator


SQL-Translator documentation  | view source Contained in the SQL-Translator distribution.

Index


NAME

Top

SQL::Translator::Producer::PostgreSQL - PostgreSQL producer for SQL::Translator

SYNOPSIS

Top

  my $t = SQL::Translator->new( parser => '...', producer => 'PostgreSQL' );
  $t->translate;

DESCRIPTION

Top

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

Top

  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

Top

  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

Top

SQL::Translator, SQL::Translator::Producer::Oracle.

AUTHOR

Top

Ken Youens-Clark <kclark@cpan.org>.


SQL-Translator documentation  | view source Contained in the SQL-Translator distribution.