SQL Commands / Version comparison
What changed?
SQL Commands · PostgreSQL 7.4 → 8.0
Historical documentation for a PostgreSQL version that is no longer supported.
9 added · 0 removed · 27 changed · 0 coverage changes. These are changes between the pinned reference snapshots.
changedCREATE TABLE
--- 7.4
+++ 8.0
@@ -6,11 +6,15 @@
[ INHERITS ( parent_table [, ... ] ) ]
[ WITH OIDS | WITHOUT OIDS ]
[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
+[ TABLESPACE tablespace ]
where column_constraint is:
[ CONSTRAINT constraint_name ]
-{ NOT NULL | NULL | UNIQUE | PRIMARY KEY |
+{ NOT NULL |
+NULL |
+UNIQUE [ USING INDEX TABLESPACE tablespace ] |
+PRIMARY KEY [ USING INDEX TABLESPACE tablespace ] |
CHECK (expression) |
REFERENCES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]
[ ON DELETE action ] [ ON UPDATE action ] }
@@ -19,8 +23,8 @@
and table_constraint is:
[ CONSTRAINT constraint_name ]
-{ UNIQUE ( column_name [, ... ] ) |
-PRIMARY KEY ( column_name [, ... ] ) |
+{ UNIQUE ( column_name [, ... ] ) [ USING INDEX TABLESPACE tablespace ] |
+PRIMARY KEY ( column_name [, ... ] ) [ USING INDEX TABLESPACE tablespace ] |
CHECK ( expression ) |
FOREIGN KEY ( column_name [, ... ] ) REFERENCES reftable [ ( refcolumn [, ... ] ) ]
[ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE action ] [ ON UPDATE action ] }
changedALTER TABLE
--- 7.4
+++ 8.0
@@ -1,26 +1,24 @@
ALTER TABLE [ ONLY ] name [ * ]
-ADD [ COLUMN ] column type [ column_constraint [ ... ] ]
-ALTER TABLE [ ONLY ] name [ * ]
-DROP [ COLUMN ] column [ RESTRICT | CASCADE ]
-ALTER TABLE [ ONLY ] name [ * ]
-ALTER [ COLUMN ] column { SET DEFAULT expression | DROP DEFAULT }
-ALTER TABLE [ ONLY ] name [ * ]
-ALTER [ COLUMN ] column { SET | DROP } NOT NULL
-ALTER TABLE [ ONLY ] name [ * ]
-ALTER [ COLUMN ] column SET STATISTICS integer
-ALTER TABLE [ ONLY ] name [ * ]
-ALTER [ COLUMN ] column SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }
-ALTER TABLE [ ONLY ] name [ * ]
-SET WITHOUT OIDS
+action [, ... ]
ALTER TABLE [ ONLY ] name [ * ]
RENAME [ COLUMN ] column TO new_column
ALTER TABLE name
RENAME TO new_name
-ALTER TABLE [ ONLY ] name [ * ]
+
+where action is one of:
+
+ADD [ COLUMN ] column type [ column_constraint [ ... ] ]
+DROP [ COLUMN ] column [ RESTRICT | CASCADE ]
+ALTER [ COLUMN ] column 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 STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }
ADD table_constraint
-ALTER TABLE [ ONLY ] name [ * ]
DROP CONSTRAINT constraint_name [ RESTRICT | CASCADE ]
-ALTER TABLE name
+CLUSTER ON index_name
+SET WITHOUT CLUSTER
+SET WITHOUT OIDS
OWNER TO new_owner
-ALTER TABLE name
-CLUSTER ON index_name
+SET TABLESPACE tablespace_name
changedCREATE TABLE AS
--- 7.4
+++ 8.0
@@ -1,2 +1,2 @@
-CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name [ (column_name [, ...] ) ]
+CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name [ (column_name [, ...] ) ] [ [ WITH | WITHOUT ] OIDS ]
AS query
changedCREATE INDEX
--- 7.4
+++ 8.0
@@ -1,3 +1,4 @@
CREATE [ UNIQUE ] INDEX name ON table [ USING method ]
( { column | ( expression ) } [ opclass ] [, ...] )
+[ TABLESPACE tablespace ]
[ WHERE predicate ]
addedALTER INDEX
--- 7.4 +++ 8.0 @@ -0,0 +1,9 @@ +ALTER INDEX name +action [, ... ] +ALTER INDEX name +RENAME TO new_name + +where action is one of: + +OWNER TO new_owner +SET TABLESPACE indexspace_name
changedALTER AGGREGATE
--- 7.4 +++ 8.0 @@ -1 +1,2 @@ ALTER AGGREGATE name ( type ) RENAME TO newname +ALTER AGGREGATE name ( type ) OWNER TO newowner
changedCREATE FUNCTION
--- 7.4
+++ 8.0
@@ -1,9 +1,9 @@
-CREATE [ OR REPLACE ] FUNCTION name ( [ argtype [, ...] ] )
+CREATE [ OR REPLACE ] FUNCTION name ( [ [ argname ] argtype [, ...] ] )
RETURNS rettype
{ LANGUAGE langname
| IMMUTABLE | STABLE | VOLATILE
| CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT
-| [EXTERNAL] SECURITY INVOKER | [EXTERNAL] SECURITY DEFINER
+| [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER
| AS 'definition'
| AS 'obj_file', 'link_symbol'
} ...
changedALTER FUNCTION
--- 7.4 +++ 8.0 @@ -1 +1,2 @@ ALTER FUNCTION name ( [ type [, ...] ] ) RENAME TO newname +ALTER FUNCTION name ( [ type [, ...] ] ) OWNER TO newowner
changedCREATE CAST
--- 7.4 +++ 8.0 @@ -1,5 +1,5 @@ CREATE CAST (sourcetype AS targettype) -WITH FUNCTION funcname (argtype) +WITH FUNCTION funcname (argtypes) [ AS ASSIGNMENT | AS IMPLICIT ] CREATE CAST (sourcetype AS targettype)
changedALTER CONVERSION
--- 7.4 +++ 8.0 @@ -1 +1,2 @@ ALTER CONVERSION name RENAME TO newname +ALTER CONVERSION name OWNER TO newowner
addedALTER OPERATOR
--- 7.4
+++ 8.0
@@ -0,0 +1 @@
+ALTER OPERATOR name ( { lefttype | NONE } , { righttype | NONE } ) OWNER TO newowner
changedDROP OPERATOR
--- 7.4
+++ 8.0
@@ -1 +1 @@
-DROP OPERATOR name ( lefttype | NONE , righttype | NONE ) [ CASCADE | RESTRICT ]
+DROP OPERATOR name ( { lefttype | NONE } , { righttype | NONE } ) [ CASCADE | RESTRICT ]
changedALTER OPERATOR CLASS
--- 7.4 +++ 8.0 @@ -1 +1,2 @@ ALTER OPERATOR CLASS name USING index_method RENAME TO newname +ALTER OPERATOR CLASS name USING index_method OWNER TO newowner
changedCREATE TYPE
--- 7.4
+++ 8.0
@@ -6,6 +6,7 @@
OUTPUT = output_function
[ , RECEIVE = receive_function ]
[ , SEND = send_function ]
+[ , ANALYZE = analyze_function ]
[ , INTERNALLENGTH = { internallength | VARIABLE } ]
[ , PASSEDBYVALUE ]
[ , ALIGNMENT = alignment ]
addedALTER TYPE
--- 7.4 +++ 8.0 @@ -0,0 +1 @@ +ALTER TYPE name OWNER TO new_owner
changedCREATE DATABASE
--- 7.4 +++ 8.0 @@ -1,5 +1,5 @@ CREATE DATABASE name [ [ WITH ] [ OWNER [=] dbowner ] -[ LOCATION [=] 'dbpath' ] [ TEMPLATE [=] template ] -[ ENCODING [=] encoding ] ] +[ ENCODING [=] encoding ] +[ TABLESPACE [=] tablespace ] ]
changedALTER DATABASE
--- 7.4 +++ 8.0 @@ -2,3 +2,5 @@ ALTER DATABASE name RESET parameter ALTER DATABASE name RENAME TO newname + +ALTER DATABASE name OWNER TO new_owner
changedALTER SCHEMA
--- 7.4 +++ 8.0 @@ -1 +1,2 @@ ALTER SCHEMA name RENAME TO newname +ALTER SCHEMA name OWNER TO newowner
addedCREATE TABLESPACE
--- 7.4 +++ 8.0 @@ -0,0 +1 @@ +CREATE TABLESPACE tablespacename [ OWNER username ] LOCATION 'directory'
addedALTER TABLESPACE
--- 7.4 +++ 8.0 @@ -0,0 +1,2 @@ +ALTER TABLESPACE name RENAME TO newname +ALTER TABLESPACE name OWNER TO newowner
addedDROP TABLESPACE
--- 7.4 +++ 8.0 @@ -0,0 +1 @@ +DROP TABLESPACE tablespacename
changedGRANT
--- 7.4
+++ 8.0
@@ -18,3 +18,7 @@
GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
ON SCHEMA schemaname [, ...]
TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]
+
+GRANT { CREATE | ALL [ PRIVILEGES ] }
+ON TABLESPACE tablespacename [, ...]
+TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]
changedREVOKE
--- 7.4
+++ 8.0
@@ -28,3 +28,9 @@
ON SCHEMA schemaname [, ...]
FROM { username | GROUP groupname | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]
+
+REVOKE [ GRANT OPTION FOR ]
+{ CREATE | ALL [ PRIVILEGES ] }
+ON TABLESPACE tablespacename [, ...]
+FROM { username | GROUP groupname | PUBLIC } [, ...]
+[ CASCADE | RESTRICT ]
changedCREATE USER
--- 7.4 +++ 8.0 @@ -3,8 +3,8 @@ where option can be: SYSID uid -| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' | CREATEDB | NOCREATEDB | CREATEUSER | NOCREATEUSER | IN GROUP groupname [, ...] +| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' | VALID UNTIL 'abstime'
changedALTER USER
--- 7.4 +++ 8.0 @@ -2,9 +2,9 @@ where option can be: -[ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' -| CREATEDB | NOCREATEDB +CREATEDB | NOCREATEDB | CREATEUSER | NOCREATEUSER +| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' | VALID UNTIL 'abstime' ALTER USER name RENAME TO newname
changedCREATE RULE
--- 7.4
+++ 8.0
@@ -1,3 +1,3 @@
CREATE [ OR REPLACE ] RULE name AS ON event
TO table [ WHERE condition ]
-DO [ INSTEAD ] { NOTHING | command | ( command ; command ... ) }
+DO [ ALSO | INSTEAD ] { NOTHING | command | ( command ; command ... ) }
changedCOPY
--- 7.4
+++ 8.0
@@ -4,7 +4,10 @@
[ BINARY ]
[ OIDS ]
[ DELIMITER [ AS ] 'delimiter' ]
-[ NULL [ AS ] 'null string' ] ]
+[ NULL [ AS ] 'null string' ]
+[ CSV [ QUOTE [ AS ] 'quote' ]
+[ ESCAPE [ AS ] 'escape' ]
+[ FORCE NOT NULL column [, ...] ]
COPY tablename [ ( column [, ...] ) ]
TO { 'filename' | STDOUT }
@@ -12,4 +15,7 @@
[ BINARY ]
[ OIDS ]
[ DELIMITER [ AS ] 'delimiter' ]
-[ NULL [ AS ] 'null string' ] ]
+[ NULL [ AS ] 'null string' ]
+[ CSV [ QUOTE [ AS ] 'quote' ]
+[ ESCAPE [ AS ] 'escape' ]
+[ FORCE QUOTE column [, ...] ]
changedLOCK
--- 7.4 +++ 8.0 @@ -1,4 +1,4 @@ -LOCK [ TABLE ] name [, ...] [ IN lockmode MODE ] +LOCK [ TABLE ] name [, ...] [ IN lockmode MODE ] [ NOWAIT ] where lockmode is one of:
changedBEGIN
--- 7.4
+++ 8.0
@@ -1 +1,6 @@
-BEGIN [ WORK | TRANSACTION ]
+BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ]
+
+where transaction_mode is one of:
+
+ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
+READ WRITE | READ ONLY
addedSAVEPOINT
--- 7.4 +++ 8.0 @@ -0,0 +1 @@ +SAVEPOINT savepoint_name
addedRELEASE SAVEPOINT
--- 7.4 +++ 8.0 @@ -0,0 +1 @@ +RELEASE [ SAVEPOINT ] savepoint_name
addedROLLBACK TO SAVEPOINT
--- 7.4 +++ 8.0 @@ -0,0 +1 @@ +ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] savepoint_name
changedSET TRANSACTION
--- 7.4
+++ 8.0
@@ -1,4 +1,7 @@
-SET TRANSACTION
-[ ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE } ] [ READ WRITE | READ ONLY ]
-SET SESSION CHARACTERISTICS AS TRANSACTION
-[ ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE } ] [ READ WRITE | READ ONLY ]
+SET TRANSACTION transaction_mode [, ...]
+SET SESSION CHARACTERISTICS AS TRANSACTION transaction_mode [, ...]
+
+where transaction_mode is one of:
+
+ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
+READ WRITE | READ ONLY
changedSTART TRANSACTION
--- 7.4
+++ 8.0
@@ -1 +1,6 @@
-START TRANSACTION [ ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE } ] [ READ WRITE | READ ONLY ]
+START TRANSACTION [ transaction_mode [, ...] ]
+
+where transaction_mode is one of:
+
+ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
+READ WRITE | READ ONLY
changedVACUUM
--- 7.4 +++ 8.0 @@ -1,2 +1,2 @@ -VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table ] -VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table [ (column [, ...] ) ] ] +VACUUM [ FULL | FREEZE ] [ VERBOSE ] [ table ] +VACUUM [ FULL | FREEZE ] [ VERBOSE ] ANALYZE [ table [ (column [, ...] ) ] ]
changedCOMMENT
--- 7.4 +++ 8.0 @@ -3,12 +3,17 @@ TABLE object_name | COLUMN table_name.column_name | AGGREGATE agg_name (agg_type) | +CAST (sourcetype AS targettype) | CONSTRAINT constraint_name ON table_name | +CONVERSION object_name | DATABASE object_name | DOMAIN object_name | FUNCTION func_name (arg1_type, arg2_type, ...) | INDEX object_name | +LARGE OBJECT large_object_oid | OPERATOR op (leftoperand_type, rightoperand_type) | +OPERATOR CLASS object_name USING index_method | +[ PROCEDURAL ] LANGUAGE object_name | RULE rule_name ON table_name | SCHEMA object_name | SEQUENCE object_name |