mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 00:08:23 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			3337 lines
		
	
	
		
			142 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			3337 lines
		
	
	
		
			142 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
                                 Release Notes
 | 
						||
 | 
						||
                                  Release 7.2
 | 
						||
 | 
						||
Overview
 | 
						||
 | 
						||
   This release improves PostgreSQL for use in high-volume applications.
 | 
						||
 | 
						||
   Major changes in this release:
 | 
						||
 | 
						||
   VACUUM
 | 
						||
 | 
						||
           Vacuuming no longer locks tables, thus allowing normal user access
 | 
						||
           during the vacuum. A new "VACUUM FULL" command does old-style
 | 
						||
           vacuum by locking the table and shrinking the on-disk copy of the
 | 
						||
           table.
 | 
						||
 | 
						||
   Transactions
 | 
						||
 | 
						||
           There is no longer a problem with installations that exceed four
 | 
						||
           billion transactions.
 | 
						||
 | 
						||
   OID's
 | 
						||
 | 
						||
           OID's are now optional. Users can now create tables without OID's
 | 
						||
           for cases where OID usage is excessive.
 | 
						||
 | 
						||
   Optimizer
 | 
						||
 | 
						||
           The system now computes histogram column statistics during
 | 
						||
           "ANALYZE", allowing much better optimizer choices.
 | 
						||
 | 
						||
   Security
 | 
						||
 | 
						||
           A new MD5 encryption option allows more secure storage and
 | 
						||
           transfer of passwords. A new Unix-domain socket authentication
 | 
						||
           option is available on Linux and BSD systems.
 | 
						||
 | 
						||
   Statistics
 | 
						||
 | 
						||
           Administrators can use the new table access statistics module to
 | 
						||
           get fine-grained information about table and index usage.
 | 
						||
 | 
						||
   Internationalization
 | 
						||
 | 
						||
           Program and library messages can now be displayed in several
 | 
						||
           languages.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration to version 7.2
 | 
						||
 | 
						||
   A dump/restore using "pg_dump" is required for those wishing to migrate
 | 
						||
   data from any previous release.
 | 
						||
 | 
						||
   Observe the following incompatibilities:
 | 
						||
 | 
						||
     * The semantics of the "VACUUM" command have changed in this release.
 | 
						||
       You may wish to update your maintenance procedures accordingly.
 | 
						||
 | 
						||
     * In this release, comparisons using = NULL will always return false (or
 | 
						||
       NULL, more precisely). Previous releases automatically transformed
 | 
						||
       this syntax to IS NULL. The old behavior can be re-enabled using a
 | 
						||
       "postgresql.conf" parameter.
 | 
						||
 | 
						||
     * The "pg_hba.conf" and "pg_ident.conf" configuration is now only
 | 
						||
       reloaded after receiving a SIGHUP signal, not with each connection.
 | 
						||
 | 
						||
     * The function "octet_length()" now returns the uncompressed data
 | 
						||
       length.
 | 
						||
 | 
						||
     * The date/time value current is no longer available. You will need to
 | 
						||
       rewrite your applications.
 | 
						||
 | 
						||
   The SELECT ... LIMIT #,# syntax will be removed in the next release. You
 | 
						||
   should change your queries to use separate LIMIT and OFFSET clauses, e.g.
 | 
						||
   LIMIT 10 OFFSET 20.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
  Server Operation
 | 
						||
 | 
						||
   Create temporary files in a separate directory (Bruce)
 | 
						||
   Delete orphanded temporary files on postmaster startup (Bruce)
 | 
						||
   Added unique indexes to some system tables (Tom)
 | 
						||
   System table operator reorganization (Oleg Bartunov, Teodor Sigaev, Tom)
 | 
						||
   Renamed pg_log to pg_clog (Tom)
 | 
						||
   Enable SIGTERM, SIGQUIT to kill backends (Jan)
 | 
						||
   Removed compile-time limit on number of backends (Tom)
 | 
						||
   Better cleanup for semaphore resource failure (Tatsuo, Tom)
 | 
						||
   Allow safe transaction ID wraparound (Tom)
 | 
						||
   Removed OID's from some system tables (Tom)
 | 
						||
   Removed "triggered data change violation" error check (Tom)
 | 
						||
   SPI portal creation of prepared/saved plans (Jan)
 | 
						||
   Allow SPI column functions to work for system columns (Tom)
 | 
						||
   Long value compression improvement (Tom)
 | 
						||
   Statistics collector for table, index access (Jan)
 | 
						||
   Truncate extra-long sequence names to a reasonable value (Tom)
 | 
						||
   Measure transaction times in milliseconds (Thomas)
 | 
						||
   Fix TID sequential scans (Hiroshi)
 | 
						||
   Superuser ID now fixed at 1 (Peter E)
 | 
						||
   New pg_ctl "reload" option (Tom)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  Performance
 | 
						||
 | 
						||
   Optimizer improvements (Tom)
 | 
						||
   New histogram column statistics for optimizer (Tom)
 | 
						||
   Reuse write-ahead log files rather than discarding them (Tom)
 | 
						||
   Cache improvements (Tom)
 | 
						||
   IS NULL, IS NOT NULL optimizer improvement (Tom)
 | 
						||
   Improve lock manager to reduce lock contention (Tom)
 | 
						||
   Keep relcache entries for index access support functions (Tom)
 | 
						||
   Allow better selectivity with NaN and infinities in NUMERIC (Tom)
 | 
						||
   R-tree performance improvements (Kenneth Been)
 | 
						||
   B-tree splits more efficient (Tom)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  Privileges
 | 
						||
 | 
						||
   Change UPDATE, DELETE permissions to be distinct (Peter E)
 | 
						||
   New REFERENCES, TRIGGER privileges (Peter E)
 | 
						||
   Allow GRANT/REVOKE to/from more than one user at a time (Peter E)
 | 
						||
   New has_table_privilege() function (Joe Conway)
 | 
						||
   Allow non-superuser to vacuum database (Tom)
 | 
						||
   New SET SESSION AUTHORIZATION command (Peter E)
 | 
						||
   Fix bug in privilege modifications on newly created tables (Tom)
 | 
						||
   Disallow access to pg_statistic for non-superuser, add user-accessible views (Tom)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  Client Authentication
 | 
						||
 | 
						||
   Fork postmaster before doing authentication to prevent hangs (Peter E)
 | 
						||
   Add ident authentication over Unix domain sockets on Linux, *BSD (Helge Bahmann, Oliver Elphick, Teodor Sigaev, Bruce)
 | 
						||
   Add a password authentication method that uses MD5 encryption (Bruce)
 | 
						||
   Allow encryption of stored passwords using MD5 (Bruce)
 | 
						||
   PAM authentication (Dominic J. Eidson)
 | 
						||
   Load pg_hba.conf and pg_ident.conf only on startup and SIGHUP (Bruce)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  Server Configuration
 | 
						||
 | 
						||
   Interpretation of some time zone abbreviations as Australian rather than North American now settable at run time (Bruce)
 | 
						||
   New parameter to set default transaction isolation level (Peter E)
 | 
						||
   New parameter to enable conversion of "expr = NULL" into "expr IS NULL", off by default (Peter E)
 | 
						||
   New parameter to control memory usage by VACUUM (Tom)
 | 
						||
   New parameter to set client authentication timeout (Tom)
 | 
						||
   New parameter to set maximum number of open files (Tom)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  Queries
 | 
						||
 | 
						||
   Statements added by INSERT rules now execute after the INSERT (Jan)
 | 
						||
   Prevent unadorned relation names in target list (Bruce)
 | 
						||
   NULLs now sort after all normal values in ORDER BY (Tom)
 | 
						||
   New IS UNKNOWN, IS NOT UNKNOWN Boolean tests (Tom)
 | 
						||
   New SHARE UPDATE EXCLUSIVE lock mode (Tom)
 | 
						||
   New EXPLAIN ANALYZE command that shows run times and row counts (Martijn van Oosterhout)
 | 
						||
   Fix problem with LIMIT and subqueries (Tom)
 | 
						||
   Fix for LIMIT, DISTINCT ON pushed into subqueryies (Tom)
 | 
						||
   Fix nested EXCEPT/INTERSECT (Tom)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  Schema Manipulation
 | 
						||
 | 
						||
   Fix SERIAL in temporary tables (Bruce)
 | 
						||
   Allow temporary sequences (Bruce)
 | 
						||
   Sequences now use int8 internally (Tom)
 | 
						||
   New SERIAL8 creates int8 columns with sequences, default still SERIAL4 (Tom)
 | 
						||
   Make OIDs optional using WITHOUT OIDS (Tom)
 | 
						||
   Add %TYPE syntax to CREATE TYPE (Ian Lance Taylor)
 | 
						||
   Add ALTER TABLE / DROP CONSTRAINT for CHECK constraints (Christopher Kings-Lynne)
 | 
						||
   New CREATE OR REPLACE FUNCTION to alter existing function (preserving the function OID) (Gavin Sherry)
 | 
						||
   Add ALTER TABLE / ADD UNIQUE (Christopher Kings-Lynne)
 | 
						||
   Allow column renaming in views
 | 
						||
   Make ALTER TABLE / RENAME COLUMN update column names of indexes (Brent Verner)
 | 
						||
   Fix for ALTER TABLE / ADD CONSTRAINT ... CHECK with inherited tables (Stephan Szabo)
 | 
						||
   ALTER TABLE RENAME update foreign-key trigger arguments correctly (Brent Verner)
 | 
						||
   DROP AGGREGATE and COMMENT ON AGGREGATE now accept an aggtype (Tom)
 | 
						||
   Add automatic return type data casting for SQL functions (Tom)
 | 
						||
   Allow GiST indexes to handle NULLs and multikey indexes (Oleg Bartunov, Teodor Sigaev, Tom)
 | 
						||
   Enable partial indexes (Martijn van Oosterhout)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  Utility Commands
 | 
						||
 | 
						||
   Add RESET ALL, SHOW ALL (Marko Kreen)
 | 
						||
   CREATE/ALTER USER/GROUP now allow options in any order (Vince)
 | 
						||
   Add LOCK A, B, C functionality (Neil Padgett)
 | 
						||
   New ENCRYPTED/UNENCRYPTED option to CREATE/ALTER USER (Bruce)
 | 
						||
   New light-weight VACUUM does not lock table; old semantics are available as VACUUM FULL (Tom)
 | 
						||
   Disable COPY TO/FROM on views (Bruce)
 | 
						||
   COPY DELIMITERS string must be exactly one character (Tom)
 | 
						||
   VACUUM warning about index tuples fewer than heap now only appears when appropriate (Martijn van Oosterhout)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  Data Types and Functions
 | 
						||
 | 
						||
   SUM(), AVG(), COUNT() now uses int8 internally for speed (Tom)
 | 
						||
   Add convert(), convert2() (Tatsuo)
 | 
						||
   New function bit_length() (Peter E)
 | 
						||
   Make the "n" in CHAR(n)/VARCHAR(n) represents letters, not bytes (Tatsuo)
 | 
						||
   CHAR(), VARCHAR() now reject strings that are too long (Peter E)
 | 
						||
   BIT VARYING now rejects bit strings that are too long (Peter E)
 | 
						||
   BIT now rejects bit strings that do not match declared size (Peter E)
 | 
						||
   INET, CIDR text conversion functions (Alex Pilosov)
 | 
						||
   INET, CIDR operators << and <<= indexable (Alex Pilosov)
 | 
						||
   Bytea \### now requires valid three digit octal number
 | 
						||
   Bytea comparison improvements, now supports =, <>, >, >=, <, and <=
 | 
						||
   Bytea now supports B-tree indexes
 | 
						||
   Bytea now supports LIKE, LIKE...ESCAPE, NOT LIKE, NOT LIKE...ESCAPE
 | 
						||
   Bytea now supports concatenation
 | 
						||
   New bytea functions: position, substring, trim, btrim, and length
 | 
						||
   New encode() function mode, "escaped", converts minimally escaped bytea to/from text
 | 
						||
   Add pg_database_encoding_max_length() (Tatsuo)
 | 
						||
   Add pg_client_encoding() function (Tatsuo)
 | 
						||
   now() returns time with millisecond precision (Thomas)
 | 
						||
   New TIMESTAMP WITHOUT TIMEZONE data type (Thomas)
 | 
						||
   Add ISO date/time specification with "T", yyyy-mm-ddThh:mm:ss (Thomas)
 | 
						||
   New xid/int comparison functions (Hiroshi)
 | 
						||
   Add precision to TIME, TIMESTAMP, and INVERVAL data types (Thomas)
 | 
						||
   Modify type coersion logic to attempt binary-compatible functions first (Tom)
 | 
						||
   New encode() function installed by default (Marko Kreen)
 | 
						||
   Improved to_*() conversion functions (Karel Zak)
 | 
						||
   Optimize LIKE/ILIKE when using single-byte encodings (Tatsuo)
 | 
						||
   New functions in contrib/pgcrypto: crypt(), hmac(), encrypt(), gen_salt() (Marko Kreen)
 | 
						||
   Correct description of translate() function (Bruce)
 | 
						||
   Add INTERVAL argument for SET TIME ZONE (Thomas)
 | 
						||
   Add INTERVAL YEAR TO MONTH (etc.) syntax (Thomas)
 | 
						||
   Optimize length functions when using single-byte encodings (Tatsuo)
 | 
						||
   Fix path_inter, path_distance, path_length, dist_ppath to handle closed paths (Curtis Barrett, Tom)
 | 
						||
   octet_length(text) now returns non-compressed length (Tatsuo, Bruce)
 | 
						||
   Handle "July" full name in date/time literals (Greg Sabino Mullane)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  Internationalization
 | 
						||
 | 
						||
   Native language support in psql, pg_dump, libpq, and server (Peter E)
 | 
						||
   Message translations in Chinese (simplified, traditional), Czech, French, German, Hungarian, Russian, Swedish (Peter E, Serguei A. Mokhov, Karel Zak, Weiping He, Zhenbang Wei, Kovacs Zoltan)
 | 
						||
   Make trim, ltrim, rtrim, btrim, lpad, rpad, translate multibyte aware (Tatsuo)
 | 
						||
   Add LATIN5,6,7,8,9,10 support (Tatsuo)
 | 
						||
   Add ISO 8859-5,6,7,8 support (Tatsuo)
 | 
						||
   Correct LATIN5 to mean ISO-8859-9, not ISO-8859-5 (Tatsuo)
 | 
						||
   Make mic2ascii() non-ASCII aware (Tatsuo)
 | 
						||
   Reject invalid multibyte character sequences (Tatsuo)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  PL/pgSQL
 | 
						||
 | 
						||
   Now uses portals for SELECT loops, allowing huge result sets (Jan)
 | 
						||
   CURSOR and REFCURSOR support (Jan)
 | 
						||
   Can now return open cursors (Jan)
 | 
						||
   Add ELSEIF (Klaus Reger)
 | 
						||
   Improve PL/pgSQL error reporting, including location of error (Tom)
 | 
						||
   Allow IS or FOR key words in cursor declaration, for compatibility (Bruce)
 | 
						||
   Fix for SELECT ... FOR UPDATE (Tom)
 | 
						||
   Fix for PERFORM returning multiple rows (Tom)
 | 
						||
   Make PL/PgSQL use the server's type coercion code (Tom)
 | 
						||
   Memory leak fix (Jan, Tom)
 | 
						||
   Make trailing semicolon optional (Tom)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  PL/Perl
 | 
						||
 | 
						||
   New untrusted PL/Perl (Alex Pilosov)
 | 
						||
   PL/Perl is now built on some platforms even if libperl is not shared (Peter E)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  PL/Tcl
 | 
						||
 | 
						||
   Now reports errorInfo (Vsevolod Lobko)
 | 
						||
   Add spi_lastoid function (bob@redivi.com)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  PL/Python
 | 
						||
 | 
						||
   ...is new (Andrew Bosma)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  Psql
 | 
						||
 | 
						||
   \d displays indexes in unique, primary groupings (Christopher Kings-Lynne)
 | 
						||
   Allow trailing semicolons in backslash commands (Greg Sabino Mullane)
 | 
						||
   Read password from /dev/tty if possible
 | 
						||
   Force new password prompt when changing user and database (Tatsuo, Tom)
 | 
						||
   Format the correct number of columns for Unicode (Patrice)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  Libpq
 | 
						||
 | 
						||
   New function PQescapeString() to escape quotes in command strings (Florian Weimer)
 | 
						||
   New function PQescapeBytea() escapes binary strings for use as SQL string literals
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  JDBC
 | 
						||
 | 
						||
   Return OID of INSERT (Ken K)
 | 
						||
   Handle more data types (Ken K)
 | 
						||
   Handle single quotes and newlines in strings (Ken K)
 | 
						||
   Handle NULL variables (Ken K)
 | 
						||
   Fix for time zone handling (Barry Lind)
 | 
						||
   Improved Druid support
 | 
						||
   Allow eight-bit characters with non-multibyte server (Barry Lind)
 | 
						||
   Support BIT, BINARY types (Ned Wolpert)
 | 
						||
   Reduce memory usage (Michael Stephens, Dave Cramer)
 | 
						||
   Update DatabaseMetaData (Peter E)
 | 
						||
   Add DatabaseMetaData.getCatalogs() (Peter E)
 | 
						||
   Encoding fixes (Anders Bengtsson)
 | 
						||
   Get/setCatalog methods (Jason Davies)
 | 
						||
   DatabaseMetaData.getColumns() now returns column defaults (Jason Davies)
 | 
						||
   DatabaseMetaData.getColumns() performance improvement (Jeroen van Vianen)
 | 
						||
   Some JDBC1 and JDBC2 merging (Anders Bengtsson)
 | 
						||
   Transaction performance improvements (Barry Lind)
 | 
						||
   Array fixes (Greg Zoller)
 | 
						||
   Serialize addition 
 | 
						||
   Fix batch processing (Rene Pijlman)
 | 
						||
   ExecSQL method reorganization (Anders Bengtsson)
 | 
						||
   GetColumn() fixes (Jeroen van Vianen)
 | 
						||
   Fix isWriteable() function (Rene Pijlman)
 | 
						||
   Improved passage of JDBC2 conformance tests (Rene Pijlman)
 | 
						||
   Add bytea type capability (Barry Lind)
 | 
						||
   Add isNullable() (Rene Pijlman)
 | 
						||
   JDBC date/time test suite fixes (Liam Stewart)
 | 
						||
   Fix for SELECT 'id' AS xxx FROM table (Dave Cramer)
 | 
						||
   Fix DatabaseMetaData to show precision properly (Mark Lillywhite)
 | 
						||
   New getImported/getExported keys (Jason Davies)
 | 
						||
   MD5 password encryption support (Jeremy Wohl)
 | 
						||
   Fix to actually use type cache (Ned Wolpert)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  ODBC
 | 
						||
 | 
						||
   Remove query size limit (Hiroshi)
 | 
						||
   Remove text field size limit (Hiroshi)
 | 
						||
   Fix for SQLPrimaryKeys in multibyte mode (Hiroshi)
 | 
						||
   Allow ODBC procedure calls (Hiroshi)
 | 
						||
   Improve boolean handing (Aidan Mountford)
 | 
						||
   Most configuration options on setable via DSN (Hiroshi)
 | 
						||
   Multibyte, performance fixes (Hiroshi)
 | 
						||
   Allow driver to be used with iODBC or unixODBC (Peter E)
 | 
						||
   MD5 password encryption support (Bruce)
 | 
						||
   Add more compatibility functions to odbc.sql (Peter E)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  ECPG
 | 
						||
 | 
						||
   EXECUTE ... INTO implemented
 | 
						||
   multiple row descriptor support (e.g. CARDINALITY)
 | 
						||
   Fix for GRANT parameters (Lee Kindness)
 | 
						||
   Fix INITIALLY DEFERRED bug
 | 
						||
   Various bug fixes (Michael, Christof Petig)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  Misc. Interfaces
 | 
						||
 | 
						||
   Python fix fetchone() (Gerhard Haring)
 | 
						||
   Use UTF, Unicode in Tcl where appropriate (Vsevolod Lobko, Reinhard Max)
 | 
						||
   Add Tcl COPY TO/FROM (ljb)
 | 
						||
   Prevent output of default index op class in pg_dump (Tom)
 | 
						||
   Fix libpgeasy memory leak (Bruce)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  Build and Install
 | 
						||
 | 
						||
   Configure, dynamic loader, and shared library fixes (Peter E)
 | 
						||
   Fixes in QNX 4 port (Bernd Tegge)
 | 
						||
   Fixes in Cygwin and Win32 ports (Jason Tishler, Gerhard Haring, Dmitry Yurtaev, Darko Prenosil, Mikhail Terekhov)
 | 
						||
   Fix for Win32 socket communication failures (Magnus, Mikhail Terekhov)
 | 
						||
   Hurd compile fix (Oliver Elphick)
 | 
						||
   BeOS fixes (Cyril Velter)
 | 
						||
   Remove configure --enable-unicode-conversion, now enabled by multibyte (Tatsuo)
 | 
						||
   AIX fixes (Tatsuo, Andreas)
 | 
						||
   Fix parallel make (Peter E)
 | 
						||
   Install SQL language manual pages into OS-specific directories (Peter E)
 | 
						||
   Rename config.h to pg_config.h (Peter E)
 | 
						||
   Reorganize installation layout of header files (Peter E)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  Source Code
 | 
						||
 | 
						||
   Remove SEP_CHAR (Bruce)
 | 
						||
   New GUC hooks (Tom)
 | 
						||
   Merge GUC and command line handling (Marko Kreen)
 | 
						||
   Remove EXTEND INDEX (Martijn van Oosterhout, Tom)
 | 
						||
   New pgjindent utility to indent java code (Bruce)
 | 
						||
   Remove define of true/false when compiling under C++ (Leandro Fanzone, Tom)
 | 
						||
   pgindent fixes (Bruce, Tom)
 | 
						||
   Replace strcasecmp() with strcmp() where appropriate (Peter E)
 | 
						||
   Dynahash portability improvements (Tom)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  Contrib
 | 
						||
 | 
						||
   New contrib/rtree_gist (Oleg Bartunov, Teodor Sigaev)
 | 
						||
   New contrib/tsearch full-text indexing (Oleg, Teodor Sigaev)
 | 
						||
   Add contrib/dblink for remote database access (Joe Conway)
 | 
						||
   contrib/ora2pg Oracle conversion utility (Gilles Darold)
 | 
						||
   contrib/xml XML conversion utility (John Gray)
 | 
						||
   contrib/fulltextindex fixes (Christopher Kings-Lynne)
 | 
						||
   New contrib/fuzzystrmatch with levenshtein and metaphone, soundex merged (Joe Conway)
 | 
						||
   Add contrib/intarray boolean queries, binary search, fixes (Oleg Bartunov)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                 Release 7.1.3
 | 
						||
 | 
						||
     Release date: 2001-08-15
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration to version 7.1.3
 | 
						||
 | 
						||
   A dump/restore is *not* required for those running 7.1.X.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 Remove unused WAL segements of large transactions (Tom)
 | 
						||
 Multiaction rule fix (Tom)
 | 
						||
 Pl/pgSQL memory allocation fix (Jan)
 | 
						||
 VACUUM buffer fix (Tom)
 | 
						||
 Regression test fixes (Tom)
 | 
						||
 pg_dump fixes for GRANT/REVOKE/comments on views, user-defined types (Tom)
 | 
						||
 Fix subselects with DISTINCT ON or LIMIT (Tom)
 | 
						||
 BEOS fix
 | 
						||
 Disable COPY TO/FROM a view (Tom)
 | 
						||
 Cygwin build (Jason Tishler)
 | 
						||
     
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                 Release 7.1.2
 | 
						||
 | 
						||
     Release date: 2001-05-11
 | 
						||
 | 
						||
   This has one fix from 7.1.1.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration to version 7.1.2
 | 
						||
 | 
						||
   A dump/restore is *not* required for those running 7.1.X.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 Fix PL/PgSQL SELECTs when returning no rows
 | 
						||
 Fix for psql backslash core dump
 | 
						||
 Referential integrity permission fix
 | 
						||
 Optimizer fixes
 | 
						||
 pg_dump cleanups
 | 
						||
     
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                 Release 7.1.1
 | 
						||
 | 
						||
     Release date: 2001-05-05
 | 
						||
 | 
						||
   This has a variety of fixes from 7.1.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration to version 7.1.1
 | 
						||
 | 
						||
   A dump/restore is *not* required for those running 7.1.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 Fix for numeric MODULO operator (Tom)
 | 
						||
 pg_dump fixes (Philip)
 | 
						||
 pg_dump can dump 7.0 databases (Philip)
 | 
						||
 readline 4.2 fixes (Peter E)
 | 
						||
 JOIN fixes (Tom)
 | 
						||
 AIX, MSWIN, VAX,N32K fixes (Tom)
 | 
						||
 Multibytes fixes (Tom)
 | 
						||
 Unicode fixes (Tatsuo)
 | 
						||
 Optimizer improvements (Tom)
 | 
						||
 Fix for whole tuples in functions (Tom)
 | 
						||
 Fix for pg_ctl and option strings with spaces (Peter E)
 | 
						||
 ODBC fixes (Hiroshi)
 | 
						||
 EXTRACT can now take string argument (Thomas)
 | 
						||
 Python fixes (Darcy)
 | 
						||
     
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                  Release 7.1
 | 
						||
 | 
						||
     Release date: 2001-04-13
 | 
						||
 | 
						||
   This release focuses on removing limitations that have existed in the
 | 
						||
   PostgreSQL code for many years.
 | 
						||
 | 
						||
   Major changes in this release:
 | 
						||
 | 
						||
   Write-ahead Log (WAL)
 | 
						||
 | 
						||
           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.
 | 
						||
 | 
						||
   TOAST
 | 
						||
 | 
						||
           TOAST - Previous releases had a compiled-in row length limit,
 | 
						||
           typically 8k - 32k. This limit made storage of long text fields
 | 
						||
           difficult. With TOAST, long rows of any length can be stored with
 | 
						||
           good performance.
 | 
						||
 | 
						||
   Outer Joins
 | 
						||
 | 
						||
           We now support outer joins. The UNION/NOT IN workaround for outer
 | 
						||
           joins is no longer required. We use the SQL92 outer join syntax.
 | 
						||
 | 
						||
   Function Manager
 | 
						||
 | 
						||
           The previous C function manager did not handle NULLs properly, nor
 | 
						||
           did it support 64-bit CPU's (Alpha). 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.
 | 
						||
 | 
						||
   Complex Queries
 | 
						||
 | 
						||
           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.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration to version 7.1
 | 
						||
 | 
						||
   A dump/restore using pg_dump is required for those wishing to migrate data
 | 
						||
   from any previous release.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 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 Hollomon)
 | 
						||
 Disallow INSERT/UPDATE/DELETE on views (Mark Hollomon)
 | 
						||
 Disallow DROP RULE, CREATE INDEX, TRUNCATE on views (Mark Hollomon)
 | 
						||
 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 to better handle user-defined items in template1 (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 ALTER/DROP TABLE rollback-able (Vadim, 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)
 | 
						||
 Fix use of NOTIFY in some rules (Tom)
 | 
						||
 Overhaul btree code (Tom)
 | 
						||
 Fix NOT NULL use in Pl/PgSQL variables (Tom)
 | 
						||
 Overhaul GIST code (Oleg)
 | 
						||
 Fix CLUSTER to preserve constraints and column default (Tom)
 | 
						||
 Improved deadlock detection handling (Tom)
 | 
						||
 Allow multiple SERIAL columns in a table (Tom)
 | 
						||
 Prevent occasional index corruption (Vadim)
 | 
						||
 | 
						||
 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 (Peter E, 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_dumpall 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 only username (Peter E)
 | 
						||
 Allow TEMPORARY or TEMP keyword when creating temporary tables (Bruce)
 | 
						||
 New memory leak checker (Karel)
 | 
						||
 New SET SESSION CHARACTERISTICS (Thomas)
 | 
						||
 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 Hollomon)
 | 
						||
 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)
 | 
						||
 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/from Unicode (Tatsuo, Eiji)
 | 
						||
 New /contrib/pgcrypto hashing functions (Marko Kreen)
 | 
						||
 New pg_dumpall --globals-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 utility to convert MySQL schema dumps to SQL92 and PostgreSQL (Thomas)
 | 
						||
 New /contrib/rserv replication toolkit (Vadim)
 | 
						||
 New file format for COPY BINARY (Tom)
 | 
						||
 New /contrib/oid2name to map numeric files to table names (B Palmer)
 | 
						||
 New "idle in transaction" ps status message (Marc)
 | 
						||
 Update to pgaccess 0.98.7 (Constantin Teodorescu)
 | 
						||
 pg_ctl now defaults to -w (wait) on shutdown, new -l (log) option
 | 
						||
 Add rudimentary dependency checking to pg_dump (Philip)
 | 
						||
 | 
						||
 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, Peter E)
 | 
						||
 CHAR() no longer faster than VARCHAR() because of TOAST (Tom)
 | 
						||
 New GIST seg/cube examples (Gene Selkov)
 | 
						||
 Improved round(numeric) handling (Tom)
 | 
						||
 Fix CIDR output formatting (Tom)
 | 
						||
 New CIDR abbrev() function (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 table (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 (Peter E)
 | 
						||
 New BSDI README (Bruce)
 | 
						||
 configure script moved to top level, not /src (Peter E)
 | 
						||
 Makefile/configuration/compilation overhaul (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)
 | 
						||
 QNX fixes (Maurizio)
 | 
						||
 New heap_open(), heap_openr() API (Tom)
 | 
						||
 Remove colon and semi-colon operators (Thomas)
 | 
						||
 New pg_class.relkind value for views (Mark Hollomon)
 | 
						||
 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 (Peter Bierman, Bruce Hartzler)
 | 
						||
 New FreeBSD Alpha port (Alfred)
 | 
						||
 Overhaul shared memory segments (Tom)
 | 
						||
 Add IBM S/390 support (Neale Ferguson)
 | 
						||
 Moved macmanuf to /contrib (Larry Rosenman)
 | 
						||
 Syslog improvements (Larry Rosenman)
 | 
						||
 New template0 database that contains no user additions (Tom)
 | 
						||
 New /contrib/cube and /contrib/seg GIST sample code (Gene Selkov)
 | 
						||
 Allow NetBSD's libedit instead of readline (Peter)
 | 
						||
 Improved assembly language source code format (Bruce)
 | 
						||
 New contrib/pg_logger
 | 
						||
 New --template option to createdb
 | 
						||
 New contrib/pg_control utility (Oliver)
 | 
						||
 New FreeBSD tools ipc_check, start-scripts/freebsd
 | 
						||
     
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                 Release 7.0.3
 | 
						||
 | 
						||
     Release date: 2000-11-11
 | 
						||
 | 
						||
   This has a variety of fixes from 7.0.2.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration to version 7.0.3
 | 
						||
 | 
						||
   A dump/restore is *not* required for those running 7.0.*.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 Jdbc fixes (Peter)
 | 
						||
 Large object fix (Tom)
 | 
						||
 Fix lean in COPY WITH OIDS leak (Tom)
 | 
						||
 Fix backwards-index-scan (Tom)
 | 
						||
 Fix SELECT ... FOR UPDATE so it checks for duplicate keys (Hiroshi)
 | 
						||
 Add --enable-syslog to configure (Marc)
 | 
						||
 Fix abort transaction at backend exit in rare cases (Tom)
 | 
						||
 Fix for psql \l+ when multi-byte enabled (Tatsuo)
 | 
						||
 Allow PL/pgSQL to accept non ascii identifiers (Tatsuo)
 | 
						||
 Make vacuum always flush buffers (Tom)
 | 
						||
 Fix to allow cancel while waiting for a lock (Hiroshi)
 | 
						||
 Fix for memory aloocation problem in user authentication code (Tom)
 | 
						||
 Remove bogus use of int4out() (Tom)
 | 
						||
 Fixes for multiple subqueries in COALESCE or BETWEEN (Tom)
 | 
						||
 Fix for failure of triggers on heap open in certain cases (Jeroen van
 | 
						||
     Vianen)
 | 
						||
 Fix for erroneous selectivity of not-equals (Tom)
 | 
						||
 Fix for erroneous use of strcmp() (Tom)
 | 
						||
 Fix for bug where storage manager accesses items beyond end of file
 | 
						||
     (Tom)
 | 
						||
 Fix to include kernel errno message in all smgr elog messages (Tom)
 | 
						||
 Fix for '.' not in PATH at build time (SL Baur)
 | 
						||
 Fix for out-of-file-descriptors error (Tom)
 | 
						||
 Fix to make pg_dump dump 'iscachable' flag for functions (Tom)
 | 
						||
 Fix for subselect in targetlist of Append node (Tom)
 | 
						||
 Fix for mergejoin plans (Tom)
 | 
						||
 Fix TRUNCATE failure on relations with indexes (Tom)
 | 
						||
 Avoid database-wide restart on write error (Hiroshi)
 | 
						||
 Fix nodeMaterial to honor chgParam by recomputing its output (Tom)
 | 
						||
 Fix VACUUM problem with moving chain of update tuples when source and
 | 
						||
     destination of a tuple lie on the same page (Tom)
 | 
						||
 Fix user.c CommandCounterIncrement (Tom)
 | 
						||
 Fix for AM/PM boundary problem in to_char() (Karel Zak)
 | 
						||
 Fix TIME aggregate handling (Tom)
 | 
						||
 Fix to_char() to avoid coredump on NULL input (Tom)
 | 
						||
 Buffer fix (Tom)
 | 
						||
 Fix for inserting/copying longer multibyte strings into char() data
 | 
						||
     types (Tatsuo)
 | 
						||
 Fix for crash of backend, on abort (Tom)
 | 
						||
     
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                 Release 7.0.2
 | 
						||
 | 
						||
     Release date: 2000-06-05
 | 
						||
 | 
						||
   This is a repackaging of 7.0.1 with added documentation.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration to version 7.0.2
 | 
						||
 | 
						||
   A dump/restore is *not* required for those running 7.*.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 Added documentation to tarball.
 | 
						||
     
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                 Release 7.0.1
 | 
						||
 | 
						||
     Release date: 2000-06-01
 | 
						||
 | 
						||
   This is a cleanup release for 7.0.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration to version 7.0.1
 | 
						||
 | 
						||
   A dump/restore is *not* required for those running 7.0.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 Fix many CLUSTER failures (Tom)
 | 
						||
 Allow ALTER TABLE RENAME works on indexes (Tom)
 | 
						||
 Fix plpgsql to handle datetime->timestamp and timespan->interval (Bruce)
 | 
						||
 New configure --with-setproctitle switch to use setproctitle() (Marc, Bruce)
 | 
						||
 Fix the off by one errors in ResultSet from 6.5.3, and more.
 | 
						||
 jdbc ResultSet fixes (Joseph Shraibman)
 | 
						||
 optimizer tunings (Tom)
 | 
						||
 Fix create user for pgaccess
 | 
						||
 Fix for UNLISTEN failure
 | 
						||
 IRIX fixes (David Kaelbling)
 | 
						||
 QNX fixes (Andreas Kardos)
 | 
						||
 Reduce COPY IN lock level (Tom)
 | 
						||
 Change libpqeasy to use PQconnectdb() style parameters (Bruce)
 | 
						||
 Fix pg_dump to handle OID indexes (Tom)
 | 
						||
 Fix small memory leak (Tom)
 | 
						||
 Solaris fix for createdb/dropdb (Tatsuo)
 | 
						||
 Fix for non-blocking connections (Alfred Perlstein)
 | 
						||
 Fix improper recovery after RENAME TABLE failures (Tom)
 | 
						||
 Copy pg_ident.conf.sample into /lib directory in install (Bruce)
 | 
						||
 Add SJIS UDC (NEC selection IBM kanji) support (Eiji Tokuya)
 | 
						||
 Fix too long syslog message (Tatsuo)
 | 
						||
 Fix problem with quoted indexes that are too long (Tom)
 | 
						||
 JDBC ResultSet.getTimestamp() fix (Gregory Krasnow & Floyd Marinescu)
 | 
						||
 ecpg changes (Michael)
 | 
						||
     
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                  Release 7.0
 | 
						||
 | 
						||
     Release date: 2000-05-08
 | 
						||
 | 
						||
   This release contains improvements in many areas, demonstrating the
 | 
						||
   continued growth of PostgreSQL. There are more improvements and fixes in
 | 
						||
   7.0 than in any previous release. The developers have confidence that this
 | 
						||
   is the best release yet; we do our best to put out only solid releases,
 | 
						||
   and this one is no exception.
 | 
						||
 | 
						||
   Major changes in this release:
 | 
						||
 | 
						||
   Foreign Keys
 | 
						||
 | 
						||
           Foreign keys are now implemented, with the exception of PARTIAL
 | 
						||
           MATCH foreign keys. Many users have been asking for this feature,
 | 
						||
           and we are pleased to offer it.
 | 
						||
 | 
						||
   Optimizer Overhaul
 | 
						||
 | 
						||
           Continuing on work started a year ago, the optimizer has been
 | 
						||
           improved, allowing better query plan selection and faster
 | 
						||
           performance with less memory usage.
 | 
						||
 | 
						||
   Updated psql
 | 
						||
 | 
						||
           psql, our interactive terminal monitor, has been updated with a
 | 
						||
           variety of new features. See the psql manual page for details.
 | 
						||
 | 
						||
   Join Syntax
 | 
						||
 | 
						||
           SQL92 join syntax is now supported, though only as INNER JOINs for
 | 
						||
           this release. JOIN, NATURAL JOIN, JOIN/USING, JOIN/ON are
 | 
						||
           available, as are column correlation names.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration to version 7.0
 | 
						||
 | 
						||
   A dump/restore using pg_dump is required for those wishing to migrate data
 | 
						||
   from any previous release of PostgreSQL. For those upgrading from 6.5.*,
 | 
						||
   you may instead use pg_upgrade to upgrade to this release; however, a full
 | 
						||
   dump/reload installation is always the most robust method for upgrades.
 | 
						||
 | 
						||
   Interface and compatibility issues to consider for the new release
 | 
						||
   include:
 | 
						||
 | 
						||
     * The date/time types datetime and timespan have been superseded by the
 | 
						||
       SQL92-defined types timestamp and interval. Although there has been
 | 
						||
       some effort to ease the transition by allowing PostgreSQL to recognize
 | 
						||
       the deprecated type names and translate them to the new type names,
 | 
						||
       this mechanism may not be completely transparent to your existing
 | 
						||
       application.
 | 
						||
 | 
						||
     * The optimizer has been substantially improved in the area of query
 | 
						||
       cost estimation. In some cases, this will result in decreased query
 | 
						||
       times as the optimizer makes a better choice for the preferred plan.
 | 
						||
       However, in a small number of cases, usually involving pathological
 | 
						||
       distributions of data, your query times may go up. If you are dealing
 | 
						||
       with large amounts of data, you may want to check your queries to
 | 
						||
       verify performance.
 | 
						||
 | 
						||
     * The JDBC and ODBC interfaces have been upgraded and extended.
 | 
						||
 | 
						||
     * The string function CHAR_LENGTH is now a native function. Previous
 | 
						||
       versions translated this into a call to LENGTH, which could result in
 | 
						||
       ambiguity with other types implementing LENGTH such as the geometric
 | 
						||
       types.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 Bug Fixes
 | 
						||
 ---------
 | 
						||
 Prevent function calls exceeding maximum number of arguments (Tom)
 | 
						||
 Improve CASE construct (Tom)
 | 
						||
 Fix SELECT coalesce(f1,0) FROM int4_tbl GROUP BY f1 (Tom)
 | 
						||
 Fix SELECT sentence.words[0] FROM sentence GROUP BY sentence.words[0] (Tom)
 | 
						||
 Fix GROUP BY scan bug (Tom)
 | 
						||
 Improvements in SQL grammar processing (Tom)
 | 
						||
 Fix for views involved in INSERT ... SELECT ... (Tom)
 | 
						||
 Fix for SELECT a/2, a/2 FROM test_missing_target GROUP BY a/2 (Tom)
 | 
						||
 Fix for subselects in INSERT ... SELECT (Tom)
 | 
						||
 Prevent INSERT ... SELECT ... ORDER BY (Tom)
 | 
						||
 Fixes for relations greater than 2GB, including vacuum
 | 
						||
 Improve propagating system table changes to other backends (Tom)
 | 
						||
 Improve propagating user table changes to other backends (Tom)
 | 
						||
 Fix handling of temp tables in complex situations (Bruce, Tom)
 | 
						||
 Allow table locking at table open, improving concurrent reliability (Tom)
 | 
						||
 Properly quote sequence names in pg_dump (Ross J. Reedstrom)
 | 
						||
 Prevent DROP DATABASE while others accessing
 | 
						||
 Prevent any rows from being returned by GROUP BY if no rows processed (Tom)
 | 
						||
 Fix SELECT COUNT(1) FROM table WHERE ...' if no rows matching WHERE (Tom)
 | 
						||
 Fix pg_upgrade so it works for MVCC (Tom)
 | 
						||
 Fix for SELECT ... WHERE x IN (SELECT ... HAVING SUM(x) > 1) (Tom)
 | 
						||
 Fix for "f1 datetime DEFAULT 'now'"  (Tom)
 | 
						||
 Fix problems with CURRENT_DATE used in DEFAULT (Tom)
 | 
						||
 Allow comment-only lines, and ;;; lines too. (Tom)
 | 
						||
 Improve recovery after failed disk writes, disk full (Hiroshi)
 | 
						||
 Fix cases where table is mentioned in FROM but not joined (Tom)
 | 
						||
 Allow HAVING clause without aggregate functions (Tom)
 | 
						||
 Fix for "--" comment and no trailing newline, as seen in perl interface
 | 
						||
 Improve pg_dump failure error reports (Bruce)
 | 
						||
 Allow sorts and hashes to exceed 2GB file sizes (Tom)
 | 
						||
 Fix for pg_dump dumping of inherited rules (Tom)
 | 
						||
 Fix for NULL handling comparisons (Tom)
 | 
						||
 Fix inconsistent state caused by failed CREATE/DROP commands (Hiroshi)
 | 
						||
 Fix for dbname with dash
 | 
						||
 Prevent DROP INDEX from interfering with other backends (Tom)
 | 
						||
 Fix file descriptor leak in verify_password()
 | 
						||
 Fix for "Unable to identify an operator =$" problem
 | 
						||
 Fix ODBC so no segfault if CommLog and Debug enabled (Dirk Niggemann)
 | 
						||
 Fix for recursive exit call (Massimo)
 | 
						||
 Fix for extra-long timezones (Jeroen van Vianen)
 | 
						||
 Make pg_dump preserve primary key information (Peter E)
 | 
						||
 Prevent databases with single quotes (Peter E)
 | 
						||
 Prevent DROP DATABASE inside  transaction (Peter E)
 | 
						||
 ecpg memory leak fixes (Stephen Birch)
 | 
						||
 Fix for SELECT null::text, SELECT int4fac(null) and SELECT 2 + (null) (Tom)
 | 
						||
 Y2K timestamp fix (Massimo)
 | 
						||
 Fix for VACUUM 'HEAP_MOVED_IN was not expected' errors (Tom)
 | 
						||
 Fix for views with tables/columns containing spaces  (Tom)
 | 
						||
 Prevent permissions on indexes (Peter E)
 | 
						||
 Fix for spinlock stuck problem when error is generated (Hiroshi)
 | 
						||
 Fix ipcclean on Linux
 | 
						||
 Fix handling of NULL constraint conditions (Tom)
 | 
						||
 Fix memory leak in odbc driver (Nick Gorham)
 | 
						||
 Fix for permission check on UNION tables (Tom)
 | 
						||
 Fix to allow SELECT 'a' LIKE 'a' (Tom)
 | 
						||
 Fix for SELECT 1 + NULL (Tom)
 | 
						||
 Fixes to CHAR
 | 
						||
 Fix log() on numeric type (Tom)
 | 
						||
 Deprecate ':' and ';' operators
 | 
						||
 Allow vacuum of temporary tables
 | 
						||
 Disallow inherited columns with the same name as new columns
 | 
						||
 Recover or force failure when disk space is exhausted (Hiroshi)
 | 
						||
 Fix INSERT INTO ... SELECT with AS columns matching result columns
 | 
						||
 Fix INSERT ... SELECT ... GROUP BY groups by target columns not source columns (Tom)
 | 
						||
 Fix CREATE TABLE test (a char(5) DEFAULT text '', b int4) with INSERT (Tom)
 | 
						||
 Fix UNION with LIMIT
 | 
						||
 Fix CREATE TABLE x AS SELECT 1 UNION SELECT 2
 | 
						||
 Fix CREATE TABLE test(col char(2) DEFAULT user)
 | 
						||
 Fix mismatched types in CREATE TABLE ... DEFAULT
 | 
						||
 Fix SELECT * FROM pg_class where oid in (0,-1)
 | 
						||
 Fix SELECT COUNT('asdf') FROM pg_class WHERE oid=12
 | 
						||
 Prevent user who can create databases can modifying pg_database table (Peter E)
 | 
						||
 Fix btree to give a useful elog when key > 1/2 (page - overhead) (Tom)
 | 
						||
 Fix INSERT of 0.0 into DECIMAL(4,4) field (Tom)
 | 
						||
 | 
						||
 Enhancements
 | 
						||
 ------------
 | 
						||
 New CLI interface include file sqlcli.h, based on SQL3/SQL98
 | 
						||
 Remove all limits on query length, row length limit still exists (Tom)
 | 
						||
 Update jdbc protocol to 2.0 (Jens Glaser <jens@jens.de>)
 | 
						||
 Add TRUNCATE command to quickly truncate relation (Mike Mascari)
 | 
						||
 Fix to give super user and createdb user proper update catalog rights (Peter E)
 | 
						||
 Allow ecpg bool variables to have NULL values (Christof)
 | 
						||
 Issue ecpg error if NULL value for variable with no NULL indicator (Christof)
 | 
						||
 Allow ^C to cancel COPY command (Massimo)
 | 
						||
 Add SET FSYNC and SHOW PG_OPTIONS commands(Massimo)
 | 
						||
 Function name overloading for dynamically-loaded C functions (Frankpitt)
 | 
						||
 Add CmdTuples() to libpq++(Vince)
 | 
						||
 New CREATE CONSTRAINT TRIGGER and SET CONSTRAINTS commands(Jan)
 | 
						||
 Allow CREATE FUNCTION/WITH clause to be used for all language types
 | 
						||
 configure --enable-debug adds -g (Peter E)
 | 
						||
 configure --disable-debug removes -g (Peter E)
 | 
						||
 Allow more complex default expressions (Tom)
 | 
						||
 First real FOREIGN KEY constraint trigger functionality (Jan)
 | 
						||
 Add FOREIGN KEY ... MATCH FULL ... ON DELETE CASCADE (Jan)
 | 
						||
 Add FOREIGN KEY ... MATCH <unspecified> referential actions (Don Baccus)
 | 
						||
 Allow WHERE restriction on ctid (physical heap location) (Hiroshi)
 | 
						||
 Move pginterface from contrib to interface directory, rename to pgeasy (Bruce)
 | 
						||
 Change pgeasy connectdb() parameter ordering (Bruce)
 | 
						||
 Require SELECT DISTINCT target list to have all ORDER BY columns (Tom)
 | 
						||
 Add Oracle's COMMENT ON command (Mike Mascari <mascarim@yahoo.com>)
 | 
						||
 libpq's PQsetNoticeProcessor function now returns previous hook(Peter E)
 | 
						||
 Prevent PQsetNoticeProcessor from being set to NULL (Peter E)
 | 
						||
 Make USING in COPY optional (Bruce)
 | 
						||
 Allow subselects in the target list (Tom)
 | 
						||
 Allow subselects on the left side of comparison operators (Tom)
 | 
						||
 New parallel regression test (Jan)
 | 
						||
 Change backend-side COPY to write files with permissions 644 not 666 (Tom)
 | 
						||
 Force permissions on PGDATA directory to be secure, even if it exists (Tom)
 | 
						||
 Added psql LASTOID variable to return last inserted oid (Peter E)
 | 
						||
 Allow concurrent vacuum and remove pg_vlock vacuum lock file (Tom)
 | 
						||
 Add permissions check for vacuum (Peter E)
 | 
						||
 New libpq functions to allow asynchronous connections: PQconnectStart(),
 | 
						||
    PQconnectPoll(), PQresetStart(), PQresetPoll(), PQsetenvStart(),
 | 
						||
    PQsetenvPoll(), PQsetenvAbort (Ewan Mellor)
 | 
						||
 New libpq PQsetenv() function (Ewan Mellor)
 | 
						||
 create/alter user extension (Peter E)
 | 
						||
 New postmaster.pid and postmaster.opts under $PGDATA (Tatsuo)
 | 
						||
 New scripts for create/drop user/db (Peter E)
 | 
						||
 Major psql overhaul (Peter E)
 | 
						||
 Add const to libpq interface (Peter E)
 | 
						||
 New libpq function PQoidValue (Peter E)
 | 
						||
 Show specific non-aggregate causing problem with GROUP BY (Tom)
 | 
						||
 Make changes to pg_shadow recreate pg_pwd file (Peter E)
 | 
						||
 Add aggregate(DISTINCT ...) (Tom)
 | 
						||
 Allow flag to control COPY input/output of NULLs (Peter E)
 | 
						||
 Make postgres user have a password by default (Peter E)
 | 
						||
 Add CREATE/ALTER/DROP GROUP (Peter E)
 | 
						||
 All administration scripts now support --long options (Peter E, Karel)
 | 
						||
 Vacuumdb script now supports --all option (Peter E)
 | 
						||
 ecpg new portable FETCH syntax
 | 
						||
 Add ecpg EXEC SQL IFDEF, EXEC SQL IFNDEF, EXEC SQL ELSE, EXEC SQL ELIF
 | 
						||
         and EXEC SQL ENDIF directives
 | 
						||
 Add pg_ctl script to control backend start-up (Tatsuo)
 | 
						||
 Add postmaster.opts.default file to store start-up flags (Tatsuo)
 | 
						||
 Allow --with-mb=SQL_ASCII
 | 
						||
 Increase maximum number of index keys to 16 (Bruce)
 | 
						||
 Increase maximum number of function arguments to 16 (Bruce)
 | 
						||
 Allow configuration of maximum number of index keys and arguments (Bruce)
 | 
						||
 Allow unprivileged users to change their passwords (Peter E)
 | 
						||
 Password authentication enabled; required for new users (Peter E)
 | 
						||
 Disallow dropping a user who owns a database (Peter E)
 | 
						||
 Change initdb option --with-mb to --enable-multibyte
 | 
						||
 Add option for initdb to prompts for superuser password (Peter E)
 | 
						||
 Allow complex type casts like col::numeric(9,2) and col::int2::float8 (Tom)
 | 
						||
 Updated user interfaces on initdb, initlocation, pg_dump, ipcclean (Peter E)
 | 
						||
 New pg_char_to_encoding() and pg_encoding_to_char() functions (Tatsuo)
 | 
						||
 Libpq non-blocking mode (Alfred Perlstein)
 | 
						||
 Improve conversion of types in casts that don't specify a length
 | 
						||
 New plperl internal programming language (Mark Hollomon)
 | 
						||
 Allow COPY IN to read file that do not end with a newline (Tom)
 | 
						||
 Indicate when long identifiers are truncated (Tom)
 | 
						||
 Allow aggregates to use type equivalency (Peter E)
 | 
						||
 Add Oracle's to_char(), to_date(), to_datetime(), to_timestamp(), to_number()
 | 
						||
         conversion functions (Karel Zak <zakkr@zf.jcu.cz>)
 | 
						||
 Add SELECT DISTINCT ON (expr [, expr ...]) targetlist ... (Tom)
 | 
						||
 Check to be sure ORDER BY is compatible with the DISTINCT operation (Tom)
 | 
						||
 Add NUMERIC and int8 types to ODBC
 | 
						||
 Improve EXPLAIN results for Append, Group, Agg, Unique (Tom)
 | 
						||
 Add ALTER TABLE ... ADD FOREIGN KEY (Stephan Szabo)
 | 
						||
 Allow SELECT .. FOR UPDATE in PL/pgSQL (Hiroshi)
 | 
						||
 Enable backward sequential scan even after reaching EOF (Hiroshi)
 | 
						||
 Add btree indexing of boolean values, >= and <= (Don Baccus)
 | 
						||
 Print current line number when COPY FROM fails (Massimo)
 | 
						||
 Recognize POSIX time zone e.g. "PST+8" and "GMT-8" (Thomas)
 | 
						||
 Add DEC as synonym for DECIMAL (Thomas)
 | 
						||
 Add SESSION_USER as SQL92 keyword, same as CURRENT_USER (Thomas)
 | 
						||
 Implement SQL92 column aliases (aka correlation names) (Thomas)
 | 
						||
 Implement SQL92 join syntax (Thomas)
 | 
						||
 Make INTERVAL reserved word allowed as a column identifier (Thomas)
 | 
						||
 Implement REINDEX command (Hiroshi)
 | 
						||
 Accept ALL in aggregate function SUM(ALL col) (Tom)
 | 
						||
 Prevent GROUP BY from using column aliases (Tom)
 | 
						||
 New psql \encoding option (Tatsuo)
 | 
						||
 Allow PQrequestCancel() to terminate when in waiting-for-lock state (Hiroshi)
 | 
						||
 Allow negation of a negative number in all cases
 | 
						||
 Add ecpg descriptors (Christof, Michael)
 | 
						||
 Allow CREATE VIEW v AS SELECT f1::char(8) FROM tbl
 | 
						||
 Allow casts with length, like foo::char(8)
 | 
						||
 New libpq functions PQsetClientEncoding(), PQclientEncoding() (Tatsuo)
 | 
						||
 Add support for SJIS user defined characters (Tatsuo)
 | 
						||
 Larger views/rules supported
 | 
						||
 Make libpq's PQconndefaults() thread-safe (Tom)
 | 
						||
 Disable // as comment to be ANSI conforming, should use -- (Tom)
 | 
						||
 Allow column aliases on views CREATE VIEW name (collist)
 | 
						||
 Fixes for views with subqueries (Tom)
 | 
						||
 Allow UPDATE table SET fld = (SELECT ...) (Tom)
 | 
						||
 SET command options no longer require quotes
 | 
						||
 Update pgaccess to 0.98.6
 | 
						||
 New SET SEED command
 | 
						||
 New pg_options.sample file
 | 
						||
 New SET FSYNC command (Massimo)
 | 
						||
 Allow pg_descriptions when creating tables
 | 
						||
 Allow pg_descriptions when creating types, columns, and functions
 | 
						||
 Allow psql \copy to allow delimiters (Peter E)
 | 
						||
 Allow psql to print nulls as distinct from "" [null] (Peter E)
 | 
						||
 | 
						||
 Types
 | 
						||
 -----
 | 
						||
 Many array fixes (Tom)
 | 
						||
 Allow bare column names to be subscripted as arrays (Tom)
 | 
						||
 Improve type casting of int and float constants (Tom)
 | 
						||
 Cleanups for int8 inputs, range checking, and type conversion (Tom)
 | 
						||
 Fix for SELECT timespan('21:11:26'::time) (Tom)
 | 
						||
 netmask('x.x.x.x/0') is 255.255.255.255 instead of 0.0.0.0 (Oleg Sharoiko)
 | 
						||
 Add btree index on NUMERIC (Jan)
 | 
						||
 Perl fix for large objects containing NUL characters (Douglas Thomson)
 | 
						||
 ODBC fix for for large objects (free)
 | 
						||
 Fix indexing of cidr data type
 | 
						||
 Fix for Ethernet MAC addresses (macaddr type) comparisons
 | 
						||
 Fix for date/time types when overflows happened in computations (Tom)
 | 
						||
 Allow array on int8 (Peter E)
 | 
						||
 Fix for rounding/overflow of NUMERIC type, like NUMERIC(4,4) (Tom)
 | 
						||
 Allow NUMERIC arrays
 | 
						||
 Fix bugs in NUMERIC ceil() and floor() functions (Tom)
 | 
						||
 Make char_length()/octet_length including trailing blanks (Tom)
 | 
						||
 Made abstime/reltime use int4 instead of time_t (Peter E)
 | 
						||
 New lztext data type for compressed text fields
 | 
						||
 Revise code to handle coercion of int and float constants (Tom)
 | 
						||
 Start at new code to implement a BIT and BIT VARYING type (Adriaan Joubert)
 | 
						||
 NUMERIC now accepts scientific notation (Tom)
 | 
						||
 NUMERIC to int4 rounds (Tom)
 | 
						||
 Convert float4/8 to NUMERIC properly (Tom)
 | 
						||
 Allow type conversion with NUMERIC (Thomas)
 | 
						||
 Make ISO date style (2000-02-16 09:33) the default (Thomas)
 | 
						||
 Add NATIONAL CHAR [ VARYING ] (Thomas)
 | 
						||
 Allow NUMERIC round and trunc to accept negative scales (Tom)
 | 
						||
 New TIME WITH TIME ZONE type (Thomas)
 | 
						||
 Add MAX()/MIN() on time type (Thomas)
 | 
						||
 Add abs(), mod(), fac() for int8 (Thomas)
 | 
						||
 Rename functions to round(), sqrt(), cbrt(), pow() for float8 (Thomas)
 | 
						||
 Add transcendental math functions (e.g. sin(), acos()) for float8 (Thomas)
 | 
						||
 Add exp() and ln() for NUMERIC type
 | 
						||
 Rename NUMERIC power() to pow() (Thomas)
 | 
						||
 Improved TRANSLATE() function (Edwin Ramirez, Tom)
 | 
						||
 Allow X=-Y operators  (Tom)
 | 
						||
 Allow SELECT float8(COUNT(*))/(SELECT COUNT(*) FROM t) FROM t GROUP BY f1; (Tom)
 | 
						||
 Allow LOCALE to use indexes in regular expression searches (Tom)
 | 
						||
 Allow creation of functional indexes to use default types
 | 
						||
 | 
						||
 Performance
 | 
						||
 -----------
 | 
						||
 Prevent exponential space consumption with many AND's and OR's (Tom)
 | 
						||
 Collect attribute selectivity values for system columns (Tom)
 | 
						||
 Reduce memory usage of aggregates (Tom)
 | 
						||
 Fix for LIKE optimization to use indexes with multibyte encodings (Tom)
 | 
						||
 Fix r-tree index optimizer selectivity (Thomas)
 | 
						||
 Improve optimizer selectivity computations and functions (Tom)
 | 
						||
 Optimize btree searching for cases where many equal keys exist (Tom)
 | 
						||
 Enable fast LIKE index processing only if index present (Tom)
 | 
						||
 Re-use free space on index pages with duplicates (Tom)
 | 
						||
 Improve hash join processing (Tom)
 | 
						||
 Prevent descending sort if result is already sorted(Hiroshi)
 | 
						||
 Allow commuting of index scan query qualifications (Tom)
 | 
						||
 Prefer index scans in cases where ORDER BY/GROUP BY is required (Tom)
 | 
						||
 Allocate large memory requests in fix-sized chunks for performance (Tom)
 | 
						||
 Fix vacuum's performance by reducing memory allocation requests (Tom)
 | 
						||
 Implement constant-expression simplification (Bernard Frankpitt, Tom)
 | 
						||
 Use secondary columns to be used to determine start of index scan (Hiroshi)
 | 
						||
 Prevent quadruple use of disk space when doing internal sorting (Tom)
 | 
						||
 Faster sorting by calling fewer functions (Tom)
 | 
						||
 Create system indexes to match all system caches (Bruce, Hiroshi)
 | 
						||
 Make system caches use system indexes (Bruce)
 | 
						||
 Make all system indexes unique (Bruce)
 | 
						||
 Improve pg_statistics management for VACUUM speed improvement (Tom)
 | 
						||
 Flush backend cache less frequently (Tom, Hiroshi)
 | 
						||
 COPY now reuses previous memory allocation, improving performance (Tom)
 | 
						||
 Improve optimization cost estimation (Tom)
 | 
						||
 Improve optimizer estimate of range queries x > lowbound AND x < highbound (Tom)
 | 
						||
 Use DNF instead of CNF where appropriate (Tom, Taral)
 | 
						||
 Further cleanup for OR-of-AND WHERE-clauses (Tom)
 | 
						||
 Make use of index in OR clauses (x = 1 AND y = 2) OR (x = 2 AND y = 4) (Tom)
 | 
						||
 Smarter optimizer computations for random index page access (Tom)
 | 
						||
 New SET variable to control optimizer costs (Tom)
 | 
						||
 Optimizer queries based on LIMIT, OFFSET, and EXISTS qualifications (Tom)
 | 
						||
 Reduce optimizer internal housekeeping of join paths for speedup (Tom)
 | 
						||
 Major subquery speedup (Tom)
 | 
						||
 Fewer fsync writes when fsync is not disabled (Tom)
 | 
						||
 Improved LIKE optimizer estimates (Tom)
 | 
						||
 Prevent fsync in SELECT-only queries (Vadim)
 | 
						||
 Make index creation use psort code, because it is now faster (Tom)
 | 
						||
 Allow creation of sort temp tables > 1 Gig
 | 
						||
 | 
						||
 Source Tree Changes
 | 
						||
 -------------------
 | 
						||
 Fix for linux PPC compile
 | 
						||
 New generic expression-tree-walker subroutine (Tom)
 | 
						||
 Change form() to varargform() to prevent portability problems
 | 
						||
 Improved range checking for large integers on Alphas
 | 
						||
 Clean up #include in /include directory (Bruce)
 | 
						||
 Add scripts for checking includes (Bruce)
 | 
						||
 Remove un-needed #include's from *.c files (Bruce)
 | 
						||
 Change #include's to use <> and "" as appropriate (Bruce)
 | 
						||
 Enable WIN32 compilation of libpq
 | 
						||
 Alpha spinlock fix from Uncle George <gatgul@voicenet.com>
 | 
						||
 Overhaul of optimizer data structures (Tom)
 | 
						||
 Fix to cygipc library (Yutaka Tanida)
 | 
						||
 Allow pgsql to work on newer Cygwin snapshots (Dan)
 | 
						||
 New catalog version number (Tom)
 | 
						||
 Add Linux ARM
 | 
						||
 Rename heap_replace to heap_update
 | 
						||
 Update for QNX (Dr. Andreas Kardos)
 | 
						||
 New platform-specific regression handling (Tom)
 | 
						||
 Rename oid8 -> oidvector and int28 -> int2vector (Bruce)
 | 
						||
 Included all yacc and lex files into the distribution (Peter E.)
 | 
						||
 Remove lextest, no longer needed (Peter E)
 | 
						||
 Fix for libpq and psql on Win32 (Magnus)
 | 
						||
 Internally change datetime and timespan into timestamp and interval (Thomas)
 | 
						||
 Fix for plpgsql on BSDI
 | 
						||
 Add SQL_ASCII test case to the regression test (Tatsuo)
 | 
						||
 configure --with-mb now deprecated (Tatsuo)
 | 
						||
 NT fixes
 | 
						||
 NetBSD fixes (Johnny C. Lam <lamj@stat.cmu.edu>)
 | 
						||
 Fixes for Alpha compiles
 | 
						||
 New multibyte encodings
 | 
						||
     
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                 Release 6.5.3
 | 
						||
 | 
						||
     Release date: 1999-10-13
 | 
						||
 | 
						||
   This is basically a cleanup release for 6.5.2. We have added a new
 | 
						||
   PgAccess that was missing in 6.5.2, and installed an NT-specific fix.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration to version 6.5.3
 | 
						||
 | 
						||
   A dump/restore is *not* required for those running 6.5.*.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 Updated version of pgaccess 0.98
 | 
						||
 NT-specific patch
 | 
						||
 Fix dumping rules on inherited tables
 | 
						||
     
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                 Release 6.5.2
 | 
						||
 | 
						||
     Release date: 1999-09-15
 | 
						||
 | 
						||
   This is basically a cleanup release for 6.5.1. We have fixed a variety of
 | 
						||
   problems reported by 6.5.1 users.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration to version 6.5.2
 | 
						||
 | 
						||
   A dump/restore is *not* required for those running 6.5.*.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 subselect+CASE fixes(Tom)
 | 
						||
 Add SHLIB_LINK setting for solaris_i386 and solaris_sparc ports(Daren Sefcik)
 | 
						||
 Fixes for CASE in WHERE join clauses(Tom)
 | 
						||
 Fix BTScan abort(Tom)
 | 
						||
 Repair the check for redundant UNIQUE and PRIMARY KEY indexes(Thomas)
 | 
						||
 Improve it so that it checks for multi-column constraints(Thomas)
 | 
						||
 Fix for Win32 making problem with MB enabled(Hiroki Kataoka)
 | 
						||
 Allow BSD yacc and bison to compile pl code(Bruce)
 | 
						||
 Fix SET NAMES working
 | 
						||
 int8 fixes(Thomas)
 | 
						||
 Fix vacuum's memory consumption(Hiroshi,Tatsuo)
 | 
						||
 Reduce the total memory consumption of vacuum(Tom)
 | 
						||
 Fix for timestamp(datetime)
 | 
						||
 Rule deparsing bugfixes(Tom)
 | 
						||
 Fix quoting problems in mkMakefile.tcldefs.sh.in and mkMakefile.tkdefs.sh.in(Tom)
 | 
						||
 This is to re-use space on index pages freed by vacuum(Vadim)
 | 
						||
 document -x for pg_dump(Bruce)
 | 
						||
 Fix for unary operators in rule deparser(Tom)
 | 
						||
 Comment out FileUnlink of excess segments during mdtruncate()(Tom)
 | 
						||
 Irix linking fix from Yu Cao >yucao@falcon.kla-tencor.com<
 | 
						||
 Repair logic error in LIKE: should not return LIKE_ABORT
 | 
						||
    when reach end of pattern before end of text(Tom)
 | 
						||
 Repair incorrect cleanup of heap memory allocation during transaction abort(Tom)
 | 
						||
 Updated version of pgaccess 0.98
 | 
						||
     
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                 Release 6.5.1
 | 
						||
 | 
						||
     Release date: 1999-07-15
 | 
						||
 | 
						||
   This is basically a cleanup release for 6.5. We have fixed a variety of
 | 
						||
   problems reported by 6.5 users.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration to version 6.5.1
 | 
						||
 | 
						||
   A dump/restore is *not* required for those running 6.5.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 Add NT README file
 | 
						||
 Portability fixes for linux_ppc, Irix, linux_alpha, OpenBSD, alpha
 | 
						||
 Remove QUERY_LIMIT, use SELECT...LIMIT
 | 
						||
 Fix for EXPLAIN on inheritance(Tom)
 | 
						||
 Patch to allow vacuum on multi-segment tables(Hiroshi)
 | 
						||
 R-Tree optimizer selectivity fix(Tom)
 | 
						||
 ACL file descriptor leak fix(Atsushi Ogawa)
 | 
						||
 New expresssion subtree code(Tom)
 | 
						||
 Avoid disk writes for read-only transactions(Vadim)
 | 
						||
 Fix for removal of temp tables if last transaction was aborted(Bruce)
 | 
						||
 Fix to prevent too large tuple from being created(Bruce)
 | 
						||
 plpgsql fixes
 | 
						||
 Allow port numbers 32k - 64k(Bruce)
 | 
						||
 Add ^ precidence(Bruce)
 | 
						||
 Rename sort files called pg_temp to pg_sorttemp(Bruce)
 | 
						||
 Fix for microseconds in time values(Tom)
 | 
						||
 Tutorial source cleanup
 | 
						||
 New linux_m68k port
 | 
						||
 Fix for sorting of NULL's in some cases(Tom)
 | 
						||
 Shared library dependencies fixed (Tom)
 | 
						||
 Fixed glitches affecting GROUP BY in subselects(Tom)
 | 
						||
 Fix some compiler warnings (Tomoaki Nishiyama)
 | 
						||
 Add Win1250 (Czech) support (Pavel Behal)
 | 
						||
     
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                  Release 6.5
 | 
						||
 | 
						||
     Release date: 1999-06-09
 | 
						||
 | 
						||
   This release marks a major step in the development team's mastery of the
 | 
						||
   source code we inherited from Berkeley. You will see we are now easily
 | 
						||
   adding major features, thanks to the increasing size and experience of our
 | 
						||
   world-wide development team.
 | 
						||
 | 
						||
   Here is a brief summary of the more notable changes:
 | 
						||
 | 
						||
   Multi-version concurrency control(MVCC)
 | 
						||
 | 
						||
           This removes our old table-level locking, and replaces it with a
 | 
						||
           locking system that is superior to most commercial database
 | 
						||
           systems. In a traditional system, each row that is modified is
 | 
						||
           locked until committed, preventing reads by other users. MVCC uses
 | 
						||
           the natural multi-version nature of PostgreSQL to allow readers to
 | 
						||
           continue reading consistent data during writer activity. Writers
 | 
						||
           continue to use the compact pg_log transaction system. This is all
 | 
						||
           performed without having to allocate a lock for every row like
 | 
						||
           traditional database systems. So, basically, we no longer are
 | 
						||
           restricted by simple table-level locking; we have something better
 | 
						||
           than row-level locking.
 | 
						||
 | 
						||
   Hot backups from pg_dump
 | 
						||
 | 
						||
           pg_dump takes advantage of the new MVCC features to give a
 | 
						||
           consistent database dump/backup while the database stays online
 | 
						||
           and available for queries.
 | 
						||
 | 
						||
   Numeric data type
 | 
						||
 | 
						||
           We now have a true numeric data type, with user-specified
 | 
						||
           precision.
 | 
						||
 | 
						||
   Temporary tables
 | 
						||
 | 
						||
           Temporary tables are guaranteed to have unique names within a
 | 
						||
           database session, and are destroyed on session exit.
 | 
						||
 | 
						||
   New SQL features
 | 
						||
 | 
						||
           We now have CASE, INTERSECT, and EXCEPT statement support. We have
 | 
						||
           new LIMIT/OFFSET, SET TRANSACTION ISOLATION LEVEL, SELECT ... FOR
 | 
						||
           UPDATE, and an improved LOCK TABLE command.
 | 
						||
 | 
						||
   Speedups
 | 
						||
 | 
						||
           We continue to speed up PostgreSQL, thanks to the variety of
 | 
						||
           talents within our team. We have sped up memory allocation,
 | 
						||
           optimization, table joins, and row transfer routines.
 | 
						||
 | 
						||
   Ports
 | 
						||
 | 
						||
           We continue to expand our port list, this time including Windows
 | 
						||
           NT/ix86 and NetBSD/arm32.
 | 
						||
 | 
						||
   Interfaces
 | 
						||
 | 
						||
           Most interfaces have new versions, and existing functionality has
 | 
						||
           been improved.
 | 
						||
 | 
						||
   Documentation
 | 
						||
 | 
						||
           New and updated material is present throughout the documentation.
 | 
						||
           New FAQs have been contributed for SGI and AIX platforms. The
 | 
						||
           Tutorial has introductory information on SQL from Stefan
 | 
						||
           Simkovics. For the User's Guide, there are reference pages
 | 
						||
           covering the postmaster and more utility programs, and a new
 | 
						||
           appendix contains details on date/time behavior. The
 | 
						||
           Administrator's Guide has a new chapter on troubleshooting from
 | 
						||
           Tom Lane. And the Programmer's Guide has a description of query
 | 
						||
           processing, also from Stefan, and details on obtaining the
 | 
						||
           PostgreSQL source tree via anonymous CVS and CVSup.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration to version 6.5
 | 
						||
 | 
						||
   A dump/restore using pg_dump is required for those wishing to migrate data
 | 
						||
   from any previous release of PostgreSQL. pg_upgrade can *not* be used to
 | 
						||
   upgrade to this release because the on-disk structure of the tables has
 | 
						||
   changed compared to previous releases.
 | 
						||
 | 
						||
   The new Multi-Version Concurrency Control (MVCC) features can give
 | 
						||
   somewhat different behaviors in multi-user environments. *Read and
 | 
						||
   understand the following section to ensure that your existing applications
 | 
						||
   will give you the behavior you need.*
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
  Multi-Version Concurrency Control
 | 
						||
 | 
						||
   Because readers in 6.5 don't lock data, regardless of transaction
 | 
						||
   isolation level, data read by one transaction can be overwritten by
 | 
						||
   another. In other words, if a row is returned by "SELECT" it doesn't mean
 | 
						||
   that this row really exists at the time it is returned (i.e. sometime
 | 
						||
   after the statement or transaction began) nor that the row is protected
 | 
						||
   from being deleted or updated by concurrent transactions before the
 | 
						||
   current transaction does a commit or rollback.
 | 
						||
 | 
						||
   To ensure the actual existence of a row and protect it against concurrent
 | 
						||
   updates one must use "SELECT FOR UPDATE" or an appropriate "LOCK TABLE"
 | 
						||
   statement. This should be taken into account when porting applications
 | 
						||
   from previous releases of PostgreSQL and other environments.
 | 
						||
 | 
						||
   Keep the above in mind if you are using "contrib/refint.*" triggers for
 | 
						||
   referential integrity. Additional techniques are required now. One way is
 | 
						||
   to use "LOCK parent_table IN SHARE ROW EXCLUSIVE MODE" command if a
 | 
						||
   transaction is going to update/delete a primary key and use "LOCK
 | 
						||
   parent_table IN SHARE MODE" command if a transaction is going to
 | 
						||
   update/insert a foreign key.
 | 
						||
 | 
						||
     Note: Note that if you run a transaction in SERIALIZABLE mode then you
 | 
						||
     must execute the "LOCK" commands above before execution of any DML
 | 
						||
     statement ("SELECT/INSERT/DELETE/UPDATE/FETCH/COPY_TO") in the
 | 
						||
     transaction.
 | 
						||
 | 
						||
   These inconveniences will disappear in the future when the ability to read
 | 
						||
   dirty (uncommitted) data (regardless of isolation level) and true
 | 
						||
   referential integrity will be implemented.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 Bug Fixes
 | 
						||
 ---------
 | 
						||
 Fix text<->float8 and text<->float4 conversion functions(Thomas)
 | 
						||
 Fix for creating tables with mixed-case constraints(Billy)
 | 
						||
 Change exp()/pow() behavior to generate error on underflow/overflow(Jan)
 | 
						||
 Fix bug in pg_dump -z
 | 
						||
 Memory overrun cleanups(Tatsuo)
 | 
						||
 Fix for lo_import crash(Tatsuo)
 | 
						||
 Adjust handling of data type names to suppress double quotes(Thomas)
 | 
						||
 Use type coercion for matching columns and DEFAULT(Thomas)
 | 
						||
 Fix deadlock so it only checks once after one second of sleep(Bruce)
 | 
						||
 Fixes for aggregates and PL/pgsql(Hiroshi)
 | 
						||
 Fix for subquery crash(Vadim)
 | 
						||
 Fix for libpq function PQfnumber and case-insensitive names(Bahman Rafatjoo)
 | 
						||
 Fix for large object write-in-middle, no extra block, memory consumption(Tatsuo)
 | 
						||
 Fix for pg_dump -d or -D and  quote special characters in INSERT
 | 
						||
 Repair serious problems with dynahash(Tom)
 | 
						||
 Fix INET/CIDR portability problems
 | 
						||
 Fix problem with selectivity error in ALTER TABLE ADD COLUMN(Bruce)
 | 
						||
 Fix executor so mergejoin of different column types works(Tom)
 | 
						||
 Fix for Alpha OR selectivity bug
 | 
						||
 Fix OR index selectivity problem(Bruce)
 | 
						||
 Fix so \d shows proper length for char()/varchar()(Ryan)
 | 
						||
 Fix tutorial code(Clark)
 | 
						||
 Improve destroyuser checking(Oliver)
 | 
						||
 Fix for Kerberos(Rodney McDuff)
 | 
						||
 Fix for dropping database while dirty buffers(Bruce)
 | 
						||
 Fix so sequence nextval() can be case-sensitive(Bruce)
 | 
						||
 Fix !!= operator
 | 
						||
 Drop buffers before destroying database files(Bruce)
 | 
						||
 Fix case where executor evaluates functions twice(Tatsuo)
 | 
						||
 Allow sequence nextval actions to be case-sensitive(Bruce)
 | 
						||
 Fix optimizer indexing not working for negative numbers(Bruce)
 | 
						||
 Fix for memory leak in executor with fjIsNull
 | 
						||
 Fix for aggregate memory leaks(Erik Riedel)
 | 
						||
 Allow username containing a dash GRANT permissions
 | 
						||
 Cleanup of NULL in inet types
 | 
						||
 Clean up system table bugs(Tom)
 | 
						||
 Fix problems of PAGER and \? command(Masaaki Sakaida)
 | 
						||
 Reduce default multi-segment file size limit to 1GB(Peter)
 | 
						||
 Fix for dumping of CREATE OPERATOR(Tom)
 | 
						||
 Fix for backward scanning of cursors(Hiroshi Inoue)
 | 
						||
 Fix for COPY FROM STDIN when using \i(Tom)
 | 
						||
 Fix for subselect is compared inside an expression(Jan)
 | 
						||
 Fix handling of error reporting while returning rows(Tom)
 | 
						||
 Fix problems with reference to array types(Tom,Jan)
 | 
						||
 Prevent UPDATE SET oid(Jan)
 | 
						||
 Fix pg_dump so -t option can handle case-sensitive tablenames
 | 
						||
 Fixes for GROUP BY in special cases(Tom, Jan)
 | 
						||
 Fix for memory leak in failed queries(Tom)
 | 
						||
 DEFAULT now supports mixed-case identifiers(Tom)
 | 
						||
 Fix for multi-segment uses of DROP/RENAME table, indexes(Ole Gjerde)
 | 
						||
 Disable use of pg_dump with both -o and -d options(Bruce)
 | 
						||
 Allow pg_dump to properly dump GROUP permissions(Bruce)
 | 
						||
 Fix GROUP BY in INSERT INTO table SELECT * FROM table2(Jan)
 | 
						||
 Fix for computations in views(Jan)
 | 
						||
 Fix for aggregates on array indexes(Tom)
 | 
						||
 Fix for DEFAULT handles single quotes in value requiring too many quotes
 | 
						||
 Fix security problem with non-super users importing/exporting large objects(Tom)
 | 
						||
 Rollback of transaction that creates table cleaned up properly(Tom)
 | 
						||
 Fix to allow long table and column names to generate proper serial names(Tom)
 | 
						||
 | 
						||
 Enhancements
 | 
						||
 ------------
 | 
						||
 Add "vacuumdb" utility
 | 
						||
 Speed up libpq by allocating memory better(Tom)
 | 
						||
 EXPLAIN all indexes used(Tom)
 | 
						||
 Implement CASE, COALESCE, NULLIF  expression(Thomas)
 | 
						||
 New pg_dump table output format(Constantin)
 | 
						||
 Add string min()/max() functions(Thomas)
 | 
						||
 Extend new type coercion techniques to aggregates(Thomas)
 | 
						||
 New moddatetime contrib(Terry)
 | 
						||
 Update to pgaccess 0.96(Constantin)
 | 
						||
 Add routines for single-byte "char" type(Thomas)
 | 
						||
 Improved substr() function(Thomas)
 | 
						||
 Improved multibyte handling(Tatsuo)
 | 
						||
 Multi-version concurrency control/MVCC(Vadim)
 | 
						||
 New Serialized mode(Vadim)
 | 
						||
 Fix for tables over 2gigs(Peter)
 | 
						||
 New SET TRANSACTION ISOLATION LEVEL(Vadim)
 | 
						||
 New LOCK TABLE IN ... MODE(Vadim)
 | 
						||
 Update ODBC driver(Byron)
 | 
						||
 New NUMERIC data type(Jan)
 | 
						||
 New SELECT FOR UPDATE(Vadim)
 | 
						||
 Handle "NaN" and "Infinity" for input values(Jan)
 | 
						||
 Improved date/year handling(Thomas)
 | 
						||
 Improved handling of backend connections(Magnus)
 | 
						||
 New options ELOG_TIMESTAMPS and USE_SYSLOG options for log files(Massimo)
 | 
						||
 New TCL_ARRAYS option(Massimo)
 | 
						||
 New INTERSECT and EXCEPT(Stefan)
 | 
						||
 New pg_index.indisprimary for primary key tracking(D'Arcy)
 | 
						||
 New pg_dump option to allow dropping of tables before creation(Brook)
 | 
						||
 Speedup of row output routines(Tom)
 | 
						||
 New READ COMMITTED isolation level(Vadim)
 | 
						||
 New TEMP tables/indexes(Bruce)
 | 
						||
 Prevent sorting if result is already sorted(Jan)
 | 
						||
 New memory allocation optimization(Jan)
 | 
						||
 Allow psql to do \p\g(Bruce)
 | 
						||
 Allow multiple rule actions(Jan)
 | 
						||
 Added LIMIT/OFFSET functionality(Jan)
 | 
						||
 Improve optimizer when joining a large number of tables(Bruce)
 | 
						||
 New intro to SQL from S. Simkovics' Master's Thesis (Stefan, Thomas)
 | 
						||
 New intro to backend processing from S. Simkovics' Master's Thesis (Stefan)
 | 
						||
 Improved int8 support(Ryan Bradetich, Thomas, Tom)
 | 
						||
 New routines to convert between int8 and text/varchar types(Thomas)
 | 
						||
 New bushy plans, where meta-tables are joined(Bruce)
 | 
						||
 Enable right-hand queries by default(Bruce)
 | 
						||
 Allow reliable maximum number of backends to be set at configure time
 | 
						||
       (--with-maxbackends and postmaster switch (-N backends))(Tom)
 | 
						||
 GEQO default now 10 tables because of optimizer speedups(Tom)
 | 
						||
 Allow NULL=Var for MS-SQL portability(Michael, Bruce)
 | 
						||
 Modify contrib check_primary_key() so either "automatic" or "dependent"(Anand)
 | 
						||
 Allow psql \d on a view show query(Ryan)
 | 
						||
 Speedup for LIKE(Bruce)
 | 
						||
 Ecpg fixes/features, see src/interfaces/ecpg/ChangeLog file(Michael)
 | 
						||
 JDBC fixes/features, see src/interfaces/jdbc/CHANGELOG(Peter)
 | 
						||
 Make % operator have precedence like /(Bruce)
 | 
						||
 Add new postgres -O option to allow system table structure changes(Bruce)
 | 
						||
 Update contrib/pginterface/findoidjoins script(Tom)
 | 
						||
 Major speedup in vacuum of deleted rows with indexes(Vadim)
 | 
						||
 Allow non-SQL functions to run different versions based on arguments(Tom)
 | 
						||
 Add -E option that shows actual queries sent by \dt and friends(Masaaki Sakaida)
 | 
						||
 Add version number in start-up banners for psql(Masaaki Sakaida)
 | 
						||
 New contrib/vacuumlo removes large objects not referenced(Peter)
 | 
						||
 New initialization for table sizes so non-vacuumed tables perform better(Tom)
 | 
						||
 Improve error messages when a connection is rejected(Tom)
 | 
						||
 Support for arrays of char() and varchar() fields(Massimo)
 | 
						||
 Overhaul of hash code to increase reliability and performance(Tom)
 | 
						||
 Update to PyGreSQL 2.4(D'Arcy)
 | 
						||
 Changed debug options so -d4 and -d5 produce different node displays(Jan)
 | 
						||
 New pg_options: pretty_plan, pretty_parse, pretty_rewritten(Jan)
 | 
						||
 Better optimization statistics for system table access(Tom)
 | 
						||
 Better handling of non-default block sizes(Massimo)
 | 
						||
 Improve GEQO optimizer memory consumption(Tom)
 | 
						||
 UNION now suppports ORDER BY of columns not in target list(Jan)
 | 
						||
 Major libpq++ improvements(Vince Vielhaber)
 | 
						||
 pg_dump now uses -z(ACL's) as default(Bruce)
 | 
						||
 backend cache, memory speedups(Tom)
 | 
						||
 have pg_dump do everything in one snapshot transaction(Vadim)
 | 
						||
 fix for large object memory leakage, fix for pg_dumping(Tom)
 | 
						||
 INET type now respects netmask for comparisons
 | 
						||
 Make VACUUM ANALYZE only use a readlock(Vadim)
 | 
						||
 Allow VIEWs on UNIONS(Jan)
 | 
						||
 pg_dump now can generate consistent snapshots on active databases(Vadim)
 | 
						||
 | 
						||
 Source Tree Changes
 | 
						||
 -------------------
 | 
						||
 Improve port matching(Tom)
 | 
						||
 Portability fixes for SunOS
 | 
						||
 Add NT/Win32 backend port and enable dynamic loading(Magnus and Daniel Horak)
 | 
						||
 New port to Cobalt Qube(Mips) running Linux(Tatsuo)
 | 
						||
 Port to NetBSD/m68k(Mr. Mutsuki Nakajima)
 | 
						||
 Port to NetBSD/sun3(Mr. Mutsuki Nakajima)
 | 
						||
 Port to NetBSD/macppc(Toshimi Aoki)
 | 
						||
 Fix for tcl/tk configuration(Vince)
 | 
						||
 Removed CURRENT keyword for rule queries(Jan)
 | 
						||
 NT dynamic loading now works(Daniel Horak)
 | 
						||
 Add ARM32 support(Andrew McMurry)
 | 
						||
 Better support for HPUX 11 and Unixware
 | 
						||
 Improve file handling to be more uniform, prevent file descriptor leak(Tom)
 | 
						||
 New install commands for plpgsql(Jan)
 | 
						||
     
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                 Release 6.4.2
 | 
						||
 | 
						||
     Release date: 1998-12-20
 | 
						||
 | 
						||
   The 6.4.1 release was improperly packaged. This also has one additional
 | 
						||
   bug fix.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration to version 6.4.2
 | 
						||
 | 
						||
   A dump/restore is *not* required for those running 6.4.*.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 Fix for datetime constant problem on some platforms(Thomas)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                 Release 6.4.1
 | 
						||
 | 
						||
     Release date: 1998-12-18
 | 
						||
 | 
						||
   This is basically a cleanup release for 6.4. We have fixed a variety of
 | 
						||
   problems reported by 6.4 users.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration to version 6.4.1
 | 
						||
 | 
						||
   A dump/restore is *not* required for those running 6.4.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 Add pg_dump -N flag to force double quotes around identifiers.  This is
 | 
						||
         the default(Thomas)
 | 
						||
 Fix for NOT in where clause causing crash(Bruce)
 | 
						||
 EXPLAIN VERBOSE coredump fix(Vadim)
 | 
						||
 Fix shared-library problems on Linux
 | 
						||
 Fix test for table existance to allow mixed-case and whitespace in
 | 
						||
         the table name(Thomas)
 | 
						||
 Fix a couple of pg_dump bugs
 | 
						||
 Configure matches template/.similar entries better(Tom)
 | 
						||
 Change builtin function names from SPI_* to spi_*
 | 
						||
 OR WHERE clause fix(Vadim)
 | 
						||
 Fixes for mixed-case table names(Billy)
 | 
						||
 contrib/linux/postgres.init.csh/sh fix(Thomas)
 | 
						||
 libpq memory overrun fix
 | 
						||
 SunOS fixes(Tom)
 | 
						||
 Change exp() behavior to generate error on underflow(Thomas)
 | 
						||
 pg_dump fixes for memory leak, inheritance constraints, layout change
 | 
						||
 update pgaccess to 0.93
 | 
						||
 Fix prototype for 64-bit platforms
 | 
						||
 Multibyte fixes(Tatsuo)
 | 
						||
 New ecpg man page
 | 
						||
 Fix memory overruns(Tatsuo)
 | 
						||
 Fix for lo_import() crash(Bruce)
 | 
						||
 Better search for install program(Tom)
 | 
						||
 Timezone fixes(Tom)
 | 
						||
 HPUX fixes(Tom)
 | 
						||
 Use implicit type coercion for matching DEFAULT values(Thomas)
 | 
						||
 Add routines to help with single-byte (internal) character type(Thomas)
 | 
						||
 Compilation of libpq for Win32 fixes(Magnus)
 | 
						||
 Upgrade to PyGreSQL 2.2(D'Arcy)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                  Release 6.4
 | 
						||
 | 
						||
     Release date: 1998-10-30
 | 
						||
 | 
						||
   There are *many* new features and improvements in this release. Thanks to
 | 
						||
   our developers and maintainers, nearly every aspect of the system has
 | 
						||
   received some attention since the previous release. Here is a brief,
 | 
						||
   incomplete summary:
 | 
						||
 | 
						||
     * Views and rules are now functional thanks to extensive new code in the
 | 
						||
       rewrite rules system from Jan Wieck. He also wrote a chapter on it for
 | 
						||
       the Programmer's Guide.
 | 
						||
 | 
						||
     * Jan also contributed a second procedural language, PL/pgSQL, to go
 | 
						||
       with the original PL/pgTCL procedural language he contributed last
 | 
						||
       release.
 | 
						||
 | 
						||
     * We have optional multiple-byte character set support from Tatsuo Iishi
 | 
						||
       to complement our existing locale support.
 | 
						||
 | 
						||
     * Client/server communications has been cleaned up, with better support
 | 
						||
       for asynchronous messages and interrupts thanks to Tom Lane.
 | 
						||
 | 
						||
     * The parser will now perform automatic type coercion to match arguments
 | 
						||
       to available operators and functions, and to match columns and
 | 
						||
       expressions with target columns. This uses a generic mechanism which
 | 
						||
       supports the type extensibility features of PostgreSQL. There is a new
 | 
						||
       chapter in the User's Guide which covers this topic.
 | 
						||
 | 
						||
     * Three new data types have been added. Two types, inet and cidr,
 | 
						||
       support various forms of IP network, subnet, and machine addressing.
 | 
						||
       There is now an 8-byte integer type available on some platforms. See
 | 
						||
       the chapter on data types in the User's Guide for details. A fourth
 | 
						||
       type, serial, is now supported by the parser as an amalgam of the int4
 | 
						||
       type, a sequence, and a unique index.
 | 
						||
 | 
						||
     * Several more SQL92-compatible syntax features have been added,
 | 
						||
       including "INSERT DEFAULT VALUES"
 | 
						||
 | 
						||
     * The automatic configuration and installation system has received some
 | 
						||
       attention, and should be more robust for more platforms than it has
 | 
						||
       ever been.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration to version 6.4
 | 
						||
 | 
						||
   A dump/restore using pg_dump or pg_dumpall is required for those wishing
 | 
						||
   to migrate data from any previous release of PostgreSQL.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 Bug Fixes
 | 
						||
 ---------
 | 
						||
 Fix for a tiny memory leak in PQsetdb/PQfinish(Bryan)
 | 
						||
 Remove char2-16 data types, use char/varchar(Darren)
 | 
						||
 Pqfn not handles a NOTICE message(Anders)
 | 
						||
 Reduced busywaiting overhead for spinlocks with many backends (dg)
 | 
						||
 Stuck spinlock detection (dg)
 | 
						||
 Fix up "ISO-style" timespan decoding and encoding(Thomas)
 | 
						||
 Fix problem with table drop after rollback of transaction(Vadim)
 | 
						||
 Change error message and remove non-functional update message(Vadim)
 | 
						||
 Fix for COPY array checking
 | 
						||
 Fix for SELECT 1 UNION SELECT NULL
 | 
						||
 Fix for buffer leaks in large object calls(Pascal)
 | 
						||
 Change owner from oid to int4 type(Bruce)
 | 
						||
 Fix a bug in the oracle compatibility functions btrim() ltrim() and rtrim()
 | 
						||
 Fix for shared invalidation cache overflow(Massimo)
 | 
						||
 Prevent file descriptor leaks in failed COPY's(Bruce)
 | 
						||
 Fix memory leak in libpgtcl's pg_select(Constantin)
 | 
						||
 Fix problems with username/passwords over 8 characters(Tom)
 | 
						||
 Fix problems with handling of asynchronous NOTIFY in backend(Tom)
 | 
						||
 Fix of many bad system table entries(Tom)
 | 
						||
 | 
						||
 Enhancements
 | 
						||
 ------------
 | 
						||
 Upgrade ecpg and ecpglib,see src/interfaces/ecpc/ChangeLog(Michael)
 | 
						||
 Show the index used in an EXPLAIN(Zeugswetter)
 | 
						||
 EXPLAIN  invokes  rule system and shows plan(s) for rewritten queries(Jan)
 | 
						||
 Multibyte awareness of many data types and functions, via configure(Tatsuo)
 | 
						||
 New configure --with-mb option(Tatsuo)
 | 
						||
 New initdb --pgencoding option(Tatsuo)
 | 
						||
 New createdb -E multibyte option(Tatsuo)
 | 
						||
 Select version(); now returns PostgreSQL version(Jeroen)
 | 
						||
 Libpq now allows asynchronous clients(Tom)
 | 
						||
 Allow cancel from client of backend query(Tom)
 | 
						||
 Psql now cancels query with Control-C(Tom)
 | 
						||
 Libpq users need not issue dummy queries to get NOTIFY messages(Tom)
 | 
						||
 NOTIFY now sends sender's PID, so you can tell whether it was your own(Tom)
 | 
						||
 PGresult struct now includes associated error message, if any(Tom)
 | 
						||
 Define "tz_hour" and "tz_minute" arguments to date_part()(Thomas)
 | 
						||
 Add routines to convert between varchar and bpchar(Thomas)
 | 
						||
 Add routines to allow sizing of varchar and bpchar into target columns(Thomas)
 | 
						||
 Add bit flags to support timezonehour and minute in data retrieval(Thomas)
 | 
						||
 Allow more variations on valid floating point numbers (e.g. ".1", "1e6")(Thomas)
 | 
						||
 Fixes for unary minus parsing with leading spaces(Thomas)
 | 
						||
 Implement TIMEZONE_HOUR, TIMEZONE_MINUTE per SQL92 specs(Thomas)
 | 
						||
 Check for and properly ignore FOREIGN KEY column constraints(Thomas)
 | 
						||
 Define USER as synonym for CURRENT_USER per SQL92 specs(Thomas)
 | 
						||
 Enable HAVING clause but no fixes elsewhere yet.
 | 
						||
 Make "char" type a synonym for "char(1)" (actually implemented as bpchar)(Thomas)
 | 
						||
 Save string type if specified for DEFAULT clause handling(Thomas)
 | 
						||
 Coerce operations involving different data types(Thomas)
 | 
						||
 Allow some index use for columns of different types(Thomas)
 | 
						||
 Add capabilities for automatic type conversion(Thomas)
 | 
						||
 Cleanups for large objects, so file is truncated on open(Peter)
 | 
						||
 Readline cleanups(Tom)
 | 
						||
 Allow psql  \f \ to make spaces as delimiter(Bruce)
 | 
						||
 Pass pg_attribute.atttypmod to the frontend for column field lengths(Tom,Bruce)
 | 
						||
 Msql compatibility library in /contrib(Aldrin)
 | 
						||
 Remove the requirement that ORDER/GROUP BY clause identifiers be
 | 
						||
 included in the target list(David)
 | 
						||
 Convert columns to match columns in UNION clauses(Thomas)
 | 
						||
 Remove fork()/exec() and only do fork()(Bruce)
 | 
						||
 Jdbc cleanups(Peter)
 | 
						||
 Show backend status on ps command line(only works on some platforms)(Bruce)
 | 
						||
 Pg_hba.conf now has a sameuser option in the database field
 | 
						||
 Make lo_unlink take oid param, not int4
 | 
						||
 New DISABLE_COMPLEX_MACRO for compilers that can't handle our macros(Bruce)
 | 
						||
 Libpgtcl now handles NOTIFY as a Tcl event, need not send dummy queries(Tom)
 | 
						||
 libpgtcl cleanups(Tom)
 | 
						||
 Add -error option to libpgtcl's pg_result command(Tom)
 | 
						||
 New locale patch, see docs/README/locale(Oleg)
 | 
						||
 Fix for pg_dump so CONSTRAINT and CHECK syntax is correct(ccb)
 | 
						||
 New contrib/lo code for large object orphan removal(Peter)
 | 
						||
 New psql command "SET CLIENT_ENCODING TO 'encoding'" for multibytes
 | 
						||
 feature, see /doc/README.mb(Tatsuo)
 | 
						||
 /contrib/noupdate code to revoke update permission on a column
 | 
						||
 Libpq can now be compiled on win32(Magnus)
 | 
						||
 Add PQsetdbLogin() in libpq
 | 
						||
 New 8-byte integer type, checked by configure for OS support(Thomas)
 | 
						||
 Better support for quoted table/column names(Thomas)
 | 
						||
 Surround table and column names with double-quotes in pg_dump(Thomas)
 | 
						||
 PQreset() now works with passwords(Tom)
 | 
						||
 Handle case of GROUP BY target list column number out of range(David)
 | 
						||
 Allow UNION in subselects
 | 
						||
 Add auto-size to screen to \d? commands(Bruce)
 | 
						||
 Use UNION to show all \d? results in one query(Bruce)
 | 
						||
 Add \d? field search feature(Bruce)
 | 
						||
 Pg_dump issues fewer \connect requests(Tom)
 | 
						||
 Make pg_dump -z flag work better, document it in manual page(Tom)
 | 
						||
 Add HAVING clause with full support for subselects and unions(Stephan)
 | 
						||
 Full text indexing routines in contrib/fulltextindex(Maarten)
 | 
						||
 Transaction ids now stored in shared memory(Vadim)
 | 
						||
 New PGCLIENTENCODING when issuing COPY command(Tatsuo)
 | 
						||
 Support for SQL92 syntax "SET NAMES"(Tatsuo)
 | 
						||
 Support for LATIN2-5(Tatsuo)
 | 
						||
 Add UNICODE regression test case(Tatsuo)
 | 
						||
 Lock manager cleanup, new locking modes for LLL(Vadim)
 | 
						||
 Allow index use with OR clauses(Bruce)
 | 
						||
 Allows "SELECT NULL ORDER BY 1;"
 | 
						||
 Explain VERBOSE prints the plan, and now pretty-prints the plan to
 | 
						||
 the postmaster log file(Bruce)
 | 
						||
 Add indexes display to \d command(Bruce)
 | 
						||
 Allow GROUP BY on functions(David)
 | 
						||
 New pg_class.relkind for large objects(Bruce)
 | 
						||
 New way to send libpq NOTICE messages to a different location(Tom)
 | 
						||
 New \w write command to psql(Bruce)
 | 
						||
 New /contrib/findoidjoins scans oid columns to find join relationships(Bruce)
 | 
						||
 Allow binary-compatible indexes to be considered when checking for valid
 | 
						||
 Indexes for restriction clauses containing a constant(Thomas)
 | 
						||
 New ISBN/ISSN code in /contrib/isbn_issn
 | 
						||
 Allow NOT LIKE, IN, NOT IN, BETWEEN, and NOT BETWEEN constraint(Thomas)
 | 
						||
 New rewrite system fixes many problems with rules and views(Jan)
 | 
						||
         * Rules on relations work
 | 
						||
         * Event qualifications on insert/update/delete work
 | 
						||
         * New OLD variable to reference CURRENT, CURRENT will be remove in future
 | 
						||
         * Update rules can reference NEW and OLD in rule qualifications/actions
 | 
						||
         * Insert/update/delete rules on views work
 | 
						||
         * Multiple rule actions are now supported, surrounded by parentheses
 | 
						||
         * Regular users can create views/rules on tables they have RULE permits
 | 
						||
         * Rules and views inherit the permissions on the creator
 | 
						||
         * No rules at the column level
 | 
						||
         * No UPDATE NEW/OLD rules
 | 
						||
         * New pg_tables, pg_indexes, pg_rules and pg_views system views
 | 
						||
         * Only a single action on SELECT rules
 | 
						||
         * Total rewrite overhaul, perhaps for 6.5
 | 
						||
         * handle subselects
 | 
						||
         * handle aggregates on views
 | 
						||
         * handle insert into select from view works
 | 
						||
 System indexes are now multi-key(Bruce)
 | 
						||
 Oidint2, oidint4, and oidname types are removed(Bruce)
 | 
						||
 Use system cache for more system table lookups(Bruce)
 | 
						||
 New backend programming language PL/pgSQL in backend/pl(Jan)
 | 
						||
 New SERIAL data type, auto-creates sequence/index(Thomas)
 | 
						||
 Enable assert checking without a recompile(Massimo)
 | 
						||
 User lock enhancements(Massimo)
 | 
						||
 New setval() command to set sequence value(Massimo)
 | 
						||
 Auto-remove unix socket file on start-up if no postmaster running(Massimo)
 | 
						||
 Conditional trace package(Massimo)
 | 
						||
 New UNLISTEN command(Massimo)
 | 
						||
 Psql and libpq now compile under win32 using win32.mak(Magnus)
 | 
						||
 Lo_read no longer stores trailing NULL(Bruce)
 | 
						||
 Identifiers are now truncated to 31 characters internally(Bruce)
 | 
						||
 Createuser options now availble on the command line
 | 
						||
 Code for 64-bit integer supported added, configure tested, int8 type(Thomas)
 | 
						||
 Prevent file descriptor leaf from failed COPY(Bruce)
 | 
						||
 New pg_upgrade command(Bruce)
 | 
						||
 Updated /contrib directories(Massimo)
 | 
						||
 New CREATE TABLE DEFAULT VALUES statement available(Thomas)
 | 
						||
 New INSERT INTO TABLE DEFAULT VALUES statement available(Thomas)
 | 
						||
 New DECLARE and FETCH feature(Thomas)
 | 
						||
 libpq's internal structures now not exported(Tom)
 | 
						||
 Allow up to 8 key indexes(Bruce)
 | 
						||
 Remove ARCHIVE keyword, that is no longer used(Thomas)
 | 
						||
 pg_dump -n flag to supress quotes around indentifiers
 | 
						||
 disable system columns for views(Jan)
 | 
						||
 new INET and CIDR types for network addresses(TomH, Paul)
 | 
						||
 no more double quotes in psql output
 | 
						||
 pg_dump now dumps views(Terry)
 | 
						||
 new SET QUERY_LIMIT(Tatsuo,Jan)
 | 
						||
 | 
						||
 Source Tree Changes
 | 
						||
 -------------------
 | 
						||
 /contrib cleanup(Jun)
 | 
						||
 Inline some small functions called for every row(Bruce)
 | 
						||
 Alpha/linux fixes
 | 
						||
 Hp/UX cleanups(Tom)
 | 
						||
 Multibyte regression tests(Soonmyung.)
 | 
						||
 Remove --disabled options from configure
 | 
						||
 Define PGDOC to use POSTGRESDIR by default
 | 
						||
 Make regression optional
 | 
						||
 Remove extra braces code to pgindent(Bruce)
 | 
						||
 Add bsdi shared library support(Bruce)
 | 
						||
 New --without-CXX support configure option(Brook)
 | 
						||
 New FAQ_CVS
 | 
						||
 Update backend flowchart in tools/backend(Bruce)
 | 
						||
 Change atttypmod from int16 to int32(Bruce, Tom)
 | 
						||
 Getrusage() fix for platforms that do not have it(Tom)
 | 
						||
 Add PQconnectdb, PGUSER, PGPASSWORD to libpq man page
 | 
						||
 NS32K platform fixes(Phil Nelson, John Buller)
 | 
						||
 Sco 7/UnixWare 2.x fixes(Billy,others)
 | 
						||
 Sparc/Solaris 2.5 fixes(Ryan)
 | 
						||
 Pgbuiltin.3 is obsolete, move to doc files(Thomas)
 | 
						||
 Even more documention(Thomas)
 | 
						||
 Nextstep support(Jacek)
 | 
						||
 Aix support(David)
 | 
						||
 pginterface manual page(Bruce)
 | 
						||
 shared libraries all have version numbers
 | 
						||
 merged all OS-specific shared library defines into one file
 | 
						||
 smarter TCL/TK configuration checking(Billy)
 | 
						||
 smarter perl configuration(Brook)
 | 
						||
 configure uses supplied install-sh if no install script found(Tom)
 | 
						||
 new Makefile.shlib for shared library configuration(Tom)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                 Release 6.3.2
 | 
						||
 | 
						||
     Release date: 1998-04-07
 | 
						||
 | 
						||
   This is a bug-fix release for 6.3.x. Refer to the release notes for
 | 
						||
   version 6.3 for a more complete summary of new features.
 | 
						||
 | 
						||
   Summary:
 | 
						||
 | 
						||
     * Repairs automatic configuration support for some platforms, including
 | 
						||
       Linux, from breakage inadvertently introduced in version 6.3.1.
 | 
						||
 | 
						||
     * Correctly handles function calls on the left side of BETWEEN and LIKE
 | 
						||
       clauses.
 | 
						||
 | 
						||
   A dump/restore is NOT required for those running 6.3 or 6.3.1. A make
 | 
						||
   distclean, make, and make install is all that is required. This last step
 | 
						||
   should be performed while the postmaster is not running. You should
 | 
						||
   re-link any custom applications that use PostgreSQL libraries.
 | 
						||
 | 
						||
   For upgrades from pre-6.3 installations, refer to the installation and
 | 
						||
   migration instructions for version 6.3.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 Configure detection improvements for tcl/tk(Brook Milligan, Alvin)
 | 
						||
 Manual page improvements(Bruce)
 | 
						||
 BETWEEN and LIKE fix(Thomas)
 | 
						||
 fix for psql \connect used by pg_dump(Oliver Elphick)
 | 
						||
 New odbc driver
 | 
						||
 pgaccess, version 0.86
 | 
						||
 qsort removed, now uses libc version, cleanups(Jeroen)
 | 
						||
 fix for buffer over-runs detected(Maurice Gittens)
 | 
						||
 fix for buffer overrun in libpgtcl(Randy Kunkee)
 | 
						||
 fix for UNION with DISTINCT or ORDER BY(Bruce)
 | 
						||
 gettimeofday configure check(Doug Winterburn)
 | 
						||
 Fix "indexes not used" bug(Vadim)
 | 
						||
 docs additions(Thomas)
 | 
						||
 Fix for backend memory leak(Bruce)
 | 
						||
 libreadline cleanup(Erwan MAS)
 | 
						||
 Remove DISTDIR(Bruce)
 | 
						||
 Makefile dependency cleanup(Jeroen van Vianen)
 | 
						||
 ASSERT fixes(Bruce)
 | 
						||
     
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                 Release 6.3.1
 | 
						||
 | 
						||
     Release date: 1998-03-23
 | 
						||
 | 
						||
   Summary:
 | 
						||
 | 
						||
     * Additional support for multibyte character sets.
 | 
						||
 | 
						||
     * Repair byte ordering for mixed-endian clients and servers.
 | 
						||
 | 
						||
     * Minor updates to allowed SQL syntax.
 | 
						||
 | 
						||
     * Improvements to the configuration autodetection for installation.
 | 
						||
 | 
						||
   A dump/restore is NOT required for those running 6.3. A make distclean,
 | 
						||
   make, and make install is all that is required. This last step should be
 | 
						||
   performed while the postmaster is not running. You should re-link any
 | 
						||
   custom applications that use PostgreSQL libraries.
 | 
						||
 | 
						||
   For upgrades from pre-6.3 installations, refer to the installation and
 | 
						||
   migration instructions for version 6.3.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 ecpg cleanup/fixes, now version 1.1(Michael Meskes)
 | 
						||
 pg_user cleanup(Bruce)
 | 
						||
 large object fix for pg_dump and tclsh (alvin)
 | 
						||
 LIKE fix for multiple adjacent underscores
 | 
						||
 fix for redefining builtin functions(Thomas)
 | 
						||
 ultrix4 cleanup
 | 
						||
 upgrade to pg_access 0.83
 | 
						||
 updated CLUSTER manual page
 | 
						||
 multibyte character set support, see doc/README.mb(Tatsuo)
 | 
						||
 configure --with-pgport fix
 | 
						||
 pg_ident fix
 | 
						||
 big-endian fix for backend communications(Kataoka)
 | 
						||
 SUBSTR() and substring() fix(Jan)
 | 
						||
 several jdbc fixes(Peter)
 | 
						||
 libpgtcl improvements, see libptcl/README(Randy Kunkee)
 | 
						||
 Fix for "Datasize = 0" error(Vadim)
 | 
						||
 Prevent \do from wrapping(Bruce)
 | 
						||
 Remove duplicate Russian character set entries
 | 
						||
 Sunos4 cleanup
 | 
						||
 Allow optional TABLE keyword in LOCK and SELECT INTO(Thomas)
 | 
						||
 CREATE SEQUENCE options to allow a negative integer(Thomas)
 | 
						||
 Add "PASSWORD" as an allowed column identifier(Thomas)
 | 
						||
 Add checks for UNION target fields(Bruce)
 | 
						||
 Fix Alpha port(Dwayne Bailey)
 | 
						||
 Fix for text arrays containing quotes(Doug Gibson)
 | 
						||
 Solaris compile fix(Albert Chin-A-Young)
 | 
						||
 Better identify tcl and tk libs and includes(Bruce)
 | 
						||
     
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                  Release 6.3
 | 
						||
 | 
						||
     Release date: 1998-03-01
 | 
						||
 | 
						||
   There are *many* new features and improvements in this release. Here is a
 | 
						||
   brief, incomplete summary:
 | 
						||
 | 
						||
     * Many new SQL features, including full SQL92 subselect capability
 | 
						||
       (everything is here but target-list subselects).
 | 
						||
 | 
						||
     * Support for client-side environment variables to specify time zone and
 | 
						||
       date style.
 | 
						||
 | 
						||
     * Socket interface for client/server connection. This is the default now
 | 
						||
       so you may need to start postmaster with the "-i" flag.
 | 
						||
 | 
						||
     * Better password authorization mechanisms. Default table permissions
 | 
						||
       have changed.
 | 
						||
 | 
						||
     * Old-style time travel has been removed. Performance has been improved.
 | 
						||
 | 
						||
     Note: Bruce Momjian wrote the following notes to introduce the new
 | 
						||
     release.
 | 
						||
 | 
						||
   There are some general 6.3 issues that I want to mention. These are only
 | 
						||
   the big items that can not be described in one sentence. A review of the
 | 
						||
   detailed changes list is still needed.
 | 
						||
 | 
						||
   First, we now have subselects. Now that we have them, I would like to
 | 
						||
   mention that without subselects, SQL is a very limited language.
 | 
						||
   Subselects are a major feature, and you should review your code for places
 | 
						||
   where subselects provide a better solution for your queries. I think you
 | 
						||
   will find that there are more uses for subselects than you may think.
 | 
						||
   Vadim has put us on the big SQL map with subselects, and fully functional
 | 
						||
   ones too. The only thing you can't do with subselects is to use them in
 | 
						||
   the target list.
 | 
						||
 | 
						||
   Second, 6.3 uses Unix domain sockets rather than TCP/IP by default. To
 | 
						||
   enable connections from other machines, you have to use the new postmaster
 | 
						||
   -i option, and of course edit "pg_hba.conf". Also, for this reason, the
 | 
						||
   format of "pg_hba.conf" has changed.
 | 
						||
 | 
						||
   Third, char() fields will now allow faster access than varchar() or text.
 | 
						||
   Specifically, the text and varchar() have a penalty for access to any
 | 
						||
   columns after the first column of this type. char() used to also have this
 | 
						||
   access penalty, but it no longer does. This may suggest that you redesign
 | 
						||
   some of your tables, especially if you have short character columns that
 | 
						||
   you have defined as varchar() or text. This and other changes make 6.3
 | 
						||
   even faster than earlier releases.
 | 
						||
 | 
						||
   We now have passwords definable independent of any Unix file. There are
 | 
						||
   new SQL USER commands. See the Administrator's Guide for more information.
 | 
						||
   There is a new table, pg_shadow, which is used to store user information
 | 
						||
   and user passwords, and it by default only SELECT-able by the postgres
 | 
						||
   super-user. pg_user is now a view of pg_shadow, and is SELECT-able by
 | 
						||
   PUBLIC. You should keep using pg_user in your application without changes.
 | 
						||
 | 
						||
   User-created tables now no longer have SELECT permission to PUBLIC by
 | 
						||
   default. This was done because the ANSI standard requires it. You can of
 | 
						||
   course GRANT any permissions you want after the table is created. System
 | 
						||
   tables continue to be SELECT-able by PUBLIC.
 | 
						||
 | 
						||
   We also have real deadlock detection code. No more sixty-second timeouts.
 | 
						||
   And the new locking code implements a FIFO better, so there should be less
 | 
						||
   resource starvation during heavy use.
 | 
						||
 | 
						||
   Many complaints have been made about inadequate documentation in previous
 | 
						||
   releases. Thomas has put much effort into many new manuals for this
 | 
						||
   release. Check out the doc/ directory.
 | 
						||
 | 
						||
   For performance reasons, time travel is gone, but can be implemented using
 | 
						||
   triggers (see "pgsql/contrib/spi/README"). Please check out the new \d
 | 
						||
   command for types, operators, etc. Also, views have their own permissions
 | 
						||
   now, not based on the underlying tables, so permissions on them have to be
 | 
						||
   set separately. Check "/pgsql/interfaces" for some new ways to talk to
 | 
						||
   PostgreSQL.
 | 
						||
 | 
						||
   This is the first release that really required an explanation for existing
 | 
						||
   users. In many ways, this was necessary because the new release removes
 | 
						||
   many limitations, and the work-arounds people were using are no longer
 | 
						||
   needed.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration to version 6.3
 | 
						||
 | 
						||
   A dump/restore using pg_dump or pg_dumpall is required for those wishing
 | 
						||
   to migrate data from any previous release of PostgreSQL.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 Bug Fixes
 | 
						||
 ---------
 | 
						||
 Fix binary cursors broken by MOVE implementation(Vadim)
 | 
						||
 Fix for tcl library crash(Jan)
 | 
						||
 Fix for array handling, from Gerhard Hintermayer
 | 
						||
 Fix acl error, and remove duplicate pqtrace(Bruce)
 | 
						||
 Fix psql \e for empty file(Bruce)
 | 
						||
 Fix for textcat on varchar() fields(Bruce)
 | 
						||
 Fix for DBT Sendproc (Zeugswetter Andres)
 | 
						||
 Fix vacuum analyze syntax problem(Bruce)
 | 
						||
 Fix for international identifiers(Tatsuo)
 | 
						||
 Fix aggregates on inherited tables(Bruce)
 | 
						||
 Fix substr() for out-of-bounds data
 | 
						||
 Fix for select 1=1 or 2=2, select 1=1 and 2=2, and select sum(2+2)(Bruce)
 | 
						||
 Fix notty output to show status result.  -q option still turns it off(Bruce)
 | 
						||
 Fix for count(*), aggs with views and multiple tables and sum(3)(Bruce)
 | 
						||
 Fix cluster(Bruce)
 | 
						||
 Fix for PQtrace start/stop several times(Bruce)
 | 
						||
 Fix a variety of locking problems like newer lock waiters getting
 | 
						||
         lock before older waiters, and having readlock people not share
 | 
						||
         locks if a writer is waiting for a lock, and waiting writers not
 | 
						||
         getting priority over waiting readers(Bruce)
 | 
						||
 Fix crashes in psql when executing queries from external files(James)
 | 
						||
 Fix problem with multiple order by columns, with the first one having
 | 
						||
         NULL values(Jeroen)
 | 
						||
 Use correct hash table support functions for float8 and int4(Thomas)
 | 
						||
 Re-enable JOIN= option in CREATE OPERATOR statement (Thomas)
 | 
						||
 Change precedence for boolean operators to match expected behavior(Thomas)
 | 
						||
 Generate elog(ERROR) on over-large integer(Bruce)
 | 
						||
 Allow multiple-argument functions in constraint clauses(Thomas)
 | 
						||
 Check boolean input literals for 'true','false','yes','no','1','0'
 | 
						||
         and throw elog(ERROR) if unrecognized(Thomas)
 | 
						||
 Major large objects fix
 | 
						||
 Fix for GROUP BY showing duplicates(Vadim)
 | 
						||
 Fix for index scans in MergeJion(Vadim)
 | 
						||
 | 
						||
 Enhancements
 | 
						||
 ------------
 | 
						||
 Subselects with EXISTS, IN, ALL, ANY keywords (Vadim, Bruce, Thomas)
 | 
						||
 New User Manual(Thomas, others)
 | 
						||
 Speedup by inlining some frequently-called functions
 | 
						||
 Real deadlock detection, no more timeouts(Bruce)
 | 
						||
 Add SQL92 "constants" CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP,
 | 
						||
         CURRENT_USER(Thomas)
 | 
						||
 Modify constraint syntax to be SQL92-compliant(Thomas)
 | 
						||
 Implement SQL92 PRIMARY KEY and UNIQUE clauses using indexes(Thomas)
 | 
						||
 Recognize SQL92 syntax for FOREIGN KEY. Throw elog notice(Thomas)
 | 
						||
 Allow NOT NULL UNIQUE constraint clause (each allowed separately before)(Thomas)
 | 
						||
 Allow PostgreSQL-style casting ("::") of non-constants(Thomas)
 | 
						||
 Add support for SQL3 TRUE and FALSE boolean constants(Thomas)
 | 
						||
 Support SQL92 syntax for IS TRUE/IS FALSE/IS NOT TRUE/IS NOT FALSE(Thomas)
 | 
						||
 Allow shorter strings for boolean literals (e.g. "t", "tr", "tru")(Thomas)
 | 
						||
 Allow SQL92 delimited identifiers(Thomas)
 | 
						||
 Implement SQL92 binary and hexadecimal string decoding (b'10' and x'1F')(Thomas)
 | 
						||
 Support SQL92 syntax for type coercion of literal strings
 | 
						||
         (e.g. "DATETIME 'now'")(Thomas)
 | 
						||
 Add conversions for int2, int4, and OID types to and from text(Thomas)
 | 
						||
 Use shared lock when building indexes(Vadim)
 | 
						||
 Free memory allocated for an user query inside transaction block after
 | 
						||
         this query is done, was turned off in <= 6.2.1(Vadim)
 | 
						||
 New SQL statement CREATE PROCEDURAL LANGUAGE(Jan)
 | 
						||
 New PostgreSQL Procedural Language (PL) backend interface(Jan)
 | 
						||
 Rename pg_dump -H option to -h(Bruce)
 | 
						||
 Add Java support for passwords, European dates(Peter)
 | 
						||
 Use indexes for LIKE and ~, !~ operations(Bruce)
 | 
						||
 Add hash functions for datetime and timespan(Thomas)
 | 
						||
 Time Travel removed(Vadim, Bruce)
 | 
						||
 Add paging for \d and \z, and fix \i(Bruce)
 | 
						||
 Add Unix domain socket support to backend and to frontend library(Goran)
 | 
						||
 Implement CREATE DATABASE/WITH LOCATION and initlocation utility(Thomas)
 | 
						||
 Allow more SQL92 and/or PostgreSQL reserved words as column identifiers(Thomas)
 | 
						||
 Augment support for SQL92 SET TIME ZONE...(Thomas)
 | 
						||
 SET/SHOW/RESET TIME ZONE uses TZ backend environment variable(Thomas)
 | 
						||
 Implement SET keyword = DEFAULT and SET TIME ZONE DEFAULT(Thomas)
 | 
						||
 Enable SET TIME ZONE using TZ environment variable(Thomas)
 | 
						||
 Add PGDATESTYLE environment variable to frontend and backend initialization(Thomas)
 | 
						||
 Add PGTZ, PGCOSTHEAP, PGCOSTINDEX, PGRPLANS, PGGEQO
 | 
						||
         frontend library initialization environment variables(Thomas)
 | 
						||
 Regression tests time zone automatically set with "setenv PGTZ PST8PDT"(Thomas)
 | 
						||
 Add pg_description table for info on tables, columns, operators, types, and
 | 
						||
         aggregates(Bruce)
 | 
						||
 Increase 16 char limit on system table/index names to 32 characters(Bruce)
 | 
						||
 Rename system indexes(Bruce)
 | 
						||
 Add 'GERMAN' option to SET DATESTYLE(Thomas)
 | 
						||
 Define an "ISO-style" timespan output format with "hh:mm:ss" fields(Thomas)
 | 
						||
 Allow fractional values for delta times (e.g. '2.5 days')(Thomas)
 | 
						||
 Validate numeric input more carefully for delta times(Thomas)
 | 
						||
 Implement day of year as possible input to date_part()(Thomas)
 | 
						||
 Define timespan_finite() and text_timespan() functions(Thomas)
 | 
						||
 Remove archive stuff(Bruce)
 | 
						||
 Allow for a pg_password authentication database that is separate from
 | 
						||
         the system password file(Todd)
 | 
						||
 Dump ACLs, GRANT, REVOKE permissions(Matt)
 | 
						||
 Define text, varchar, and bpchar string length functions(Thomas)
 | 
						||
 Fix Query handling for inheritance, and cost computations(Bruce)
 | 
						||
 Implement CREATE TABLE/AS SELECT (alternative to SELECT/INTO)(Thomas)
 | 
						||
 Allow NOT, IS NULL, IS NOT NULL in constraints(Thomas)
 | 
						||
 Implement UNIONs for SELECT(Bruce)
 | 
						||
 Add UNION, GROUP, DISTINCT to INSERT(Bruce)
 | 
						||
 varchar() stores only necessary bytes on disk(Bruce)
 | 
						||
 Fix for BLOBs(Peter)
 | 
						||
 Mega-Patch for JDBC...see README_6.3 for list of changes(Peter)
 | 
						||
 Remove unused "option" from PQconnectdb()
 | 
						||
 New LOCK command and lock manual page describing deadlocks(Bruce)
 | 
						||
 Add new psql \da, \dd, \df, \do, \dS, and \dT commands(Bruce)
 | 
						||
 Enhance psql \z to show sequences(Bruce)
 | 
						||
 Show NOT NULL and DEFAULT in psql \d table(Bruce)
 | 
						||
 New psql .psqlrc file start-up(Andrew)
 | 
						||
 Modify sample start-up script in contrib/linux to show syslog(Thomas)
 | 
						||
 New types for IP and MAC addresses in contrib/ip_and_mac(TomH)
 | 
						||
 Unix system time conversions with date/time types in contrib/unixdate(Thomas)
 | 
						||
 Update of contrib stuff(Massimo)
 | 
						||
 Add Unix socket support to DBD::Pg(Goran)
 | 
						||
 New python interface (PyGreSQL 2.0)(D'Arcy)
 | 
						||
 New frontend/backend protocol has a version number, network byte order(Phil)
 | 
						||
 Security features in pg_hba.conf enhanced and documented, many cleanups(Phil)
 | 
						||
 CHAR() now faster access than VARCHAR() or TEXT
 | 
						||
 ecpg embedded SQL preprocessor
 | 
						||
 Reduce system column overhead(Vadmin)
 | 
						||
 Remove pg_time table(Vadim)
 | 
						||
 Add pg_type attribute to identify types that need length (bpchar, varchar)
 | 
						||
 Add report of offending line when COPY command fails
 | 
						||
 Allow VIEW permissions to be set separately from the underlying tables.
 | 
						||
         For security, use GRANT/REVOKE on views as appropriate(Jan)
 | 
						||
 Tables now have no default GRANT SELECT TO PUBLIC.  You must
 | 
						||
         explicitly grant such permissions.
 | 
						||
 Clean up tutorial examples(Darren)
 | 
						||
 | 
						||
 Source Tree Changes
 | 
						||
 -------------------
 | 
						||
 Add new html development tools, and flow chart in /tools/backend
 | 
						||
 Fix for SCO compiles
 | 
						||
 Stratus computer port Robert Gillies
 | 
						||
 Added support for shlib for BSD44_derived & i386_solaris
 | 
						||
 Make configure more automated(Brook)
 | 
						||
 Add script to check regression test results
 | 
						||
 Break parser functions into smaller files, group together(Bruce)
 | 
						||
 Rename heap_create to heap_create_and_catalog, rename heap_creatr
 | 
						||
         to heap_create()(Bruce)
 | 
						||
 Sparc/Linux patch for locking(TomS)
 | 
						||
 Remove PORTNAME and reorganize port-specific stuff(Marc)
 | 
						||
 Add optimizer README file(Bruce)
 | 
						||
 Remove some recursion in optimizer and clean up some code there(Bruce)
 | 
						||
 Fix for NetBSD locking(Henry)
 | 
						||
 Fix for libptcl make(Tatsuo)
 | 
						||
 AIX patch(Darren)
 | 
						||
 Change IS TRUE, IS FALSE, ... to expressions using "=" rather than
 | 
						||
         function calls to istrue() or isfalse() to allow optimization(Thomas)
 | 
						||
 Various fixes NetBSD/Sparc related(TomH)
 | 
						||
 Alpha linux locking(Travis,Ryan)
 | 
						||
 Change elog(WARN) to elog(ERROR)(Bruce)
 | 
						||
 FAQ for FreeBSD(Marc)
 | 
						||
 Bring in the PostODBC source tree as part of our standard distribution(Marc)
 | 
						||
 A minor patch for HP/UX 10 vs 9(Stan)
 | 
						||
 New pg_attribute.atttypmod for type-specific info like varchar length(Bruce)
 | 
						||
 Unixware patches(Billy)
 | 
						||
 New i386 'lock' for spin lock asm(Billy)
 | 
						||
 Support for multiplexed backends is removed
 | 
						||
 Start an OpenBSD port
 | 
						||
 Start an AUX port
 | 
						||
 Start a Cygnus port
 | 
						||
 Add string functions to regression suite(Thomas)
 | 
						||
 Expand a few function names formerly truncated to 16 characters(Thomas)
 | 
						||
 Remove un-needed malloc() calls and replace with palloc()(Bruce)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                 Release 6.2.1
 | 
						||
 | 
						||
     Release date: 1997-10-17
 | 
						||
 | 
						||
   6.2.1 is a bug-fix and usability release on 6.2.
 | 
						||
 | 
						||
   Summary:
 | 
						||
 | 
						||
     * Allow strings to span lines, per SQL92.
 | 
						||
 | 
						||
     * Include example trigger function for inserting user names on table
 | 
						||
       updates.
 | 
						||
 | 
						||
   This is a minor bug-fix release on 6.2. For upgrades from pre-6.2 systems,
 | 
						||
   a full dump/reload is required. Refer to the 6.2 release notes for
 | 
						||
   instructions.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration from version 6.2 to version 6.2.1
 | 
						||
 | 
						||
   This is a minor bug-fix release. A dump/reload is not required from
 | 
						||
   version 6.2, but is required from any release prior to 6.2.
 | 
						||
 | 
						||
   In upgrading from version 6.2, if you choose to dump/reload you will find
 | 
						||
   that avg(money) is now calculated correctly. All other bug fixes take
 | 
						||
   effect upon updating the executables.
 | 
						||
 | 
						||
   Another way to avoid dump/reload is to use the following SQL command from
 | 
						||
   "psql" to update the existing system table:
 | 
						||
 | 
						||
   update pg_aggregate set aggfinalfn = 'cash_div_flt8'
 | 
						||
    where aggname = 'avg' and aggbasetype = 790;
 | 
						||
 | 
						||
   This will need to be done to every existing database, including template1.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 Allow TIME and TYPE column names(Thomas)
 | 
						||
 Allow larger range of true/false as boolean values(Thomas)
 | 
						||
 Support output of "now" and "current"(Thomas)
 | 
						||
 Handle DEFAULT with INSERT of NULL properly(Vadim)
 | 
						||
 Fix for relation reference counts problem in buffer manager(Vadim)
 | 
						||
 Allow strings to span lines, like ANSI(Thomas)
 | 
						||
 Fix for backward cursor with ORDER BY(Vadim)
 | 
						||
 Fix avg(cash) computation(Thomas)
 | 
						||
 Fix for specifying a column twice in ORDER/GROUP BY(Vadim)
 | 
						||
 Documented new libpq function to return affected rows, PQcmdTuples(Bruce)
 | 
						||
 Trigger function for inserting user names for INSERT/UPDATE(Brook Milligan)
 | 
						||
     
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                  Release 6.2
 | 
						||
 | 
						||
     Release date: 1997-10-02
 | 
						||
 | 
						||
   A dump/restore is required for those wishing to migrate data from previous
 | 
						||
   releases of PostgreSQL.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration from version 6.1 to version 6.2
 | 
						||
 | 
						||
   This migration requires a complete dump of the 6.1 database and a restore
 | 
						||
   of the database in 6.2.
 | 
						||
 | 
						||
   Note that the "pg_dump" and "pg_dumpall" utility from 6.2 should be used
 | 
						||
   to dump the 6.1 database.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration from version 1.x to version 6.2
 | 
						||
 | 
						||
   Those migrating from earlier 1.* releases should first upgrade to 1.09
 | 
						||
   because the COPY output format was improved from the 1.02 release.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 Bug Fixes
 | 
						||
 ---------
 | 
						||
 Fix problems with pg_dump for inheritance, sequences, archive tables(Bruce)
 | 
						||
 Fix compile errors on overflow due to shifts, unsigned, and bad prototypes
 | 
						||
          from Solaris(Diab Jerius)
 | 
						||
 Fix bugs in geometric line arithmetic (bad intersection calculations)(Thomas)
 | 
						||
 Check for geometric intersections at endpoints to avoid rounding ugliness(Thomas)
 | 
						||
 Catch non-functional delete attempts(Vadim)
 | 
						||
 Change time function names to be more consistent(Michael Reifenberg)
 | 
						||
 Check for zero divides(Michael Reifenberg)
 | 
						||
 Fix very old bug which made tuples changed/inserted by a commnd
 | 
						||
         visible to the command itself (so we had multiple update of
 | 
						||
         updated tuples, etc)(Vadim)
 | 
						||
 Fix for SELECT null, 'fail' FROM pg_am (Patrick)
 | 
						||
 SELECT NULL as EMPTY_FIELD now allowed(Patrick)
 | 
						||
 Remove un-needed signal stuff from contrib/pginterface
 | 
						||
 Fix OR (where x != 1 or x isnull didn't return tuples with x NULL) (Vadim)
 | 
						||
 Fix time_cmp function (Vadim)
 | 
						||
 Fix handling of functions with non-attribute first argument in
 | 
						||
         WHERE clauses (Vadim)
 | 
						||
 Fix GROUP BY when order of entries is different from order
 | 
						||
         in target list (Vadim)
 | 
						||
 Fix pg_dump for aggregates without sfunc1 (Vadim)
 | 
						||
 | 
						||
 Enhancements
 | 
						||
 ------------
 | 
						||
 Default genetic optimizer GEQO parameter is now 8(Bruce)
 | 
						||
 Allow use parameters in target list having aggregates in functions(Vadim)
 | 
						||
 Added JDBC driver as an interface(Adrian & Peter)
 | 
						||
 pg_password utility
 | 
						||
 Return number of tuples inserted/affected by INSERT/UPDATE/DELETE etc.(Vadim)
 | 
						||
 Triggers implemented with CREATE TRIGGER (SQL3)(Vadim)
 | 
						||
 SPI (Server Programming Interface) allows execution of queries inside
 | 
						||
         C-functions (Vadim)
 | 
						||
 NOT NULL implemented (SQL92)(Robson Paniago de Miranda)
 | 
						||
 Include reserved words for string handling, outer joins, and unions(Thomas)
 | 
						||
 Implement extended comments ("/* ... */") using exclusive states(Thomas)
 | 
						||
 Add "//" single-line comments(Bruce)
 | 
						||
 Remove some restrictions on characters in operator names(Thomas)
 | 
						||
 DEFAULT and CONSTRAINT for tables implemented (SQL92)(Vadim & Thomas)
 | 
						||
 Add text concatenation operator and function (SQL92)(Thomas)
 | 
						||
 Support WITH TIME ZONE syntax (SQL92)(Thomas)
 | 
						||
 Support INTERVAL unit TO unit syntax (SQL92)(Thomas)
 | 
						||
 Define types DOUBLE PRECISION, INTERVAL, CHARACTER,
 | 
						||
         and CHARACTER VARYING (SQL92)(Thomas)
 | 
						||
 Define type FLOAT(p) and rudimentary DECIMAL(p,s), NUMERIC(p,s) (SQL92)(Thomas)
 | 
						||
 Define EXTRACT(), POSITION(), SUBSTRING(), and TRIM() (SQL92)(Thomas)
 | 
						||
 Define CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP (SQL92)(Thomas)
 | 
						||
 Add syntax and warnings for UNION, HAVING, INNER and OUTER JOIN (SQL92)(Thomas)
 | 
						||
 Add more reserved words, mostly for SQL92 compliance(Thomas)
 | 
						||
 Allow hh:mm:ss time entry for timespan/reltime types(Thomas)
 | 
						||
 Add center() routines for lseg, path, polygon(Thomas)
 | 
						||
 Add distance() routines for circle-polygon, polygon-polygon(Thomas)
 | 
						||
 Check explicitly for points and polygons contained within polygons
 | 
						||
         using an axis-crossing algorithm(Thomas)
 | 
						||
 Add routine to convert circle-box(Thomas)
 | 
						||
 Merge conflicting operators for different geometric data types(Thomas)
 | 
						||
 Replace distance operator "<===>" with "<->"(Thomas)
 | 
						||
 Replace "above" operator "!^" with ">^" and "below" operator "!|" with "<^"(Thomas)
 | 
						||
 Add routines for text trimming on both ends, substring, and string position(Thomas)
 | 
						||
 Added conversion routines circle(box) and poly(circle)(Thomas)
 | 
						||
 Allow internal sorts to be stored in memory rather than in files(Bruce & Vadim)
 | 
						||
 Allow functions and operators on internally-identical types to succeed(Bruce)
 | 
						||
 Speed up backend start-up after profiling analysis(Bruce)
 | 
						||
 Inline frequently called functions for performance(Bruce)
 | 
						||
 Reduce open() calls(Bruce)
 | 
						||
 psql:  Add PAGER for \h and \?,\C fix
 | 
						||
 Fix for psql pager when no tty(Bruce)
 | 
						||
 New entab utility(Bruce)
 | 
						||
 General trigger functions for referential integrity (Vadim)
 | 
						||
 General trigger functions for time travel (Vadim)
 | 
						||
 General trigger functions for AUTOINCREMENT/IDENTITY feature (Vadim)
 | 
						||
 MOVE implementation (Vadim)
 | 
						||
 | 
						||
 Source Tree Changes
 | 
						||
 -------------------
 | 
						||
 HPUX 10 patches (Vladimir Turin)
 | 
						||
 Added SCO support, (Daniel Harris)
 | 
						||
 mkLinux patches (Tatsuo Ishii)
 | 
						||
 Change geometric box terminology from "length" to "width"(Thomas)
 | 
						||
 Deprecate temporary unstored slope fields in geometric code(Thomas)
 | 
						||
 Remove restart instructions from INSTALL(Bruce)
 | 
						||
 Look in /usr/ucb first for install(Bruce)
 | 
						||
 Fix c++ copy example code(Thomas)
 | 
						||
 Add -o to psql manual page(Bruce)
 | 
						||
 Prevent relname unallocated string length from being copied into database(Bruce)
 | 
						||
 Cleanup for NAMEDATALEN use(Bruce)
 | 
						||
 Fix pg_proc names over 15 chars in output(Bruce)
 | 
						||
 Add strNcpy() function(Bruce)
 | 
						||
 remove some (void) casts that are unnecessary(Bruce)
 | 
						||
 new interfaces directory(Marc)
 | 
						||
 Replace fopen() calls with calls to fd.c functions(Bruce)
 | 
						||
 Make functions static where possible(Bruce)
 | 
						||
 enclose unused functions in #ifdef NOT_USED(Bruce)
 | 
						||
 Remove call to difftime() in timestamp support to fix SunOS(Bruce & Thomas)
 | 
						||
 Changes for Digital Unix
 | 
						||
 Portability fix for pg_dumpall(Bruce)
 | 
						||
 Rename pg_attribute.attnvals to attdispersion(Bruce)
 | 
						||
 "intro/unix" manual page now "pgintro"(Bruce)
 | 
						||
 "built-in" manual page now "pgbuiltin"(Bruce)
 | 
						||
 "drop" manual page now "drop_table"(Bruce)
 | 
						||
 Add "create_trigger", "drop_trigger" manual pages(Thomas)
 | 
						||
 Add constraints regression test(Vadim & Thomas)
 | 
						||
 Add comments syntax regression test(Thomas)
 | 
						||
 Add PGINDENT and support program(Bruce)
 | 
						||
 Massive commit to run PGINDENT on all *.c and *.h files(Bruce)
 | 
						||
 Files moved to /src/tools directory(Bruce)
 | 
						||
 SPI and Trigger programming guides (Vadim & D'Arcy)
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                 Release 6.1.1
 | 
						||
 | 
						||
     Release date: 1997-07-22
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration from version 6.1 to version 6.1.1
 | 
						||
 | 
						||
   This is a minor bug-fix release. A dump/reload is not required from
 | 
						||
   version 6.1, but is required from any release prior to 6.1. Refer to the
 | 
						||
   release notes for 6.1 for more details.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 fix for SET with options (Thomas)
 | 
						||
 allow pg_dump/pg_dumpall to preserve ownership of all tables/objects(Bruce)
 | 
						||
 new psql \connect option allows changing usernames without changing databases
 | 
						||
 fix for initdb --debug option(Yoshihiko Ichikawa))
 | 
						||
 lextest cleanup(Bruce)
 | 
						||
 hash fixes(Vadim)
 | 
						||
 fix date/time month boundary arithmetic(Thomas)
 | 
						||
 fix timezone daylight handling for some ports(Thomas, Bruce, Tatsuo)
 | 
						||
 timestamp overhauled to use standard functions(Thomas)
 | 
						||
 other code cleanup in date/time routines(Thomas)
 | 
						||
 psql's \d now case-insensitive(Bruce)
 | 
						||
 psql's backslash commands can now have trailing semicolon(Bruce)
 | 
						||
 fix memory leak in psql when using \g(Bruce)
 | 
						||
 major fix for endian handling of communication to server(Thomas, Tatsuo)
 | 
						||
 Fix for Solaris assembler and include files(Yoshihiko Ichikawa)
 | 
						||
 allow underscores in usernames(Bruce)
 | 
						||
 pg_dumpall now returns proper status, portability fix(Bruce)
 | 
						||
     
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                  Release 6.1
 | 
						||
 | 
						||
     Release date: 1997-06-08
 | 
						||
 | 
						||
   The regression tests have been adapted and extensively modified for the
 | 
						||
   6.1 release of PostgreSQL.
 | 
						||
 | 
						||
   Three new data types (datetime, timespan, and circle) have been added to
 | 
						||
   the native set of PostgreSQL types. Points, boxes, paths, and polygons
 | 
						||
   have had their output formats made consistent across the data types. The
 | 
						||
   polygon output in misc.out has only been spot-checked for correctness
 | 
						||
   relative to the original regression output.
 | 
						||
 | 
						||
   PostgreSQL 6.1 introduces a new, alternate optimizer which uses genetic
 | 
						||
   algorithms. These algorithms introduce a random behavior in the ordering
 | 
						||
   of query results when the query contains multiple qualifiers or multiple
 | 
						||
   tables (giving the optimizer a choice on order of evaluation). Several
 | 
						||
   regression tests have been modified to explicitly order the results, and
 | 
						||
   hence are insensitive to optimizer choices. A few regression tests are for
 | 
						||
   data types which are inherently unordered (e.g. points and time intervals)
 | 
						||
   and tests involving those types are explicitly bracketed with "set geqo to
 | 
						||
   'off'" and "reset geqo".
 | 
						||
 | 
						||
   The interpretation of array specifiers (the curly braces around atomic
 | 
						||
   values) appears to have changed sometime after the original regression
 | 
						||
   tests were generated. The current "./expected/*.out" files reflect this
 | 
						||
   new interpretation, which may not be correct!
 | 
						||
 | 
						||
   The float8 regression test fails on at least some platforms. This is due
 | 
						||
   to differences in implementations of pow() and exp() and the signaling
 | 
						||
   mechanisms used for overflow and underflow conditions.
 | 
						||
 | 
						||
   The "random" results in the random test should cause the "random" test to
 | 
						||
   be "failed", since the regression tests are evaluated using a simple diff.
 | 
						||
   However, "random" does not seem to produce random results on my test
 | 
						||
   machine (Linux/gcc/i686).
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration to version 6.1
 | 
						||
 | 
						||
   This migration requires a complete dump of the 6.0 database and a restore
 | 
						||
   of the database in 6.1.
 | 
						||
 | 
						||
   Those migrating from earlier 1.* releases should first upgrade to 1.09
 | 
						||
   because the COPY output format was improved from the 1.02 release.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 Bug Fixes
 | 
						||
 ---------
 | 
						||
 packet length checking in library routines
 | 
						||
 lock manager priority patch
 | 
						||
 check for under/over flow of float8(Bruce)
 | 
						||
 multi-table join fix(Vadim)
 | 
						||
 SIGPIPE crash fix(Darren)
 | 
						||
 large object fixes(Sven)
 | 
						||
 allow btree indexes to handle NULLs(Vadim)
 | 
						||
 timezone fixes(D'Arcy)
 | 
						||
 select SUM(x) can return NULL on no rows(Thomas)
 | 
						||
 internal optimizer, executor bug fixes(Vadim)
 | 
						||
 fix problem where inner loop in < or <= has no rows(Vadim)
 | 
						||
 prevent re-commuting join index clauses(Vadim)
 | 
						||
 fix join clauses for multiple tables(Vadim)
 | 
						||
 fix hash, hashjoin for arrays(Vadim)
 | 
						||
 fix btree for abstime type(Vadim)
 | 
						||
 large object fixes(Raymond)
 | 
						||
 fix buffer leak in hash indexes (Vadim)
 | 
						||
 fix rtree for use in inner scan (Vadim)
 | 
						||
 fix gist for use in inner scan, cleanups (Vadim, Andrea)
 | 
						||
 avoid unnecessary local buffers allocation (Vadim, Massimo)
 | 
						||
 fix local buffers leak in transaction aborts (Vadim)
 | 
						||
 fix file manager memmory leaks, cleanups (Vadim, Massimo)
 | 
						||
 fix storage manager memmory leaks (Vadim)
 | 
						||
 fix btree duplicates handling (Vadim)
 | 
						||
 fix deleted tuples re-incarnation caused by vacuum (Vadim)
 | 
						||
 fix SELECT varchar()/char() INTO TABLE made zero-length fields(Bruce)
 | 
						||
 many psql, pg_dump, and libpq memory leaks fixed using Purify (Igor)
 | 
						||
 | 
						||
 Enhancements
 | 
						||
 ------------
 | 
						||
 attribute optimization statistics(Bruce)
 | 
						||
 much faster new btree bulk load code(Paul)
 | 
						||
 BTREE UNIQUE added to bulk load code(Vadim)
 | 
						||
 new lock debug code(Massimo)
 | 
						||
 massive changes to libpg++(Leo)
 | 
						||
 new GEQO optimizer speeds table multi-table optimization(Martin)
 | 
						||
 new WARN message for non-unique insert into unique key(Marc)
 | 
						||
 update x=-3, no spaces, now valid(Bruce)
 | 
						||
 remove case-sensitive identifier handling(Bruce,Thomas,Dan)
 | 
						||
 debug backend now pretty-prints tree(Darren)
 | 
						||
 new Oracle character functions(Edmund)
 | 
						||
 new plaintext password functions(Dan)
 | 
						||
 no such class or insufficient privilege changed to distinct messages(Dan)
 | 
						||
 new ANSI timestamp function(Dan)
 | 
						||
 new ANSI Time and Date types (Thomas)
 | 
						||
 move large chunks of data in backend(Martin)
 | 
						||
 multi-column btree indexes(Vadim)
 | 
						||
 new SET var TO value command(Martin)
 | 
						||
 update transaction status on reads(Dan)
 | 
						||
 new locale settings for character types(Oleg)
 | 
						||
 new SEQUENCE serial number generator(Vadim)
 | 
						||
 GROUP BY function now possible(Vadim)
 | 
						||
 re-organize regression test(Thomas,Marc)
 | 
						||
 new optimizer operation weights(Vadim)
 | 
						||
 new psql \z grant/permit option(Marc)
 | 
						||
 new MONEY data type(D'Arcy,Thomas)
 | 
						||
 tcp socket communication speed improved(Vadim)
 | 
						||
 new VACUUM option for attribute statistics, and for certain columns (Vadim)
 | 
						||
 many geometric type improvements(Thomas,Keith)
 | 
						||
 additional regression tests(Thomas)
 | 
						||
 new datestyle variable(Thomas,Vadim,Martin)
 | 
						||
 more comparison operators for sorting types(Thomas)
 | 
						||
 new conversion functions(Thomas)
 | 
						||
 new more compact btree format(Vadim)
 | 
						||
 allow pg_dumpall to preserve database ownership(Bruce)
 | 
						||
 new SET GEQO=# and R_PLANS variable(Vadim)
 | 
						||
 old (!GEQO) optimizer can use right-sided plans (Vadim)
 | 
						||
 typechecking improvement in SQL parser(Bruce)
 | 
						||
 new SET, SHOW, RESET commands(Thomas,Vadim)
 | 
						||
 new \connect database USER option
 | 
						||
 new destroydb -i option (Igor)
 | 
						||
 new \dt and \di psql commands (Darren)
 | 
						||
 SELECT "\n" now escapes newline (A. Duursma)
 | 
						||
 new geometry conversion functions from old format (Thomas)
 | 
						||
 | 
						||
 Source tree changes
 | 
						||
 -------------------
 | 
						||
 new configuration script(Marc)
 | 
						||
 readline configuration option added(Marc)
 | 
						||
 OS-specific configuration options removed(Marc)
 | 
						||
 new OS-specific template files(Marc)
 | 
						||
 no more need to edit Makefile.global(Marc)
 | 
						||
 re-arrange include files(Marc)
 | 
						||
 nextstep patches (Gregor Hoffleit)
 | 
						||
 removed WIN32-specific code(Bruce)
 | 
						||
 removed postmaster -e option, now only postgres -e option (Bruce)
 | 
						||
 merge duplicate library code in front/backends(Martin)
 | 
						||
 now works with eBones, international Kerberos(Jun)
 | 
						||
 more shared library support
 | 
						||
 c++ include file cleanup(Bruce)
 | 
						||
 warn about buggy flex(Bruce)
 | 
						||
 DG-UX, Ultrix, Irix, AIX portability fixes
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                  Release 6.0
 | 
						||
 | 
						||
     Release date: 1997-01-29
 | 
						||
 | 
						||
   A dump/restore is required for those wishing to migrate data from previous
 | 
						||
   releases of PostgreSQL.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration from version 1.09 to version 6.0
 | 
						||
 | 
						||
   This migration requires a complete dump of the 1.09 database and a restore
 | 
						||
   of the database in 6.0.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration from pre-1.09 to version 6.0
 | 
						||
 | 
						||
   Those migrating from earlier 1.* releases should first upgrade to 1.09
 | 
						||
   because the COPY output format was improved from the 1.02 release.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Changes
 | 
						||
 | 
						||
 Bug Fixes
 | 
						||
 ---------
 | 
						||
 ALTER TABLE bug - running postgress process needs to re-read table definition
 | 
						||
 Allow vacuum to be run on one table or entire database(Bruce)
 | 
						||
 Array fixes
 | 
						||
 Fix array over-runs of memory writes(Kurt)
 | 
						||
 Fix elusive btree range/non-range bug(Dan)
 | 
						||
 Fix for hash indexes on some types like time and date
 | 
						||
 Fix for pg_log size explosion
 | 
						||
 Fix permissions on lo_export()(Bruce)
 | 
						||
 Fix unitialized reads of memory(Kurt)
 | 
						||
 Fixed ALTER TABLE ... char(3) bug(Bruce)
 | 
						||
 Fixed a few small memory leaks
 | 
						||
 Fixed EXPLAIN handling of options and changed full_path option name
 | 
						||
 Fixed output of group acl permissions
 | 
						||
 Memory leaks (hunt and destroy with tools like Purify(Kurt)
 | 
						||
 Minor improvements to rules system
 | 
						||
 NOTIFY fixes
 | 
						||
 New asserts for run-checking
 | 
						||
 Overhauled parser/analyze code to properly report errors and increase speed
 | 
						||
 Pg_dump -d now handles NULL's properly(Bruce)
 | 
						||
 Prevent SELECT NULL from crashing server (Bruce)
 | 
						||
 Properly report errors when INSERT ... SELECT columns did not match
 | 
						||
 Properly report errors when insert column names were not correct
 | 
						||
 Psql \g filename now works(Bruce)
 | 
						||
 Psql fixed problem with multiple statements on one line with multiple outputs
 | 
						||
 Removed duplicate system oid's
 | 
						||
 SELECT * INTO TABLE . GROUP/ORDER BY gives unlink error if table exists(Bruce)
 | 
						||
 Several fixes for queries that crashed the backend
 | 
						||
 Starting quote in insert string errors(Bruce)
 | 
						||
 Submitting an empty query now returns empty status, not just " " query(Bruce)
 | 
						||
 | 
						||
 Enhancements
 | 
						||
 ------------
 | 
						||
 Add EXPLAIN manual page(Bruce)
 | 
						||
 Add UNIQUE index capability(Dan)
 | 
						||
 Add hostname/user level access control rather than just hostname and user
 | 
						||
 Add synonym of != for <>(Bruce)
 | 
						||
 Allow "select oid,* from table"
 | 
						||
 Allow BY,ORDER BY to specify columns by number, or by non-alias table.column(Bruce)
 | 
						||
 Allow COPY from the frontend(Bryan)
 | 
						||
 Allow GROUP BY to use alias column name(Bruce)
 | 
						||
 Allow actual compression, not just reuse on the same page(Vadim)
 | 
						||
 Allow installation-configuration option to auto-add all local users(Bryan)
 | 
						||
 Allow libpq to distinguish between text value '' and null(Bruce)
 | 
						||
 Allow non-postgres users with createdb privs to destroydb's
 | 
						||
 Allow restriction on who can create C functions(Bryan)
 | 
						||
 Allow restriction on who can do backend COPY(Bryan)
 | 
						||
 Can shrink tables, pg_time and pg_log(Vadim & Erich)
 | 
						||
 Change debug level 2 to print queries only, changed debug heading layout(Bruce)
 | 
						||
 Change default decimal constant representation from float4 to float8(Bruce)
 | 
						||
 European date format now set when postmaster is started
 | 
						||
 Execute lowercase function names if not found with exact case
 | 
						||
 Fixes for aggregate/GROUP processing, allow 'select sum(func(x),sum(x+y) from z'
 | 
						||
 Gist now included in the distrubution(Marc)
 | 
						||
 Idend authentication of local users(Bryan)
 | 
						||
 Implement BETWEEN qualifier(Bruce)
 | 
						||
 Implement IN qualifier(Bruce)
 | 
						||
 Libpq has PQgetisnull()(Bruce)
 | 
						||
 Libpq++ improvements
 | 
						||
 New options to initdb(Bryan)
 | 
						||
 Pg_dump allow dump of oid's(Bruce)
 | 
						||
 Pg_dump create indexes after tables are loaded for speed(Bruce)
 | 
						||
 Pg_dumpall dumps all databases, and the user table
 | 
						||
 Pginterface additions for NULL values(Bruce)
 | 
						||
 Prevent postmaster from being run as root
 | 
						||
 Psql \h and \? is now readable(Bruce)
 | 
						||
 Psql allow backslashed, semicolons anywhere on the line(Bruce)
 | 
						||
 Psql changed command prompt for lines in query or in quotes(Bruce)
 | 
						||
 Psql char(3) now displays as (bp)char in \d output(Bruce)
 | 
						||
 Psql return code now more accurate(Bryan?)
 | 
						||
 Psql updated help syntax(Bruce)
 | 
						||
 Re-visit and fix vacuum(Vadim)
 | 
						||
 Reduce size of regression diffs, remove timezone name difference(Bruce)
 | 
						||
 Remove compile-time parameters to enable binary distributions(Bryan)
 | 
						||
 Reverse meaning of HBA masks(Bryan)
 | 
						||
 Secure Authentication of local users(Bryan)
 | 
						||
 Speed up vacuum(Vadim)
 | 
						||
 Vacuum now had VERBOSE option(Bruce)
 | 
						||
 | 
						||
 Source tree changes
 | 
						||
 -------------------
 | 
						||
 All functions now have prototypes that are compared against the calls
 | 
						||
 Allow asserts to be disabled easly from Makefile.global(Bruce)
 | 
						||
 Change oid constants used in code to #define names
 | 
						||
 Decoupled sparc and solaris defines(Kurt)
 | 
						||
 Gcc -Wall compiles cleanly with warnings only from unfixable constructs
 | 
						||
 Major include file reorganization/reduction(Marc)
 | 
						||
 Make now stops on compile failure(Bryan)
 | 
						||
 Makefile restructuring(Bryan, Marc)
 | 
						||
 Merge bsdi_2_1 to bsdi(Bruce)
 | 
						||
 Monitor program removed
 | 
						||
 Name change from Postgres95 to PostgreSQL
 | 
						||
 New config.h file(Marc, Bryan)
 | 
						||
 PG_VERSION now set to 6.0 and used by postmaster
 | 
						||
 Portability additions, including Ultrix, DG/UX, AIX, and Solaris
 | 
						||
 Reduced the number of #define's, centeralized #define's
 | 
						||
 Remove duplicate OIDS in system tables(Dan)
 | 
						||
 Remove duplicate system catalog info or report mismatches(Dan)
 | 
						||
 Removed many os-specific #define's
 | 
						||
 Restructured object file generation/location(Bryan, Marc)
 | 
						||
 Restructured port-specific file locations(Bryan, Marc)
 | 
						||
 Unused/uninialized variables corrected
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                  Release 1.09
 | 
						||
 | 
						||
     Release date: 1996-11-04
 | 
						||
 | 
						||
   Sorry, we didn't keep track of changes from 1.02 to 1.09. Some of the
 | 
						||
   changes listed in 6.0 were actually included in the 1.02.1 to 1.09
 | 
						||
   releases.
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
                                  Release 1.02
 | 
						||
 | 
						||
     Release date: 1996-08-01
 | 
						||
 | 
						||
     ----------------------------------------------------------------------
 | 
						||
 | 
						||
Migration from version 1.02 to version 1.02.1
 | 
						||
 | 
						||
   Here is a new migration file for 1.02.1. It includes the 'copy' change and
 | 
						||
   a script to convert old ASCII files.
 | 
						||
 | 
						||
     Note: The following notes are for the benefit of users who want to
 | 
						||
     migrate databases from Postgres95 1.01 and 1.02 to Postgres95 1.02.1.
 | 
						||
 | 
						||
     If you are starting afresh with Postgres95 1.02.1 and do not need to
 | 
						||
     migrate old databases, you do not need to read any further.
 | 
						||
 | 
						||
   In order to upgrade older Postgres95 version 1.01 or 1.02 databases to
 | 
						||
   version 1.02.1, the following steps are required:
 | 
						||
 | 
						||
    |