↑↓ select ↵ open ⌫ change scope Open full search

PG.CENTER connects PostgreSQL documentation, reference, and ecosystem knowledge. Maintained by Pigsty.

SQL Commands / Version comparison

What changed?

SQL Commands · PostgreSQL 9.3 → 9.4

Browse PG 9.4

Historical documentation for a PostgreSQL version that is no longer supported.

1 added · 0 removed · 17 changed · 0 coverage changes. These are changes between the pinned reference snapshots.

changedALTER MATERIALIZED VIEW
--- 9.3
+++ 9.4
@@ -6,6 +6,9 @@
 RENAME TO new_name
 ALTER MATERIALIZED VIEW [ IF EXISTS ] name
 SET SCHEMA new_schema
+ALTER MATERIALIZED VIEW ALL IN TABLESPACE name [ OWNED BY role_name [, ... ] ]
+SET TABLESPACE new_tablespace [ NOWAIT ]
+
 where action is one of:
 
 ALTER [ COLUMN ] column_name SET STATISTICS integer
@@ -17,4 +20,3 @@
 SET ( storage_parameter = value [, ... ] )
 RESET ( storage_parameter [, ... ] )
 OWNER TO new_owner
-SET TABLESPACE new_tablespace
changedREFRESH MATERIALIZED VIEW
--- 9.3
+++ 9.4
@@ -1,2 +1,2 @@
-REFRESH MATERIALIZED VIEW name
+REFRESH MATERIALIZED VIEW [ CONCURRENTLY ] name
 [ WITH [ NO ] DATA ]
changedALTER TABLE
--- 9.3
+++ 9.4
@@ -8,6 +8,9 @@
 RENAME TO new_name
 ALTER TABLE [ IF EXISTS ] name
 SET SCHEMA new_schema
+ALTER TABLE ALL IN TABLESPACE name [ OWNED BY role_name [, ... ] ]
+SET TABLESPACE new_tablespace [ NOWAIT ]
+
 where action is one of:
 
 ADD [ COLUMN ] column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ]
@@ -22,6 +25,7 @@
 ALTER [ COLUMN ] column_name SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }
 ADD table_constraint [ NOT VALID ]
 ADD table_constraint_using_index
+ALTER CONSTRAINT constraint_name [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]
 VALIDATE CONSTRAINT constraint_name
 DROP CONSTRAINT [ IF EXISTS ] constraint_name [ RESTRICT | CASCADE ]
 DISABLE TRIGGER [ trigger_name | ALL | USER ]
@@ -44,6 +48,8 @@
 NOT OF
 OWNER TO new_owner
 SET TABLESPACE new_tablespace
+REPLICA IDENTITY {DEFAULT | USING INDEX index_name | FULL | NOTHING}
+
 and table_constraint_using_index is:
 
 [ CONSTRAINT constraint_name ]
changedCREATE VIEW
--- 9.3
+++ 9.4
@@ -1,3 +1,4 @@
 CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] [ RECURSIVE ] VIEW name [ ( column_name [, ...] ) ]
 [ WITH ( view_option_name [= view_option_value] [, ... ] ) ]
 AS query
+[ WITH [ CASCADED | LOCAL ] CHECK OPTION ]
changedALTER INDEX
--- 9.3
+++ 9.4
@@ -2,3 +2,5 @@
 ALTER INDEX [ IF EXISTS ] name SET TABLESPACE tablespace_name
 ALTER INDEX [ IF EXISTS ] name SET ( storage_parameter = value [, ... ] )
 ALTER INDEX [ IF EXISTS ] name RESET ( storage_parameter [, ... ] )
