SQL::Translator::Parser::PostgreSQL.3pm

Langue: en

Version: 2008-03-11 (mandriva - 01/05/08)

Section: 3 (Bibliothèques de fonctions)

NAME

SQL::Translator::Parser::PostgreSQL - parser for PostgreSQL

SYNOPSIS

   use SQL::Translator;
   use SQL::Translator::Parser::PostgreSQL;
 
   my $translator = SQL::Translator->new;
   $translator->parser("SQL::Translator::Parser::PostgreSQL");
 
 

DESCRIPTION

The grammar was started from the MySQL parsers. Here is the description from PostgreSQL:

Table: (http://www.postgresql.org/docs/view.php?version=7.3&idoc=1&file=sql-createtable.html)

   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 ]
 
 

Index: (http://www.postgresql.org/docs/view.php?version=7.3&idoc=1&file=sql-createindex.html)

   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 ]
 
 

Alter table:

   ALTER TABLE [ ONLY ] table [ * ]
       ADD [ COLUMN ] column type [ column_constraint [ ... ] ]
   ALTER TABLE [ ONLY ] table [ * ]
       ALTER [ COLUMN ] column { SET DEFAULT value | DROP DEFAULT }
   ALTER TABLE [ ONLY ] table [ * ]
       ALTER [ COLUMN ] column SET STATISTICS integer
   ALTER TABLE [ ONLY ] table [ * ]
       RENAME [ COLUMN ] column TO newcolumn
   ALTER TABLE table
       RENAME TO new_table
   ALTER TABLE table
       ADD table_constraint_definition
   ALTER TABLE [ ONLY ] table 
           DROP CONSTRAINT constraint { RESTRICT | CASCADE }
   ALTER TABLE table
           OWNER TO new_owner
 
 

View table:

     CREATE [ OR REPLACE ] VIEW view [ ( column name list ) ] AS SELECT query
 
 

AUTHORS

Ken Y. Clark <kclark@cpan.org>, Allen Day <allenday@ucla.edu>.

SEE ALSO

perl(1), Parse::RecDescent.