SQL Commands / Version comparison
What changed?
SQL Commands · PostgreSQL 8.4 → 9.0
Historical documentation for a PostgreSQL version that is no longer supported.
3 added · 0 removed · 63 changed · 0 coverage changes. These are changes between the pinned reference snapshots.
changedCREATE TABLE
--- 8.4
+++ 9.0
@@ -1,10 +1,20 @@
CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name ( [
{ column_name data_type [ DEFAULT default_expr ] [ column_constraint [ ... ] ]
| table_constraint
-| LIKE parent_table [ { INCLUDING | EXCLUDING } { DEFAULTS | CONSTRAINTS | INDEXES } ] ... }
+| LIKE parent_table [ like_option ... ] }
[, ... ]
] )
[ INHERITS ( parent_table [, ... ] ) ]
+[ WITH ( storage_parameter [= value] [, ... ] ) | WITH OIDS | WITHOUT OIDS ]
+[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
+[ TABLESPACE tablespace ]
+
+CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name
+OF type_name [ (
+{ column_name WITH OPTIONS [ DEFAULT default_expr ] [ column_constraint [ ... ] ]
+| table_constraint }
+[, ... ]
+) ]
[ WITH ( storage_parameter [= value] [, ... ] ) | WITH OIDS | WITHOUT OIDS ]
[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
[ TABLESPACE tablespace ]
@@ -14,9 +24,9 @@
[ CONSTRAINT constraint_name ]
{ NOT NULL |
NULL |
+CHECK ( expression ) |
UNIQUE index_parameters |
PRIMARY KEY index_parameters |
-CHECK ( expression ) |
REFERENCES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]
[ ON DELETE action ] [ ON UPDATE action ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]
@@ -24,14 +34,23 @@
and table_constraint is:
[ CONSTRAINT constraint_name ]
-{ UNIQUE ( column_name [, ... ] ) index_parameters |
+{ CHECK ( expression ) |
+UNIQUE ( column_name [, ... ] ) index_parameters |
PRIMARY KEY ( column_name [, ... ] ) index_parameters |
-CHECK ( expression ) |
+EXCLUDE [ USING index_method ] ( exclude_element WITH operator [, ... ] ) index_parameters [ WHERE ( predicate ) ] |
FOREIGN KEY ( column_name [, ... ] ) REFERENCES reftable [ ( refcolumn [, ... ] ) ]
[ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE action ] [ ON UPDATE action ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]
-index_parameters in UNIQUE and PRIMARY KEY constraints are:
+and like_option is:
+
+{ INCLUDING | EXCLUDING } { DEFAULTS | CONSTRAINTS | INDEXES | STORAGE | COMMENTS | ALL }
+
+index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:
[ WITH ( storage_parameter [= value] [, ... ] ) ]
[ USING INDEX TABLESPACE tablespace ]
+
+exclude_element in an EXCLUDE constraint is:
+
+{ column | ( expression ) } [ opclass ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ]
changedALTER TABLE
--- 8.4
+++ 9.0
@@ -6,19 +6,20 @@
RENAME TO new_name
ALTER TABLE name
SET SCHEMA new_schema
-
where action is one of:
ADD [ COLUMN ] column type [ column_constraint [ ... ] ]
-DROP [ COLUMN ] column [ RESTRICT | CASCADE ]
+DROP [ COLUMN ] [ IF EXISTS ] column [ RESTRICT | CASCADE ]
ALTER [ COLUMN ] column [ SET DATA ] TYPE type [ USING expression ]
ALTER [ COLUMN ] column SET DEFAULT expression
ALTER [ COLUMN ] column DROP DEFAULT
ALTER [ COLUMN ] column { SET | DROP } NOT NULL
ALTER [ COLUMN ] column SET STATISTICS integer
+ALTER [ COLUMN ] column SET ( attribute_option = value [, ... ] )
+ALTER [ COLUMN ] column RESET ( attribute_option [, ... ] )
ALTER [ COLUMN ] column SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }
ADD table_constraint
-DROP CONSTRAINT constraint_name [ RESTRICT | CASCADE ]
+DROP CONSTRAINT [ IF EXISTS ] constraint_name [ RESTRICT | CASCADE ]
DISABLE TRIGGER [ trigger_name | ALL | USER ]
ENABLE TRIGGER [ trigger_name | ALL | USER ]
ENABLE REPLICA TRIGGER trigger_name
changedCREATE INDEX
--- 8.4
+++ 9.0
@@ -1,4 +1,4 @@
-CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] name ON table [ USING method ]
+CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ name ] ON table [ USING method ]
( { column | ( expression ) } [ opclass ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [, ...] )
[ WITH ( storage_parameter = value [, ... ] ) ]
[ TABLESPACE tablespace ]
addedDO
--- 8.4 +++ 9.0 @@ -0,0 +1 @@ +DO [ LANGUAGE lang_name ] code
changedCREATE FUNCTION
--- 8.4
+++ 9.0
@@ -1,8 +1,8 @@
CREATE [ OR REPLACE ] FUNCTION
-name ( [ [ argmode ] [ argname ] argtype [ { DEFAULT | = } defexpr ] [, ...] ] )
+name ( [ [ argmode ] [ argname ] argtype [ { DEFAULT | = } default_expr ] [, ...] ] )
[ RETURNS rettype
-| RETURNS TABLE ( colname coltype [, ...] ) ]
-{ LANGUAGE langname
+| RETURNS TABLE ( column_name column_type [, ...] ) ]
+{ LANGUAGE lang_name
| WINDOW
| IMMUTABLE | STABLE | VOLATILE
| CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT
changedALTER FUNCTION
--- 8.4 +++ 9.0 @@ -6,7 +6,6 @@ OWNER TO new_owner ALTER FUNCTION name ( [ [ argmode ] [ argname ] argtype [, ...] ] ) SET SCHEMA new_schema - where action is one of: CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT
changedCREATE LANGUAGE
--- 8.4 +++ 9.0 @@ -1,3 +1,3 @@ -CREATE [ PROCEDURAL ] LANGUAGE name -CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE name -HANDLER call_handler [ VALIDATOR valfunction ] +CREATE [ OR REPLACE ] [ PROCEDURAL ] LANGUAGE name +CREATE [ OR REPLACE ] [ TRUSTED ] [ PROCEDURAL ] LANGUAGE name +HANDLER call_handler [ INLINE inline_handler ] [ VALIDATOR valfunction ]
changedALTER LANGUAGE
--- 8.4 +++ 9.0 @@ -1,2 +1,2 @@ -ALTER [ PROCEDURAL ] LANGUAGE name RENAME TO newname +ALTER [ PROCEDURAL ] LANGUAGE name RENAME TO new_name ALTER [ PROCEDURAL ] LANGUAGE name OWNER TO new_owner
changedCREATE CAST
--- 8.4 +++ 9.0 @@ -1,11 +1,11 @@ -CREATE CAST (sourcetype AS targettype) -WITH FUNCTION funcname (argtypes) +CREATE CAST (source_type AS target_type) +WITH FUNCTION function_name (argument_type [, ...]) [ AS ASSIGNMENT | AS IMPLICIT ] -CREATE CAST (sourcetype AS targettype) +CREATE CAST (source_type AS target_type) WITHOUT FUNCTION [ AS ASSIGNMENT | AS IMPLICIT ] -CREATE CAST (sourcetype AS targettype) +CREATE CAST (source_type AS target_type) WITH INOUT [ AS ASSIGNMENT | AS IMPLICIT ]
changedDROP CAST
--- 8.4 +++ 9.0 @@ -1 +1 @@ -DROP CAST [ IF EXISTS ] (sourcetype AS targettype) [ CASCADE | RESTRICT ] +DROP CAST [ IF EXISTS ] (source_type AS target_type) [ CASCADE | RESTRICT ]
changedCREATE CONVERSION
--- 8.4 +++ 9.0 @@ -1,2 +1,2 @@ CREATE [ DEFAULT ] CONVERSION name -FOR source_encoding TO dest_encoding FROM funcname +FOR source_encoding TO dest_encoding FROM function_name
changedALTER CONVERSION
--- 8.4 +++ 9.0 @@ -1,2 +1,2 @@ -ALTER CONVERSION name RENAME TO newname -ALTER CONVERSION name OWNER TO newowner +ALTER CONVERSION name RENAME TO new_name +ALTER CONVERSION name OWNER TO new_owner
changedCREATE OPERATOR
--- 8.4 +++ 9.0 @@ -1,6 +1,6 @@ CREATE OPERATOR name ( -PROCEDURE = funcname -[, LEFTARG = lefttype ] [, RIGHTARG = righttype ] +PROCEDURE = function_name +[, LEFTARG = left_type ] [, RIGHTARG = right_type ] [, COMMUTATOR = com_op ] [, NEGATOR = neg_op ] [, RESTRICT = res_proc ] [, JOIN = join_proc ] [, HASHES ] [, MERGES ]
changedALTER OPERATOR
--- 8.4
+++ 9.0
@@ -1 +1 @@
-ALTER OPERATOR name ( { lefttype | NONE } , { righttype | NONE } ) OWNER TO newowner
+ALTER OPERATOR name ( { left_type | NONE } , { right_type | NONE } ) OWNER TO new_owner
changedDROP OPERATOR
--- 8.4
+++ 9.0
@@ -1 +1 @@
-DROP OPERATOR [ IF EXISTS ] name ( { lefttype | NONE } , { righttype | NONE } ) [ CASCADE | RESTRICT ]
+DROP OPERATOR [ IF EXISTS ] name ( { left_type | NONE } , { right_type | NONE } ) [ CASCADE | RESTRICT ]
changedCREATE OPERATOR CLASS
--- 8.4
+++ 9.0
@@ -1,6 +1,6 @@
CREATE OPERATOR CLASS name [ DEFAULT ] FOR TYPE data_type
USING index_method [ FAMILY family_name ] AS
{ OPERATOR strategy_number operator_name [ ( op_type, op_type ) ]
-| FUNCTION support_number [ ( op_type [ , op_type ] ) ] funcname ( argument_type [, ...] )
+| FUNCTION support_number [ ( op_type [ , op_type ] ) ] function_name ( argument_type [, ...] )
| STORAGE storage_type
} [, ... ]
changedALTER OPERATOR CLASS
--- 8.4 +++ 9.0 @@ -1,2 +1,2 @@ -ALTER OPERATOR CLASS name USING index_method RENAME TO newname -ALTER OPERATOR CLASS name USING index_method OWNER TO newowner +ALTER OPERATOR CLASS name USING index_method RENAME TO new_name +ALTER OPERATOR CLASS name USING index_method OWNER TO new_owner
changedALTER OPERATOR FAMILY
--- 8.4
+++ 9.0
@@ -1,10 +1,10 @@
ALTER OPERATOR FAMILY name USING index_method ADD
{ OPERATOR strategy_number operator_name ( op_type, op_type )
-| FUNCTION support_number [ ( op_type [ , op_type ] ) ] funcname ( argument_type [, ...] )
+| FUNCTION support_number [ ( op_type [ , op_type ] ) ] function_name ( argument_type [, ...] )
} [, ... ]
ALTER OPERATOR FAMILY name USING index_method DROP
{ OPERATOR strategy_number ( op_type [ , op_type ] )
| FUNCTION support_number ( op_type [ , op_type ] )
} [, ... ]
-ALTER OPERATOR FAMILY name USING index_method RENAME TO newname
-ALTER OPERATOR FAMILY name USING index_method OWNER TO newowner
+ALTER OPERATOR FAMILY name USING index_method RENAME TO new_name
+ALTER OPERATOR FAMILY name USING index_method OWNER TO new_owner
changedCREATE TYPE
--- 8.4 +++ 9.0 @@ -2,7 +2,7 @@ ( attribute_name data_type [, ... ] ) CREATE TYPE name AS ENUM -( 'label' [, ... ] ) +( [ 'label' [, ... ] ] ) CREATE TYPE name ( INPUT = input_function,
changedCREATE DATABASE
--- 8.4 +++ 9.0 @@ -1,5 +1,5 @@ CREATE DATABASE name -[ [ WITH ] [ OWNER [=] dbowner ] +[ [ WITH ] [ OWNER [=] user_name ] [ TEMPLATE [=] template ] [ ENCODING [=] encoding ] [ LC_COLLATE [=] lc_collate ]
changedALTER DATABASE
--- 8.4 +++ 9.0 @@ -4,7 +4,7 @@ CONNECTION LIMIT connlimit -ALTER DATABASE name RENAME TO newname +ALTER DATABASE name RENAME TO new_name ALTER DATABASE name OWNER TO new_owner
changedCREATE SCHEMA
--- 8.4 +++ 9.0 @@ -1,2 +1,2 @@ -CREATE SCHEMA schemaname [ AUTHORIZATION username ] [ schema_element [ ... ] ] -CREATE SCHEMA AUTHORIZATION username [ schema_element [ ... ] ] +CREATE SCHEMA schema_name [ AUTHORIZATION user_name ] [ schema_element [ ... ] ] +CREATE SCHEMA AUTHORIZATION user_name [ schema_element [ ... ] ]
changedALTER SCHEMA
--- 8.4 +++ 9.0 @@ -1,2 +1,2 @@ -ALTER SCHEMA name RENAME TO newname -ALTER SCHEMA name OWNER TO newowner +ALTER SCHEMA name RENAME TO new_name +ALTER SCHEMA name OWNER TO new_owner
changedCREATE TABLESPACE
--- 8.4 +++ 9.0 @@ -1 +1 @@ -CREATE TABLESPACE tablespacename [ OWNER username ] LOCATION 'directory' +CREATE TABLESPACE tablespace_name [ OWNER user_name ] LOCATION 'directory'
changedALTER TABLESPACE
--- 8.4 +++ 9.0 @@ -1,2 +1,4 @@ -ALTER TABLESPACE name RENAME TO newname -ALTER TABLESPACE name OWNER TO newowner +ALTER TABLESPACE name RENAME TO new_name +ALTER TABLESPACE name OWNER TO new_owner +ALTER TABLESPACE name SET ( tablespace_option = value [, ... ] ) +ALTER TABLESPACE name RESET ( tablespace_option [, ... ] )
changedDROP TABLESPACE
--- 8.4 +++ 9.0 @@ -1 +1 @@ -DROP TABLESPACE [ IF EXISTS ] tablespacename +DROP TABLESPACE [ IF EXISTS ] tablespace_name
changedGRANT
--- 8.4
+++ 9.0
@@ -1,44 +1,51 @@
GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }
[,...] | ALL [ PRIVILEGES ] }
-ON [ TABLE ] tablename [, ...]
-TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+ON { [ TABLE ] table_name [, ...]
+| ALL TABLES IN SCHEMA schema_name [, ...] }
+TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { { SELECT | INSERT | UPDATE | REFERENCES } ( column [, ...] )
[,...] | ALL [ PRIVILEGES ] ( column [, ...] ) }
-ON [ TABLE ] tablename [, ...]
-TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+ON [ TABLE ] table_name [, ...]
+TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { { USAGE | SELECT | UPDATE }
[,...] | ALL [ PRIVILEGES ] }
-ON SEQUENCE sequencename [, ...]
-TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+ON { SEQUENCE sequence_name [, ...]
+| ALL SEQUENCES IN SCHEMA schema_name [, ...] }
+TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }
-ON DATABASE dbname [, ...]
-TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+ON DATABASE database_name [, ...]
+TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { USAGE | ALL [ PRIVILEGES ] }
-ON FOREIGN DATA WRAPPER fdwname [, ...]
-TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+ON FOREIGN DATA WRAPPER fdw_name [, ...]
+TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { USAGE | ALL [ PRIVILEGES ] }
-ON FOREIGN SERVER servername [, ...]
-TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+ON FOREIGN SERVER server_name [, ...]
+TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { EXECUTE | ALL [ PRIVILEGES ] }
-ON FUNCTION funcname ( [ [ argmode ] [ argname ] argtype [, ...] ] ) [, ...]
-TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+ON { FUNCTION function_name ( [ [ argmode ] [ arg_name ] arg_type [, ...] ] ) [, ...]
+| ALL FUNCTIONS IN SCHEMA schema_name [, ...] }
+TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { USAGE | ALL [ PRIVILEGES ] }
-ON LANGUAGE langname [, ...]
-TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+ON LANGUAGE lang_name [, ...]
+TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+
+GRANT { { SELECT | UPDATE } [,...] | ALL [ PRIVILEGES ] }
+ON LARGE OBJECT loid [, ...]
+TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
-ON SCHEMA schemaname [, ...]
-TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+ON SCHEMA schema_name [, ...]
+TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { CREATE | ALL [ PRIVILEGES ] }
-ON TABLESPACE tablespacename [, ...]
-TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+ON TABLESPACE tablespace_name [, ...]
+TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
-GRANT role [, ...] TO rolename [, ...] [ WITH ADMIN OPTION ]
+GRANT role_name [, ...] TO role_name [, ...] [ WITH ADMIN OPTION ]
changedREVOKE
--- 8.4
+++ 9.0
@@ -1,66 +1,75 @@
REVOKE [ GRANT OPTION FOR ]
{ { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }
[,...] | ALL [ PRIVILEGES ] }
-ON [ TABLE ] tablename [, ...]
-FROM { [ GROUP ] rolename | PUBLIC } [, ...]
+ON { [ TABLE ] table_name [, ...]
+| ALL TABLES IN SCHEMA schema_name [, ...] }
+FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ { SELECT | INSERT | UPDATE | REFERENCES } ( column [, ...] )
[,...] | ALL [ PRIVILEGES ] ( column [, ...] ) }
-ON [ TABLE ] tablename [, ...]
-FROM { [ GROUP ] rolename | PUBLIC } [, ...]
+ON [ TABLE ] table_name [, ...]
+FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ { USAGE | SELECT | UPDATE }
[,...] | ALL [ PRIVILEGES ] }
-ON SEQUENCE sequencename [, ...]
-FROM { [ GROUP ] rolename | PUBLIC } [, ...]
+ON { SEQUENCE sequence_name [, ...]
+| ALL SEQUENCES IN SCHEMA schema_name [, ...] }
+FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ { CREATE | CONNECT | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }
-ON DATABASE dbname [, ...]
-FROM { [ GROUP ] rolename | PUBLIC } [, ...]
+ON DATABASE database_name [, ...]
+FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ USAGE | ALL [ PRIVILEGES ] }
-ON FOREIGN DATA WRAPPER fdwname [, ...]
-FROM { [ GROUP ] rolename | PUBLIC } [, ...]
+ON FOREIGN DATA WRAPPER fdw_name [, ...]
+FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ USAGE | ALL [ PRIVILEGES ] }
-ON FOREIGN SERVER servername [, ...]
-FROM { [ GROUP ] rolename | PUBLIC } [, ...]
+ON FOREIGN SERVER server_name [, ...]
+FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ EXECUTE | ALL [ PRIVILEGES ] }
-ON FUNCTION funcname ( [ [ argmode ] [ argname ] argtype [, ...] ] ) [, ...]
-FROM { [ GROUP ] rolename | PUBLIC } [, ...]
+ON { FUNCTION function_name ( [ [ argmode ] [ arg_name ] arg_type [, ...] ] ) [, ...]
+| ALL FUNCTIONS IN SCHEMA schema_name [, ...] }
+FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ USAGE | ALL [ PRIVILEGES ] }
-ON LANGUAGE langname [, ...]
-FROM { [ GROUP ] rolename | PUBLIC } [, ...]
+ON LANGUAGE lang_name [, ...]
+FROM { [ GROUP ] role_name | PUBLIC } [, ...]
+[ CASCADE | RESTRICT ]
+
+REVOKE [ GRANT OPTION FOR ]
+{ { SELECT | UPDATE } [,...] | ALL [ PRIVILEGES ] }
+ON LARGE OBJECT loid [, ...]
+FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
-ON SCHEMA schemaname [, ...]
-FROM { [ GROUP ] rolename | PUBLIC } [, ...]
+ON SCHEMA schema_name [, ...]
+FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ CREATE | ALL [ PRIVILEGES ] }
-ON TABLESPACE tablespacename [, ...]
-FROM { [ GROUP ] rolename | PUBLIC } [, ...]
+ON TABLESPACE tablespace_name [, ...]
+FROM { [ GROUP ] role_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
REVOKE [ ADMIN OPTION FOR ]
-role [, ...] FROM rolename [, ...]
+role_name [, ...] FROM role_name [, ...]
[ CASCADE | RESTRICT ]
addedALTER DEFAULT PRIVILEGES
--- 8.4
+++ 9.0
@@ -0,0 +1,39 @@
+ALTER DEFAULT PRIVILEGES
+[ FOR { ROLE | USER } target_role [, ...] ]
+[ IN SCHEMA schema_name [, ...] ]
+abbreviated_grant_or_revoke
+where abbreviated_grant_or_revoke is one of:
+
+GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }
+[,...] | ALL [ PRIVILEGES ] }
+ON TABLES
+TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+
+GRANT { { USAGE | SELECT | UPDATE }
+[,...] | ALL [ PRIVILEGES ] }
+ON SEQUENCES
+TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+
+GRANT { EXECUTE | ALL [ PRIVILEGES ] }
+ON FUNCTIONS
+TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+
+REVOKE [ GRANT OPTION FOR ]
+{ { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }
+[,...] | ALL [ PRIVILEGES ] }
+ON TABLES
+FROM { [ GROUP ] role_name | PUBLIC } [, ...]
+[ CASCADE | RESTRICT ]
+
+REVOKE [ GRANT OPTION FOR ]
+{ { USAGE | SELECT | UPDATE }
+[,...] | ALL [ PRIVILEGES ] }
+ON SEQUENCES
+FROM { [ GROUP ] role_name | PUBLIC } [, ...]
+[ CASCADE | RESTRICT ]
+
+REVOKE [ GRANT OPTION FOR ]
+{ EXECUTE | ALL [ PRIVILEGES ] }
+ON FUNCTIONS
+FROM { [ GROUP ] role_name | PUBLIC } [, ...]
+[ CASCADE | RESTRICT ]
changedCREATE GROUP
--- 8.4 +++ 9.0 @@ -10,9 +10,9 @@ | LOGIN | NOLOGIN | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' | VALID UNTIL 'timestamp' -| IN ROLE rolename [, ...] -| IN GROUP rolename [, ...] -| ROLE rolename [, ...] -| ADMIN rolename [, ...] -| USER rolename [, ...] +| IN ROLE role_name [, ...] +| IN GROUP role_name [, ...] +| ROLE role_name [, ...] +| ADMIN role_name [, ...] +| USER role_name [, ...] | SYSID uid
changedALTER GROUP
--- 8.4 +++ 9.0 @@ -1,4 +1,4 @@ -ALTER GROUP groupname ADD USER username [, ... ] -ALTER GROUP groupname DROP USER username [, ... ] +ALTER GROUP group_name ADD USER user_name [, ... ] +ALTER GROUP group_name DROP USER user_name [, ... ] -ALTER GROUP groupname RENAME TO newname +ALTER GROUP group_name RENAME TO new_name
changedCREATE ROLE
--- 8.4 +++ 9.0 @@ -11,9 +11,9 @@ | CONNECTION LIMIT connlimit | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' | VALID UNTIL 'timestamp' -| IN ROLE rolename [, ...] -| IN GROUP rolename [, ...] -| ROLE rolename [, ...] -| ADMIN rolename [, ...] -| USER rolename [, ...] +| IN ROLE role_name [, ...] +| IN GROUP role_name [, ...] +| ROLE role_name [, ...] +| ADMIN role_name [, ...] +| USER role_name [, ...] | SYSID uid
changedALTER ROLE
--- 8.4
+++ 9.0
@@ -12,9 +12,9 @@
| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
| VALID UNTIL 'timestamp'
-ALTER ROLE name RENAME TO newname
+ALTER ROLE name RENAME TO new_name
-ALTER ROLE name SET configuration_parameter { TO | = } { value | DEFAULT }
-ALTER ROLE name SET configuration_parameter FROM CURRENT
-ALTER ROLE name RESET configuration_parameter
-ALTER ROLE name RESET ALL
+ALTER ROLE name [ IN DATABASE database_name ] SET configuration_parameter { TO | = } { value | DEFAULT }
+ALTER ROLE name [ IN DATABASE database_name ] SET configuration_parameter FROM CURRENT
+ALTER ROLE name [ IN DATABASE database_name ] RESET configuration_parameter
+ALTER ROLE name [ IN DATABASE database_name ] RESET ALL
changedSET ROLE
--- 8.4 +++ 9.0 @@ -1,3 +1,3 @@ -SET [ SESSION | LOCAL ] ROLE rolename +SET [ SESSION | LOCAL ] ROLE role_name SET [ SESSION | LOCAL ] ROLE NONE RESET ROLE
changedSET SESSION AUTHORIZATION
--- 8.4 +++ 9.0 @@ -1,3 +1,3 @@ -SET [ SESSION | LOCAL ] SESSION AUTHORIZATION username +SET [ SESSION | LOCAL ] SESSION AUTHORIZATION user_name SET [ SESSION | LOCAL ] SESSION AUTHORIZATION DEFAULT RESET SESSION AUTHORIZATION
changedCREATE USER
--- 8.4 +++ 9.0 @@ -11,9 +11,9 @@ | CONNECTION LIMIT connlimit | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' | VALID UNTIL 'timestamp' -| IN ROLE rolename [, ...] -| IN GROUP rolename [, ...] -| ROLE rolename [, ...] -| ADMIN rolename [, ...] -| USER rolename [, ...] +| IN ROLE role_name [, ...] +| IN GROUP role_name [, ...] +| ROLE role_name [, ...] +| ADMIN role_name [, ...] +| USER role_name [, ...] | SYSID uid
changedALTER USER
--- 8.4
+++ 9.0
@@ -12,7 +12,7 @@
| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
| VALID UNTIL 'timestamp'
-ALTER USER name RENAME TO newname
+ALTER USER name RENAME TO new_name
ALTER USER name SET configuration_parameter { TO | = } { value | DEFAULT }
ALTER USER name SET configuration_parameter FROM CURRENT
changedCREATE CONSTRAINT TRIGGER
--- 8.4
+++ 9.0
@@ -4,4 +4,5 @@
[ FROM referenced_table_name ]
{ NOT DEFERRABLE | [ DEFERRABLE ] { INITIALLY IMMEDIATE | INITIALLY DEFERRED } }
FOR EACH ROW
-EXECUTE PROCEDURE funcname ( arguments )
+[ WHEN ( condition ) ]
+EXECUTE PROCEDURE function_name ( arguments )
changedDROP RULE
--- 8.4 +++ 9.0 @@ -1 +1 @@ -DROP RULE [ IF EXISTS ] name ON relation [ CASCADE | RESTRICT ] +DROP RULE [ IF EXISTS ] name ON table [ CASCADE | RESTRICT ]
changedCREATE TRIGGER
--- 8.4
+++ 9.0
@@ -1,3 +1,4 @@
CREATE TRIGGER name { BEFORE | AFTER } { event [ OR ... ] }
ON table [ FOR [ EACH ] { ROW | STATEMENT } ]
-EXECUTE PROCEDURE funcname ( arguments )
+[ WHEN ( condition ) ]
+EXECUTE PROCEDURE function_name ( arguments )
changedALTER TRIGGER
--- 8.4 +++ 9.0 @@ -1 +1 @@ -ALTER TRIGGER name ON table RENAME TO newname +ALTER TRIGGER name ON table RENAME TO new_name
changedALTER TEXT SEARCH CONFIGURATION
--- 8.4 +++ 9.0 @@ -8,5 +8,5 @@ ALTER MAPPING FOR token_type [, ... ] REPLACE old_dictionary WITH new_dictionary ALTER TEXT SEARCH CONFIGURATION name DROP MAPPING [ IF EXISTS ] FOR token_type [, ... ] -ALTER TEXT SEARCH CONFIGURATION name RENAME TO newname -ALTER TEXT SEARCH CONFIGURATION name OWNER TO newowner +ALTER TEXT SEARCH CONFIGURATION name RENAME TO new_name +ALTER TEXT SEARCH CONFIGURATION name OWNER TO new_owner
changedALTER TEXT SEARCH DICTIONARY
--- 8.4 +++ 9.0 @@ -1,5 +1,5 @@ ALTER TEXT SEARCH DICTIONARY name ( option [ = value ] [, ... ] ) -ALTER TEXT SEARCH DICTIONARY name RENAME TO newname -ALTER TEXT SEARCH DICTIONARY name OWNER TO newowner +ALTER TEXT SEARCH DICTIONARY name RENAME TO new_name +ALTER TEXT SEARCH DICTIONARY name OWNER TO new_owner
changedALTER TEXT SEARCH PARSER
--- 8.4 +++ 9.0 @@ -1 +1 @@ -ALTER TEXT SEARCH PARSER name RENAME TO newname +ALTER TEXT SEARCH PARSER name RENAME TO new_name
changedALTER TEXT SEARCH TEMPLATE
--- 8.4 +++ 9.0 @@ -1 +1 @@ -ALTER TEXT SEARCH TEMPLATE name RENAME TO newname +ALTER TEXT SEARCH TEMPLATE name RENAME TO new_name
changedCREATE SERVER
--- 8.4 +++ 9.0 @@ -1,3 +1,3 @@ -CREATE SERVER servername [ TYPE 'servertype' ] [ VERSION 'serverversion' ] -FOREIGN DATA WRAPPER fdwname +CREATE SERVER server_name [ TYPE 'server_type' ] [ VERSION 'server_version' ] +FOREIGN DATA WRAPPER fdw_name [ OPTIONS ( option 'value' [, ... ] ) ]
changedALTER SERVER
--- 8.4 +++ 9.0 @@ -1,3 +1,3 @@ -ALTER SERVER servername [ VERSION 'newversion' ] +ALTER SERVER server_name [ VERSION 'new_version' ] [ OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] ) ] -ALTER SERVER servername OWNER TO new_owner +ALTER SERVER server_name OWNER TO new_owner
changedDROP SERVER
--- 8.4 +++ 9.0 @@ -1 +1 @@ -DROP SERVER [ IF EXISTS ] servername [ CASCADE | RESTRICT ] +DROP SERVER [ IF EXISTS ] server_name [ CASCADE | RESTRICT ]
changedCREATE USER MAPPING
--- 8.4
+++ 9.0
@@ -1,3 +1,3 @@
-CREATE USER MAPPING FOR { username | USER | CURRENT_USER | PUBLIC }
-SERVER servername
+CREATE USER MAPPING FOR { user_name | USER | CURRENT_USER | PUBLIC }
+SERVER server_name
[ OPTIONS ( option 'value' [ , ... ] ) ]
changedALTER USER MAPPING
--- 8.4
+++ 9.0
@@ -1,3 +1,3 @@
-ALTER USER MAPPING FOR { username | USER | CURRENT_USER | PUBLIC }
-SERVER servername
+ALTER USER MAPPING FOR { user_name | USER | CURRENT_USER | PUBLIC }
+SERVER server_name
OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )
changedDROP USER MAPPING
--- 8.4
+++ 9.0
@@ -1 +1 @@
-DROP USER MAPPING [ IF EXISTS ] FOR { username | USER | CURRENT_USER | PUBLIC } SERVER servername
+DROP USER MAPPING [ IF EXISTS ] FOR { user_name | USER | CURRENT_USER | PUBLIC } SERVER server_name
changedCOPY
--- 8.4
+++ 9.0
@@ -1,23 +1,19 @@
-COPY tablename [ ( column [, ...] ) ]
+COPY table_name [ ( column [, ...] ) ]
FROM { 'filename' | STDIN }
-[ [ WITH ]
-[ BINARY ]
-[ OIDS ]
-[ DELIMITER [ AS ] 'delimiter' ]
-[ NULL [ AS ] 'null string' ]
-[ CSV [ HEADER ]
-[ QUOTE [ AS ] 'quote' ]
-[ ESCAPE [ AS ] 'escape' ]
-[ FORCE NOT NULL column [, ...] ]
+[ [ WITH ] ( option [, ...] ) ]
-COPY { tablename [ ( column [, ...] ) ] | ( query ) }
+COPY { table_name [ ( column [, ...] ) ] | ( query ) }
TO { 'filename' | STDOUT }
-[ [ WITH ]
-[ BINARY ]
-[ OIDS ]
-[ DELIMITER [ AS ] 'delimiter' ]
-[ NULL [ AS ] 'null string' ]
-[ CSV [ HEADER ]
-[ QUOTE [ AS ] 'quote' ]
-[ ESCAPE [ AS ] 'escape' ]
-[ FORCE QUOTE column [, ...] ]
+[ [ WITH ] ( option [, ...] ) ]
+
+where option can be one of:
+
+FORMAT format_name
+OIDS [ boolean ]
+DELIMITER 'delimiter_character'
+NULL 'null_string'
+HEADER [ boolean ]
+QUOTE 'quote_character'
+ESCAPE 'escape_character'
+FORCE_QUOTE { ( column [, ...] ) | * }
+FORCE_NOT_NULL ( column [, ...] )
changedDELETE
--- 8.4 +++ 9.0 @@ -1,4 +1,4 @@ DELETE FROM [ ONLY ] table [ * ] [ [ AS ] alias ] -[ USING usinglist ] +[ USING using_list ] [ WHERE condition | WHERE CURRENT OF cursor_name ] [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]
changedEXPLAIN
--- 8.4
+++ 9.0
@@ -1 +1,9 @@
+EXPLAIN [ ( option [, ...] ) ] statement
EXPLAIN [ ANALYZE ] [ VERBOSE ] statement
+where option can be one of:
+
+ANALYZE [ boolean ]
+VERBOSE [ boolean ]
+COSTS [ boolean ]
+BUFFERS [ boolean ]
+FORMAT { TEXT | XML | JSON | YAML }
changedSELECT
--- 8.4
+++ 9.0
@@ -23,7 +23,6 @@
from_item [ NATURAL ] join_type from_item [ ON join_condition | USING ( join_column [, ...] ) ]
and with_query is:
-
with_query_name [ ( column_name [, ...] ) ] AS ( select )
TABLE { [ ONLY ] table_name [ * ] | with_query_name }
changedUPDATE
--- 8.4
+++ 9.0
@@ -1,6 +1,6 @@
UPDATE [ ONLY ] table [ * ] [ [ AS ] alias ]
SET { column = { expression | DEFAULT } |
( column [, ...] ) = ( { expression | DEFAULT } [, ...] ) } [, ...]
-[ FROM fromlist ]
+[ FROM from_list ]
[ WHERE condition | WHERE CURRENT OF cursor_name ]
[ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]
changedFETCH
--- 8.4
+++ 9.0
@@ -1,5 +1,4 @@
-FETCH [ direction { FROM | IN } ] cursorname
-
+FETCH [ direction [ FROM | IN ] ] cursor_name
where direction can be empty or one of:
NEXT
changedMOVE
--- 8.4
+++ 9.0
@@ -1 +1 @@
-MOVE [ direction { FROM | IN } ] cursorname
+MOVE [ direction [ FROM | IN ] ] cursor_name
changedPREPARE
--- 8.4 +++ 9.0 @@ -1 +1 @@ -PREPARE name [ ( datatype [, ...] ) ] AS statement +PREPARE name [ ( data_type [, ...] ) ] AS statement
changedLISTEN
--- 8.4 +++ 9.0 @@ -1 +1 @@ -LISTEN name +LISTEN channel
changedNOTIFY
--- 8.4 +++ 9.0 @@ -1 +1 @@ -NOTIFY name +NOTIFY channel [ , payload ]
changedUNLISTEN
--- 8.4
+++ 9.0
@@ -1 +1 @@
-UNLISTEN { name | * }
+UNLISTEN { channel | * }
changedCLUSTER
--- 8.4 +++ 9.0 @@ -1,2 +1,2 @@ -CLUSTER [VERBOSE] tablename [ USING indexname ] +CLUSTER [VERBOSE] table_name [ USING index_name ] CLUSTER [VERBOSE]
changedVACUUM
--- 8.4
+++ 9.0
@@ -1,2 +1,3 @@
+VACUUM [ ( { FULL | FREEZE | VERBOSE | ANALYZE } [, ...] ) ] [ table [ (column [, ...] ) ] ]
VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table ]
VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table [ (column [, ...] ) ] ]
changedCOMMENT
--- 8.4
+++ 9.0
@@ -1,17 +1,17 @@
COMMENT ON
{
TABLE object_name |
-COLUMN table_name.column_name |
AGGREGATE agg_name (agg_type [, ...] ) |
-CAST (sourcetype AS targettype) |
+CAST (source_type AS target_type) |
+COLUMN relation_name.column_name |
CONSTRAINT constraint_name ON table_name |
CONVERSION object_name |
DATABASE object_name |
DOMAIN object_name |
-FUNCTION func_name ( [ [ argmode ] [ argname ] argtype [, ...] ] ) |
+FUNCTION function_name ( [ [ argmode ] [ argname ] argtype [, ...] ] ) |
INDEX object_name |
LARGE OBJECT large_object_oid |
-OPERATOR op (leftoperand_type, rightoperand_type) |
+OPERATOR operator_name (left_type, right_type) |
OPERATOR CLASS object_name USING index_method |
OPERATOR FAMILY object_name USING index_method |
[ PROCEDURAL ] LANGUAGE object_name |
addedALTER LARGE OBJECT
--- 8.4 +++ 9.0 @@ -0,0 +1 @@ +ALTER LARGE OBJECT large_object_oid OWNER TO new_owner