+ALTER INDEX ALL IN TABLESPACE name [ OWNED BY role_name [, ... ] ]
+SET TABLESPACE new_tablespace [ NOWAIT ]
changedCREATE AGGREGATE
--- 9.3
+++ 9.4
@@ -1,9 +1,29 @@
-CREATE AGGREGATE name ( input_data_type [ , ... ] ) (
+CREATE AGGREGATE name ( [ argmode ] [ argname ] arg_data_type [ , ... ] ) (
 SFUNC = sfunc,
 STYPE = state_data_type
+[ , SSPACE = state_data_size ]
 [ , FINALFUNC = ffunc ]
+[ , FINALFUNC_EXTRA ]
 [ , INITCOND = initial_condition ]
+[ , MSFUNC = msfunc ]
+[ , MINVFUNC = minvfunc ]
+[ , MSTYPE = mstate_data_type ]
+[ , MSSPACE = mstate_data_size ]
+[ , MFINALFUNC = mffunc ]
+[ , MFINALFUNC_EXTRA ]
+[ , MINITCOND = minitial_condition ]
 [ , SORTOP = sort_operator ]
+)
+
+CREATE AGGREGATE name ( [ [ argmode ] [ argname ] arg_data_type [ , ... ] ]
+ORDER BY [ argmode ] [ argname ] arg_data_type [ , ... ] ) (
+SFUNC = sfunc,
+STYPE = state_data_type
+[ , SSPACE = state_data_size ]
+[ , FINALFUNC = ffunc ]
+[ , FINALFUNC_EXTRA ]
+[ , INITCOND = initial_condition ]
+[ , HYPOTHETICAL ]
 )
 
 or the old syntax
@@ -12,7 +32,16 @@
 BASETYPE = base_type,
 SFUNC = sfunc,
 STYPE = state_data_type
+[ , SSPACE = state_data_size ]
 [ , FINALFUNC = ffunc ]
+[ , FINALFUNC_EXTRA ]
 [ , INITCOND = initial_condition ]
+[ , MSFUNC = msfunc ]
+[ , MINVFUNC = minvfunc ]
+[ , MSTYPE = mstate_data_type ]
+[ , MSSPACE = mstate_data_size ]
+[ , MFINALFUNC = mffunc ]
+[ , MFINALFUNC_EXTRA ]
+[ , MINITCOND = minitial_condition ]
 [ , SORTOP = sort_operator ]
 )
changedALTER AGGREGATE
--- 9.3
+++ 9.4
@@ -1,3 +1,8 @@
-ALTER AGGREGATE name ( argtype [ , ... ] ) RENAME TO new_name
-ALTER AGGREGATE name ( argtype [ , ... ] ) OWNER TO new_owner
-ALTER AGGREGATE name ( argtype [ , ... ] ) SET SCHEMA new_schema
+ALTER AGGREGATE name ( aggregate_signature ) RENAME TO new_name
+ALTER AGGREGATE name ( aggregate_signature ) OWNER TO new_owner
+ALTER AGGREGATE name ( aggregate_signature ) SET SCHEMA new_schema
+where aggregate_signature is:
+
+* |
+[ argmode ] [ argname ] argtype [ , ... ] |
+[ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ]
changedDROP AGGREGATE
--- 9.3
+++ 9.4
@@ -1 +1,7 @@
-DROP AGGREGATE [ IF EXISTS ] name ( argtype [ , ... ] ) [ CASCADE | RESTRICT ]
+DROP AGGREGATE [ IF EXISTS ] name ( aggregate_signature ) [ CASCADE | RESTRICT ]
+
+where aggregate_signature is:
+
+* |
+[ argmode ] [ argname ] argtype [ , ... ] |
+[ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ]
changedCREATE TABLESPACE
--- 9.3
+++ 9.4
@@ -1 +1,4 @@
-CREATE TABLESPACE tablespace_name [ OWNER user_name ] LOCATION 'directory'
+CREATE TABLESPACE tablespace_name
+[ OWNER user_name ]
+LOCATION 'directory'
+[ WITH ( tablespace_option = value [, ... ] ) ]
changedSECURITY LABEL
--- 9.3
+++ 9.4
@@ -2,7 +2,7 @@
 {
 TABLE object_name |
 COLUMN table_name.column_name |
-AGGREGATE agg_name (agg_type [, ...] ) |
+AGGREGATE aggregate_name ( aggregate_signature ) |
 DATABASE object_name |
 DOMAIN object_name |
 EVENT TRIGGER object_name |
@@ -18,3 +18,9 @@
 TYPE object_name |
 VIEW object_name
 } IS 'label'
+
+where aggregate_signature is:
+
+* |
+[ argmode ] [ argname ] argtype [ , ... ] |
+[ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ]
changedCREATE RULE
--- 9.3
+++ 9.4
@@ -1,3 +1,7 @@
 CREATE [ OR REPLACE ] RULE name AS ON event
 TO table_name [ WHERE condition ]
 DO [ ALSO | INSTEAD ] { NOTHING | command | ( command ; command ... ) }
+
+where event can be one of:
+
+SELECT | INSERT | UPDATE | DELETE
changedALTER EXTENSION
--- 9.3
+++ 9.4
@@ -4,7 +4,7 @@
 ALTER EXTENSION name DROP member_object
 where member_object is:
 
