1-
2- Chapter 0. Release Notes
3-
4- Table of Contents
5- Release 7.0
6- Release 6.5.3
7- Release 6.5.2
8- Release 6.5.1
9- Release 6.5
10- Release 6.4.2
11- Release 6.4.1
12- Release 6.4
13- Release 6.3.2
14- Release 6.3.1
15- Release 6.3
16- Release 6.2.1
17- Release 6.2
18- Release 6.1.1
19- Release 6.1
20- Release v6.0
21- Release v1.09
22- Release v1.02
23- Release v1.01
24- Release v1.0
25- Postgres95 Beta 0.03
26- Postgres95 Beta 0.02
27- Postgres95 Beta 0.01
28- Timing Results
29-
1+ ------------------------------------------------------------------------
2+ Release Notes
3+ ------------------------------------------------------------------------
4+
305Release 7.0
31- -----------
32-
33- This release shows the continued growth of PostgreSQL. There are more
34- updated items in 7.0 than in any previous release. Don't be concerned
35- this is a dot-zero release. PostgreSQL does its best to put
36- out only solid releases, and this one is no exception.
376
7+ This release shows the continued growth of PostgreSQL. There are more
8+ changes in 7.0 than in any previous release. Don't be concerned this
9+ is a dot-zero release. We do our best to put out only solid releases,
10+ and this one is no exception.
11+
3812Major changes in this release:
39-
40- Foreign Keys: Foreign keys are now implemented, with the exception of
41- PARTIAL MATCH foreign keys. Many users have been asking for this
42- feature, and we are pleased to finally offer it.
43-
44- Optimizer Overhaul: Continuing on work started a year ago, the
45- optimizer has been overhauled in many significant ways, allowing better
46- query execution processing with faster performance and less memory
47- usage.
48-
49- Updated psql: psql, our interactive terminal monitor, has been updated,
50- with a variety of new features. See the psql manual page for the details.
51-
52- Upcoming Features: In 7.1, we plan to have outer joins, storage for very long
53- rows, and a write-ahead logging system.
13+
14+ Foreign Keys
15+ Foreign keys are now implemented, with the exception of PARTIAL
16+ MATCH foreign keys. Many users have been asking for this
17+ feature, and we are pleased to offer it.
18+
19+ Optimizer Overhaul
20+ Continuing on work started a year ago, the optimizer has been
21+ overhauled, allowing improved query execution and better
22+ performance with less memory usage.
23+
24+ Updated psql
25+ psql, our interactive terminal monitor, has been updated with a
26+ variety of new features. See the psql manual page for details.
27+
28+ Upcoming Features
29+ In 7.1, we plan to have outer joins, storage for very long
30+ rows, and a write-ahead logging system.
31+
32+ Migration to v7.0
33+
34+ A dump/restore using pg_dump is required for those wishing to migrate
35+ data from any previous release. For those upgrading from 6.5.*, you
36+ can use pg_upgrade to upgrade to this release.
37+
38+ Detailed Change List
5439
5540Bug Fixes
5641---------
5742Prevent function calls with more than maximum number of arguments (Tom)
5843Many fixes for CASE (Tom)
5944Fix SELECT coalesce(f1,0) FROM int4_tbl GROUP BY f1 (Tom)
6045Fix SELECT sentence.words[0] FROM sentence GROUP BY sentence.words[0] (Tom)
61- Allow utility statements in plpgsql (Tom)
6246Fix GROUP BY scan bug (Tom)
6347Improvements in SQL grammar processing (Tom)
6448Fix for views involved in INSERT ... SELECT ... (Tom)
@@ -67,9 +51,9 @@ Fix for subselects in INSERT ... SELECT (Tom)
6751Prevent INSERT ... SELECT ... ORDER BY (Tom)
6852Fixes for relations greater than 2GB, including vacuum
6953Improve communication of system table changes to other running backends (Tom)
70- Improve communication of user table modifications to other running backends (Tom)
54+ Improve communication of user table modifications to other running backends (To
55+ m)
7156Fix handling of temp tables in complex situations (Bruce, Tom)
72- Disallow DROP TABLE/DROP INDEX inside a transaction block
7357Allow table locking when tables opened, improving concurrent reliability (Tom)
7458Properly quote sequence names in pg_dump (Ross J. Reedstrom)
7559Prevent DESTROY DATABASE while others accessing
@@ -110,6 +94,12 @@ Fix for spinlock stuck problem when error is generated (Hiroshi)
11094Fix ipcclean on Linux
11195Fix handling of NULL constraint conditions (Tom)
11296Fix memory leak in odbc driver (Nick Gorham)
97+ Fix for permission check on UNION tables (Tom)
98+ Fix to allow SELECT 'a' LIKE 'a' (Tom)
99+ Fix for SELECT 1 + NULL (Tom)
100+ Fixes to CHAR
101+ Fix log() on numeric type (Tom)
102+ Remove ':' and ';' operators
113103
114104Enhancements
115105------------
@@ -123,8 +113,8 @@ Issue ecpg error if NULL value is returned to variable with no NULL
123113indicator (Christof)
124114Allow ^C to cancel COPY command (Massimo)
125115Add SET FSYNC and SHOW PG_OPTIONS commands(Massimo)
126- Improve CREATE FUNCTION to allow type conversion specification
127- (Bernie Frankpitt)
116+ Improve CREATE FUNCTION to allow type conversion specification
117+ (Bernie Frankpitt)
128118Add CmdTuples() to libpq++(Vince)
129119New CREATE CONSTRAINT TRIGGER and SET CONSTRAINTS commands(Jan)
130120Allow CREATE FUNCTION WITH clause to be used for all language types
@@ -133,12 +123,12 @@ configure --disable-debug removes -g (Peter E)
133123Allow more complex default expressions (Tom)
134124First real FOREIGN KEY constraint trigger functionality (Jan)
135125Add FOREIGN KEY ... MATCH FULL ... ON DELETE CASCADE (Jan)
136- Add FOREIGN KEY ... MATCH<unspecified> referential actions (Don Baccus)
126+ Add FOREIGN KEY ... MATCH referential actions (Don Baccus)
137127Allow WHERE restriction on ctid (physical heap location) (Hiroshi)
138128Move pginterface from contrib to interface directory, rename to pgeasy (Bruce)
139129Add DEC and SESSION_USER as reserved words
140130Require SELECT DISTINCT target list to have all ORDER BY columns (Tom)
141- Add Oracle's COMMENT ON command (Mike Mascari<mascarim@ yahoo.
131+ Add Oracle's COMMENT ON command (Mike Mascari yahoo.
142132libpq's PQsetNoticeProcessor function now returns previous hook(Peter E)
143133Prevent PQsetNoticeProcessor from being set to NULL (Peter E)
144134Make USING in COPY optional (Bruce)
@@ -151,8 +141,8 @@ Added psql LastOid variable to return last inserted oid (Peter E)
151141Allow concurrent vacuum and remove pg_vlock vacuum lock file (Tom)
152142Add permissions check so only Postgres superuser or table owner can
153143vacuum (Peter E)
154- New libpq functions to allow asynchronous connections: PQconnectStart(),
155- PQconnectPoll(), PQresetStart(), PQresetPoll(), PQsetenvStart(),
144+ New libpq functions to allow asynchronous connections: PQconnectStart(),
145+ PQconnectPoll(), PQresetStart(), PQresetPoll(), PQsetenvStart(),
156146 PQsetenvPoll(), PQsetenvAbort (Ewan Mellor)
157147New libpq PQsetenv() function (Ewan Mellor)
158148create/alter user extension (Peter E)
@@ -170,8 +160,8 @@ Add CREATE/ALTER/DROP GROUP (Peter E)
170160All administration scripts now support --long options (Peter E, Karel)
171161Vacuumdb script now supports --alldb option (Peter E)
172162ecpg new portable FETCH syntax
173- Add ecpg EXEC SQL IFDEF, EXEC SQL IFNDEF, EXEC SQL ELSE, EXEC SQL ELIF
174- and EXEC SQL ENDIF directives
163+ Add ecpg EXEC SQL IFDEF, EXEC SQL IFNDEF, EXEC SQL ELSE, EXEC SQL ELIF
164+ and EXEC SQL ENDIF directives
175165Add pg_ctl script to control backend startup (Tatsuo)
176166Add postmaster.opts.default file to store startup flags (Tatsuo)
177167Allow --with-mb=SQL_ASCII
@@ -196,7 +186,7 @@ Allow COPY IN to read file that do not end with a newline (Tom)
196186Indicate when long identifiers are truncated (Tom)
197187Allow aggregates to use type equivalency (Peter E)
198188Add Oracle's to_char(), to_date(), to_datetime(), to_timestamp(), to_number()
199- conversion functions (Karel Zak<zakkr@ zf.jcu.cz>)
189+ conversion functions (Karel Zak zf.jcu.cz>)
200190Add SELECT DISTINCT ON (expr [, expr ...]) targetlist ... (Tom)
201191Check to be sure ORDER BY is compatible with the DISTINCT operation (Tom)
202192Add NUMERIC and int8 types to ODBC
@@ -222,9 +212,15 @@ Allow PQrequestCancel() to terminate when in waiting-for-lock state (Hiroshi)
222212Allow negation of a negative number in all cases
223213Add ecpg descriptors (Christof, Michael)
224214Allow CREATE VIEW v AS SELECT f1::char(8) FROM tbl
215+ Allow casts with length, like foo::char(8)
225216New libpq functions PQsetClientEncoding(), PQclientEncoding() (Tatsuo)
226217Add support for SJIS user defined characters (Tatsuo)
227218Larger views/rules supported
219+ Make libpq's PQconndefaults() thread-safe (Tom)
220+ Disable // as comment to be ANSI conforming, should use --
221+ Allow column aliases on views CREATE VIEW name (collist)
222+ Fixes for views with subqueries (Tom)
223+ Allow UPDATE table SET fld = (SELECT ...) (Tom)
228224
229225Types
230226-----
@@ -233,10 +229,10 @@ Allow bare column names to be subscripted as arrays (Tom)
233229Improve type casting of int and float constants (Tom)
234230Cleanups for int8 inputs, range checking, and type conversion (Tom)
235231Fix for SELECT timespan('21:11:26'::time) (Tom)
236- Fix for netmask('x.x.x.x/0') is 255.255.255.255 instead of 0.0.0.0
237- (Oleg Sharoiko)
232+ Fix for netmask('x.x.x.x/0') is 255.255.255.255 instead of 0.0.0.0
233+ (Oleg Sharoiko)
238234Add btree index on NUMERIC(Jan)
239- Perl fix for large objects containing NUL characters (Douglas Thomson)
235+ Perl fix for large objects containing NUL characters (Douglas Thomson)
240236ODBC fix for for large objects (free)
241237Fix indexing of cidr data type
242238Fix for Ethernet MAC addresses (macaddr type) comparisons
@@ -249,13 +245,25 @@ Make char_length()/octet_length including trailing blanks (Tom)
249245Made abstime/reltime use int4 instead of time_t (Peter E)
250246New lztext data type for compressed text fields
251247Revise code to handle coercion of int and float constants (Tom)
252- New C-routines to implement a BIT and BIT VARYING type in /contrib
253- (Adriaan Joubert)
248+ New C-routines to implement a BIT and BIT VARYING type in /contrib
249+ (Adriaan Joubert)
254250NUMERIC now accepts scientific notation (Tom)
255251NUMERIC to int4 rounds (Tom)
256252Convert float4/8 to NUMERIC properly (Tom)
257253Allow type conversion with NUMERIC (Thomas)
258254Make ISO date style (2000-02-16 09:33) the default (Thomas)
255+ Add NATIONAL CHAR [ VARYING ]
256+ Allow NUMERIC round and trunc to accept negative scales (Tom)
257+ New TIME WITH TIME ZONE type (Thomas)
258+ Add MAX()/MIN() on time type (Thomas)
259+ Add abs(), mod(), fac() for int8 (Thomas)
260+ Add round(), sqrt(), cbrt(), pow()
261+ Rename NUMERIC power() to pow()
262+ Improved TRANSLATE() function
263+ Allow X=-Y operators (Tom)
264+ Add exp() and ln() as NUMERIC types
265+ Allow SELECT float8(COUNT(*)) / (SELECT COUNT(*) FROM int4_tbl) FROM int4_tbl
266+ GROUP BY f1; (Tom)
259267
260268Performance
261269-----------
@@ -286,14 +294,16 @@ Improve pg_statistics management for VACUUM speed improvement (Tom)
286294Flush backend cache less frequently (Tom, Hiroshi)
287295COPY now reuses previous memory allocation, improving performance (Tom)
288296Improve optimization cost estimation (Tom)
289- Improve optimizer estimate of range queries x > lowbound AND x < highbound (Tom)
297+ Improve optimizer estimate of range queries x > lowbound AND x < highbound (Tom
298+ )
290299Use DNF instead of CNF where appropriate (Tom, Taral)
291300Further cleanup for OR-of-AND WHERE-clauses (Tom)
292301Make use of index in OR clauses (x = 1 AND y = 2) OR (x = 2 AND y = 4) (Tom)
293302Smarter optimizer computations for random index page access (Tom)
294303New SET variable to control optimizer costs (Tom)
295304Optimizer queries based on LIMIT, OFFSET, and EXISTS qualifications (Tom)
296305Reduce optimizer internal housekeeping of join paths for speedup (Tom)
306+ Major subquery speedup (Tom)
297307
298308Source Tree Changes
299309-------------------
@@ -304,9 +314,10 @@ Improved range checking for large integers on Alpha's
304314Clean up #include in /include directory (Bruce)
305315Add scripts for checking includes (Bruce)
306316Remove un-needed #include's from *.c files (Bruce)
307- Change #include's to use <> and "" as appropriate (Bruce)
317+ Change #include's to use
318+ and "" as appropriate (Bruce)
308319Enable WIN32 compilation of libpq
309- Alpha spinlock fix from Uncle George<gatgul@ voicenet.com>
320+ Alpha spinlock fix from Uncle George voicenet.com>
310321Overhaul of optimizer data structures (Tom)
311322Fix to cygipc library (Yutaka Tanida)
312323Allow pgsql to work on newer Cygwin snapshots(Dan)
@@ -323,6 +334,10 @@ Internally change datetime and timespan into timestamp and interval (Thomas)
323334Fix for plpgsql on BSDI
324335Add SQL_ASCII test case to the regression test (Tatsuo)
325336configure --with-mb now deprecated (Tatsuo)
337+ NT fixes
338+ NetBSD fixes Johnny C. Lam stat.cmu.edu>
339+ Fixes for Alpha compiles
340+ New multibyte encodings
326341
327342
328343