|
|
|
|
@ -1,10 +1,287 @@ |
|
|
|
|
<!-- |
|
|
|
|
$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.63 2000/11/12 14:26:48 momjian Exp $ |
|
|
|
|
$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.64 2000/12/16 20:12:42 momjian Exp $ |
|
|
|
|
--> |
|
|
|
|
|
|
|
|
|
<chapter id="release"> |
|
|
|
|
<title>Release Notes</title> |
|
|
|
|
|
|
|
|
|
<sect1> |
|
|
|
|
<title>Release 7.1</title> |
|
|
|
|
<!-- |
|
|
|
|
<docinfo> |
|
|
|
|
<authorgroup> |
|
|
|
|
<author> |
|
|
|
|
<firstname>Bruce</firstname> |
|
|
|
|
<surname>Momjian</surname> |
|
|
|
|
</author> |
|
|
|
|
</authorgroup> |
|
|
|
|
<date>2000-12-16</date> |
|
|
|
|
</docinfo> |
|
|
|
|
--> |
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
Release date 2001-1-??. |
|
|
|
|
This release focuses on removing limitations that have existed in the |
|
|
|
|
PostgreSQL code for many years. |
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
Major changes in this release: |
|
|
|
|
|
|
|
|
|
<variablelist> |
|
|
|
|
<varlistentry> |
|
|
|
|
<term> |
|
|
|
|
Write-ahead Log(WAL) |
|
|
|
|
</term> |
|
|
|
|
<listitem> |
|
|
|
|
<para> |
|
|
|
|
To maintain database consistency in case |
|
|
|
|
of an operating system crash, previous releases of PostgreSQL have |
|
|
|
|
forced all data modifications to disk before each transaction commit. |
|
|
|
|
With WAL, only one log file must be flushed to disk, greatly improving |
|
|
|
|
performance. If you have been using -F in previous releases to disable |
|
|
|
|
disk flushes, you may want to consider discontinuing its use. |
|
|
|
|
</para> |
|
|
|
|
</listitem> |
|
|
|
|
</varlistentry> |
|
|
|
|
|
|
|
|
|
<varlistentry> |
|
|
|
|
<term> |
|
|
|
|
TOAST |
|
|
|
|
</term> |
|
|
|
|
<listitem> |
|
|
|
|
<para> |
|
|
|
|
Previous releases had an 8k (or 32k) row length limit. |
|
|
|
|
This limit made storage of long text fields difficult. With TOAST, long |
|
|
|
|
rows of any length can be stored with good performance. |
|
|
|
|
</para> |
|
|
|
|
</listitem> |
|
|
|
|
</varlistentry> |
|
|
|
|
|
|
|
|
|
<varlistentry> |
|
|
|
|
<term> |
|
|
|
|
Outer Joins |
|
|
|
|
</term> |
|
|
|
|
<listitem> |
|
|
|
|
<para> |
|
|
|
|
We now support outer joins. The UNION/NOT IN |
|
|
|
|
workaround for outer joins is no longer required. We use the SQL92 |
|
|
|
|
outer join syntax. |
|
|
|
|
</para> |
|
|
|
|
</listitem> |
|
|
|
|
</varlistentry> |
|
|
|
|
|
|
|
|
|
<varlistentry> |
|
|
|
|
<term> |
|
|
|
|
Function Manager |
|
|
|
|
</term> |
|
|
|
|
<listitem> |
|
|
|
|
<para> |
|
|
|
|
The previous C function manager did not |
|
|
|
|
handle NULLs properly, nor did it support 64-bit CPU's. The new |
|
|
|
|
function manager does. You can continue using your old custom |
|
|
|
|
functions, but you may want to rewrite them in the future to use the new |
|
|
|
|
function manager call interface. |
|
|
|
|
</para> |
|
|
|
|
</listitem> |
|
|
|
|
</varlistentry> |
|
|
|
|
|
|
|
|
|
<varlistentry> |
|
|
|
|
<term> |
|
|
|
|
Complex Queries |
|
|
|
|
</term> |
|
|
|
|
<listitem> |
|
|
|
|
<para> |
|
|
|
|
A large number of complex queries that were |
|
|
|
|
unsupported in previous releases now work. Many combinations of views, |
|
|
|
|
aggregates, UNION, LIMIT, cursors, subqueries, and inherited tables |
|
|
|
|
now work properly. Inherited tables are now accessed by default. |
|
|
|
|
Subqueries in FROM are now supported. |
|
|
|
|
</para> |
|
|
|
|
</listitem> |
|
|
|
|
</varlistentry> |
|
|
|
|
|
|
|
|
|
</variablelist> |
|
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
<sect2> |
|
|
|
|
<title>Migration to v7.1</title> |
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
A dump/restore using pg_dump is required for those wishing to migrate |
|
|
|
|
data from any previous release. |
|
|
|
|
</para> |
|
|
|
|
</sect2> |
|
|
|
|
|
|
|
|
|
<sect2> |
|
|
|
|
<title>Changes</title> |
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
<programlisting> |
|
|
|
|
Last updated from CVS logs: 2000-12-11 |
|
|
|
|
|
|
|
|
|
Bug Fixes |
|
|
|
|
--------- |
|
|
|
|
Many multi-byte/Unicode/locale fixes (Tatsuo and others) |
|
|
|
|
More reliable ALTER TABLE RENAME (Tom) |
|
|
|
|
Kerberos V fixes (David Wragg) |
|
|
|
|
Fix for INSERT INTO...SELECT where targetlist has subqueries (Tom) |
|
|
|
|
Prompt username/password on standard error (Bruce) |
|
|
|
|
Large objects inv_read/inv_write fixes (Tom) |
|
|
|
|
Fixes for to_char(), to_date(), to_ascii(), and to_timestamp() (Karel, |
|
|
|
|
Daniel Baldoni) |
|
|
|
|
Prevent query expressions from leaking memory (Tom) |
|
|
|
|
Allow UPDATE of arrays elements (Tom) |
|
|
|
|
Wake up lock waiters during cancel (Hiroshi) |
|
|
|
|
Fix rare cursor crash when using hash join (Tom) |
|
|
|
|
Fix for DROP TABLE/INDEX in rolled-back transaction (Hiroshi) |
|
|
|
|
Fix psql crash from \l+ if MULTIBYTE enabled (Peter E) |
|
|
|
|
Fix truncation of rule names during CREATE VIEW (Ross Reedstrom) |
|
|
|
|
Fix PL/perl (Alex Kapranoff) |
|
|
|
|
Disallow LOCK on views (Mark Holloman) |
|
|
|
|
Disallow INSERT/UPDATE/DELETE on views (Mark Holloman) |
|
|
|
|
Disallow DROP RULE, CREATE INDEX, TRUNCATE on views (Mark Holloman) |
|
|
|
|
Allow PL/pgSQL accept non-ASCII identifiers (Tatsuo) |
|
|
|
|
Allow views to proper handle GROUP BY, aggregates, DISTINCT (Tom) |
|
|
|
|
Fix rare failure with TRUNCATE command (Tom) |
|
|
|
|
Allow UNION/INTERSECT/EXCEPT to be used with ALL, subqueries, views, |
|
|
|
|
DISTINCT, ORDER BY, SELECT...INTO (Tom) |
|
|
|
|
Fix parser failures during aborted transactions (Tom) |
|
|
|
|
Allow temporary relations to properly clean up indexes (Bruce) |
|
|
|
|
Fix VACUUM problem with moving rows in same page (Tom) |
|
|
|
|
Modify pg_dump so it dumps only user-defined items, not system-defined (Philip) |
|
|
|
|
Allow LIMIT in VIEW (Tom) |
|
|
|
|
Require cursor FETCH to honor LIMIT (Tom) |
|
|
|
|
Allow PRIMARY/FOREIGN Key definitions on inherited columns (Stephan) |
|
|
|
|
Allow ORDER BY, LIMIT in sub-selects (Tom) |
|
|
|
|
Allow UNION in CREATE RULE (Tom) |
|
|
|
|
Make DROP TABLE rollback-able (Tom) |
|
|
|
|
Store initdb collation in pg_control so collation cannot be changed (Tom) |
|
|
|
|
Fix INSERT...SELECT with rules (Tom) |
|
|
|
|
Fix FOR UPDATE inside views and subselects (Tom) |
|
|
|
|
Fix OVERLAPS operators conform to SQL92 spec regarding NULLs (Tom) |
|
|
|
|
Fix lpad() and rpad() to handle length less than input string (Tom) |
|
|
|
|
|
|
|
|
|
Enhancements |
|
|
|
|
------------ |
|
|
|
|
Add OUTER JOINs (Tom) |
|
|
|
|
Function manager overhaul (Tom) |
|
|
|
|
Allow ALTER TABLE RENAME on indexes(Tom) |
|
|
|
|
Improve CLUSTER(Tom) |
|
|
|
|
Improve ps status display for more platforms(Marc) |
|
|
|
|
Improve CREATE FUNCTION failure message(Ross) |
|
|
|
|
JDBC improvements (Peter, Travis Bauer, Christopher Cain, William Webber, |
|
|
|
|
Gunnar) |
|
|
|
|
Grand Unified Configuration scheme/GUC. Many options can now be set in |
|
|
|
|
data/postgresql.conf, postmaster/postgres flags, or SET commands (Peter E) |
|
|
|
|
Improved handling of file descriptor cache (Tom) |
|
|
|
|
New warning code about auto-created table alias entries (Bruce) |
|
|
|
|
Overhaul initdb process (Tom, Peter E) |
|
|
|
|
Overhaul of inherited tables; inherited tables now accessed by default; |
|
|
|
|
new ONLY keyword prevents it (Chris Bitmead, Tom) |
|
|
|
|
ODBC cleanups/improvements (Nick Gorham, Stephan Szabo, Zoltan Kovacs, |
|
|
|
|
Michael Fork) |
|
|
|
|
Allow renaming of temp tables (Tom) |
|
|
|
|
Overhaul memory manager contexts (Tom) |
|
|
|
|
pg_dump uses CREATE USER or CREATE GROUP rather using COPY (Peter E) |
|
|
|
|
Overhaul pg_dump (Philip Warner) |
|
|
|
|
Allow pg_hba.conf secondary password file to specify username (Peter E) |
|
|
|
|
Allow TEMPORARY or TEMP keyword when creating temporary tables (Bruce) |
|
|
|
|
New memory leak checker (Karel) |
|
|
|
|
New SET SESSION CHARACTERISTICS and SET DefaultXactIsoLevel (Thomas, Peter E) |
|
|
|
|
Allow nested block comments (Thomas) |
|
|
|
|
Add WITHOUT TIME ZONE type qualifier (Thomas) |
|
|
|
|
New ALTER TABLE ADD CONSTRAINT (Stephan) |
|
|
|
|
Use NUMERIC accumulators for INTEGER aggregates (Tom) |
|
|
|
|
Overhaul aggregate code (Tom) |
|
|
|
|
New VARIANCE and STDDEV() aggregates |
|
|
|
|
Improve dependency ordering of pg_dump (Philip) |
|
|
|
|
New pg_restore command (Philip) |
|
|
|
|
New pg_dump tar output option (Philip) |
|
|
|
|
New pg_dump of large objects (Philip) |
|
|
|
|
New ESCAPE option to LIKE (Thomas) |
|
|
|
|
New case-insensitive LIKE - ILIKE (Thomas) |
|
|
|
|
Allow functional indexes to use binary-compatible type (Tom) |
|
|
|
|
Allow SQL functions to be used in more contexts (Tom) |
|
|
|
|
New pg_config utility (Peter E) |
|
|
|
|
New PL/pgSQL EXECUTE command which allows dynamic SQL and utility statements |
|
|
|
|
(Jan) |
|
|
|
|
New PL/pgSQL GET DIAGNOSTICS statement for SPI value access (Jan) |
|
|
|
|
New quote_identifiers() and quote_literal() functions (Jan) |
|
|
|
|
New ALTER TABLE table OWNER TO user command (Mark Holloman) |
|
|
|
|
Allow subselects in FROM, i.e. FROM (SELECT ...) [AS] alias (Tom) |
|
|
|
|
Update PyGreSQL to version 3.1 (D'Arcy) |
|
|
|
|
Store tables as files named by OID (Vadim) |
|
|
|
|
New SQL function setval(seq,val,bool) for use in pg_dump (Philip) |
|
|
|
|
New pg_service.conf file (Mario Weilguni) |
|
|
|
|
Require DROP VIEW to remove views, no DROP TABLE (Mark) |
|
|
|
|
Allow DROP VIEW view1, view2 (Mark) |
|
|
|
|
Allow multiple objects in DROP INDEX, DROP RULE, and DROP TYPE (Tom) |
|
|
|
|
Allow automatic conversion to Unicode (Tatsuo) |
|
|
|
|
New /contrib/pgcrypto hashing functions (Marko Kreen) |
|
|
|
|
New pg_dumpall --accounts-only option (Peter E) |
|
|
|
|
New CHECKPOINT command for WAL which creates new WAL log file (Vadim) |
|
|
|
|
New AT TIME ZONE syntax (Thomas) |
|
|
|
|
Allow location of Unix domain socket to be configurable (David J. MacKenzie) |
|
|
|
|
Allow postmaster to listen on a specific IP address (David J. MacKenzie) |
|
|
|
|
Allow socket path name to be specified in hostname by using leading slash |
|
|
|
|
(David J. MacKenzie) |
|
|
|
|
Allow CREATE DATABASE to specify template database (Tom) |
|
|
|
|
New template0 database that contains no user additions(Tom) |
|
|
|
|
|
|
|
|
|
Types |
|
|
|
|
----- |
|
|
|
|
Fix INET/CIDR type ordering and add new functions (Tom) |
|
|
|
|
Make OID behave as an unsigned type (Tom) |
|
|
|
|
Allow BIGINT as synonym for INT8 (Peter E) |
|
|
|
|
New int2 and int8 comparison operators (Tom) |
|
|
|
|
New BIT and BIT VARYING types (Adriaan Joubert, Tom) |
|
|
|
|
CHAR() no longer faster than VARCHAR() because of TOAST (Tom) |
|
|
|
|
|
|
|
|
|
Performance |
|
|
|
|
----------- |
|
|
|
|
Write-Ahead Log (WAL) to provide crash recovery with less performance |
|
|
|
|
overhead (Vadim) |
|
|
|
|
ANALYZE stage of VACUUM no longer exclusively locks table (Bruce) |
|
|
|
|
Reduced file seeks (Denis Perchine) |
|
|
|
|
Improve BTREE code for duplicate keys (Tom) |
|
|
|
|
Store all large objects in a single operating system file (Denis Perchine, Tom) |
|
|
|
|
Improve memory allocation performance (Karel, Tom) |
|
|
|
|
|
|
|
|
|
Source Code |
|
|
|
|
----------- |
|
|
|
|
New function manager call conventions (Tom) |
|
|
|
|
SGI portability fixes (David Kaelbling) |
|
|
|
|
New configure --enable-syslog option (Marc) |
|
|
|
|
New BSDI README (Bruce) |
|
|
|
|
configure script moved to top level, not /src (Peter E) |
|
|
|
|
Makefile/configuration/compilation cleanups (Peter E) |
|
|
|
|
New configure --with-python option (Peter E) |
|
|
|
|
Solaris cleanups (Peter E) |
|
|
|
|
Overhaul /contrib Makefiles (Karel) |
|
|
|
|
New OpenSSL configuration option (Magnus, Peter E) |
|
|
|
|
AIX fixes (Andreas) |
|
|
|
|
New heap_open(), heap_openr() API (Tom) |
|
|
|
|
Remove colon and semi-colon operators (Thomas) |
|
|
|
|
New pg_class.relkind value for views (Mark Holloman) |
|
|
|
|
Rename ichar() to chr() (Karel) |
|
|
|
|
New documentation for btrim(), ascii(), chr(), repeat() (Karel) |
|
|
|
|
Fixes for NT/Cygwin (Pete Forman) |
|
|
|
|
AIX port fixes (Andreas) |
|
|
|
|
New BeOS port (David Reid, Cyril Velter) |
|
|
|
|
Add proofreader's changes to docs (Addison-Wesley, Bruce) |
|
|
|
|
New Alpha spinlock code (Adriaan Joubert, Compaq) |
|
|
|
|
Unixware port overhaul (Peter E) |
|
|
|
|
New Darwin/Mac OSX port (Bruce Hartzler) |
|
|
|
|
New FreeBSD Alpha port (Alfred) |
|
|
|
|
Overhaul shared memory segments (Tom) |
|
|
|
|
Add IBM S/390 support (Neale Ferguson) |
|
|
|
|
</programlisting> |
|
|
|
|
</para> |
|
|
|
|
</sect2> |
|
|
|
|
</sect1> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<sect1> |
|
|
|
|
<title>Release 7.0.3</title> |
|
|
|
|
<!-- |
|
|
|
|
|