-AGGREGATE agg_name (agg_type [, ...] ) |
+AGGREGATE aggregate_name ( aggregate_signature ) |
 CAST (source_type AS target_type) |
 COLLATION object_name |
 CONVERSION object_name |
@@ -28,3 +28,8 @@
 TEXT SEARCH TEMPLATE object_name |
 TYPE object_name |
 VIEW object_name
+and aggregate_signature is:
+
+* |
+[ argmode ] [ argname ] argtype [ , ... ] |
+[ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ]
changedALTER FOREIGN TABLE
--- 9.3
+++ 9.4
@@ -18,5 +18,9 @@
 ALTER [ COLUMN ] column_name SET ( attribute_option = value [, ... ] )
 ALTER [ COLUMN ] column_name RESET ( attribute_option [, ... ] )
 ALTER [ COLUMN ] column_name OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ])
+DISABLE TRIGGER [ trigger_name | ALL | USER ]
+ENABLE TRIGGER [ trigger_name | ALL | USER ]
+ENABLE REPLICA TRIGGER trigger_name
+ENABLE ALWAYS TRIGGER trigger_name
 OWNER TO new_owner
 OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ])
changedCOPY
--- 9.3
+++ 9.4
@@ -18,4 +18,5 @@
 ESCAPE 'escape_character'
 FORCE_QUOTE { ( column_name [, ...] ) | * }
 FORCE_NOT_NULL ( column_name [, ...] )
+FORCE_NULL ( column_name [, ...] )
 ENCODING 'encoding_name'
changedSELECT
--- 9.3
+++ 9.4
@@ -1,6 +1,6 @@
 [ WITH [ RECURSIVE ] with_query [, ...] ]
 SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
-* | expression [ [ AS ] output_name ] [, ...]
+[ * | expression [ [ AS ] output_name ] [, ...] ]
 [ FROM from_item [, ...] ]
 [ WHERE condition ]
 [ GROUP BY expression [, ...] ]
@@ -18,8 +18,12 @@
 [ ONLY ] table_name [ * ] [ [ AS ] alias [ ( column_alias [, ...] ) ] ]
 [ LATERAL ] ( select ) [ AS ] alias [ ( column_alias [, ...] ) ]
 with_query_name [ [ AS ] alias [ ( column_alias [, ...] ) ] ]
-[ LATERAL ] function_name ( [ argument [, ...] ] ) [ AS ] alias [ ( column_alias [, ...] | column_definition [, ...] ) ]
+[ LATERAL ] function_name ( [ argument [, ...] ] )
+[ WITH ORDINALITY ] [ [ AS ] alias [ ( column_alias [, ...] ) ] ]
+[ LATERAL ] function_name ( [ argument [, ...] ] ) [ AS ] alias ( column_definition [, ...] )
 [ LATERAL ] function_name ( [ argument [, ...] ] ) AS ( column_definition [, ...] )
+[ LATERAL ] ROWS FROM( function_name ( [ argument [, ...] ] ) [ AS ( column_definition [, ...] ) ] [, ...] )
+[ WITH ORDINALITY ] [ [ AS ] alias [ ( column_alias [, ...] ) ] ]
 from_item [ NATURAL ] join_type from_item [ ON join_condition | USING ( join_column [, ...] ) ]
 
 and with_query is:
changedDISCARD
--- 9.3
+++ 9.4
@@ -1 +1 @@
-DISCARD { ALL | PLANS | TEMPORARY | TEMP }
+DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }
addedALTER SYSTEM
--- 9.3
+++ 9.4
@@ -0,0 +1,4 @@
+ALTER SYSTEM SET configuration_parameter { TO | = } { value | 'value' | DEFAULT }
+
+ALTER SYSTEM RESET configuration_parameter
+ALTER SYSTEM RESET ALL
changedCOMMENT
--- 9.3
+++ 9.4
@@ -1,6 +1,6 @@
 COMMENT ON
 {
-AGGREGATE agg_name (agg_type [, ...] ) |
+AGGREGATE aggregate_name ( aggregate_signature ) |
 CAST (source_type AS target_type) |
 COLLATION object_name |
 COLUMN relation_name.column_name |
@@ -35,3 +35,9 @@
 TYPE object_name |
 VIEW object_name
 } IS 'text'
+
+where aggregate_signature is:
+
+* |
+[ argmode ] [ argname ] argtype [ , ... ] |
+[ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ]