Schemas
- Schemas allow users to create objects in their own namespace
+ Schemas allow users to create objects in separate namespaces,
so two people or applications can have tables with the same
name. There is also a public schema for shared tables.
Table/index creation can be restricted by removing permissions
By default, functions can now take up to 32 parameters, and
- identifiers can be up to 63 bytes long.
+ identifiers can be up to 63 bytes long. Also, OPAQUE>
+ is now deprecated: there are specific pseudo-datatypes>
+ to represent each of the former meanings of OPAQUE>
+ in function argument and result types.
Several postgresql.conf logging parameters
- have been renamed and improved.
+ have been renamed.
INSERT statements with column lists must
- specify all values; e.g., INSERT INTO tab (col1, col2)
- VALUES ('val1') is now invalid.
+ specify a value for each specified column. For example,
+ INSERT INTO tab (col1, col2) VALUES ('val1')
+ is now invalid. It's still allowed to supply fewer columns than
+ expected if the INSERT does not have a column list.
- An index is now not automatically created for serial columns.
+ serial columns are no longer automatically
+ UNIQUE>; thus, an index will not automatically be
+ created.
COPY no longer considers missing trailing
columns to be null. All columns need to be specified.
+ (However, one may achieve a similar effect by specifying a
+ column list in the COPY command.)
The data type timestamp is now equivalent to
- timestamp without timezone, instead of
- timestamp with timezone.
+ timestamp without time zone, instead of
+ timestamp with time zone.
dependencies for serial columns, unique
constraints, and foreign keys. See the directory
contrib/adddepend/ for a detailed
- description and a script that will add the such dependencies.
+ description and a script that will add such dependencies.
+
+
+
+
+ An empty string ('') is no longer allowed as
+ the input into an integer field. Formerly, it was silently
+ interpreted as 0.
Speed improvement for large object restore (Mario Weilguni)
Mark expired index entries on first lookup, saving later heap fetches
(Tom)
-Eliminate NULL bitmap padding when not required (Manfred)
+Avoid excessive NULL bitmap padding (Manfred Koizar)
Add BSD-licensed qsort() for Solaris, for performance (Bruce)
Reduce per-row overhead by four bytes (Manfred Koizar)
Fix GEQO optimizer bug (Neil Conway)
Disable LIMIT #,# syntax; now only LIMIT # OFFSET # supported (Bruce)
Increase identifier length to 63 (Neil, Bruce)
UNION fixes for merging >= 3 columns of different lengths (Tom)
-Add DEFAULT keyword to INSERT, e.g., INSERT ... (..., DEFAULT, )
+Add DEFAULT keyword to INSERT, e.g., INSERT ... (..., DEFAULT, ...)
(Rod)
Allow views to have default values using ALTER COLUMN ... SET DEFAULT
(Neil)
Object Manipulation
Make equals signs optional in CREATE DATABASE (Gavin Sherry)
-Make ALTER TABLE OWNER to change index ownership (Neil)
+Make ALTER TABLE OWNER change index ownership too (Neil)
New ALTER TABLE tabname ALTER COLUMN colname SET STORAGE controls
TOAST storage, compression (John Gray)
Add schema support, CREATE/DROP SCHEMA (Tom)
(Rod)
Rollback SET commands in aborted transactions (Tom)
EXPLAIN now outputs as a query (Tom)
-Display sort keys in EXPLAIN (Tom)
+Display condition expressions and sort keys in EXPLAIN (Tom)
Add 'SET LOCAL var = value' to set configuration variables for a
single transaction (Tom)
Allow ANALYZE to run in a transaction (Bruce)
Internationalization
-Add additional encodings (Korean (JOHAB), Thai (WIN874), Vietnamese
+Add additional encodings: Korean (JOHAB), Thai (WIN874), Vietnamese
(TCVN), Arabic (WIN1256), Simplified Chinese (GBK), Korean (UHC)
(Eiji Tokuya)
Enable locale support by default (Peter)
Change PL/Tcl build to use configured compiler and Makefile.shlib
(Peter)
Overhaul the PL/pgSQL FOUND variable to be more Oracle-compatible
- (Tom, Neil)
+ (Neil, Tom)
Allow PL/pgSQL to handle quoted identifiers (Tom)
Allow set-returning PL/pgSQL functions (Neil)
Make PL/pgSQL schema-aware (Joe)
Add /contrib/tablefunc table function examples (Joe)
Add /contrib/ltree data type for tree structures (Teodor Sigaev,
Oleg Bartunov)
-Move /contrib/pg_controldata into main tree (Bruce)
+Move /contrib/pg_controldata, pg_resetxlog into main tree (Bruce)
Fixes to /contrib/cube (Bruno Wolff)
Improve /contrib/fulltextindex (Christopher)