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

NAME  SYNOPSIS  DESCRIPTION  AUTHORS  SEE ALSO 

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, truncated to what’s currently supported (patches welcome, of course) :

Table: (http://www.postgresql.org/docs/current/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/current/sql−createindex.html)

CREATE [ UNIQUE ] INDEX index_name ON table
[ USING acc_method ] ( column [ ops_name ] [, ...] )
[ INCLUDE ( column [, ...] ) ]
[ 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 :

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

AUTHORS

Ken Y. Clark <[email protected]>, Allen Day <[email protected]>.

SEE ALSO

perl(1), Parse::RecDescent.


Updated 2024-01-29 - jenkler.se | uex.se