Skip to content
Snippets Groups Projects
HISTORY 135 KiB
Newer Older
   ------------------------------------------------------------------------
                                Release 7.2
  ------------------------------------------------------------------------


Release 7.2  (2001-12-??)


This release improved PostgreSQL for use in high volume applications.

Major changes in this release:

        VACUUM -  VACUUM no longer locks tables, 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 much 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.

Bruce Momjian's avatar
Bruce Momjian committed
	Internationalization - Error messages can now be displayed in
several languages.

Bruce Momjian's avatar
Bruce Momjian committed
Migration to 7.2

   A dump/restore using pg_dump is required for those wishing to migrate
   data from any previous release. In this release, comparisons using "=
   NULL" will always return false. Previous releases automatically
   transformed this syntax to "IS NULL", which is the standards-
   compliant way to do NULL comparisons. The old behavior can be
   re-enabled using a postgresql.conf parameter. The SELECT ... LIMIT
   #,# syntax will be removed in 7.3. You should change your queries to
   use separate LIMIT and OFFSET clauses, e.g. LIMIT 10 OFFSET 20. Also,
   pg_hba.conf now only loads on SIGHUP.  Octet_length() now returns
   uncompressed data length.  'current' no longer used; use
   CURRENT_TIMESTAMP instead.
AS OF 2001-12-04

Bug Fixes
---------
Prevent unadorned relations names in target list (Bruce)
Change UPDATE, DELETE permissions to be distinct (Peter E)
PLpgSQL fix for SELECT... FOR UPDATE (Tom)
Fix for PL/pgSQL PERFORM returning multiple rows (Tom)
Fix for ALTER TABLE ADD CONSTRAINT ... CHECK for inherited children (Stephan
  Szabo)
Fix bug in permission modifications in newly created table (Tom)
Disallow access to pg_statistic for non-super user (Tom)
Fix SERIAL in temporary tables (Bruce)
Fire INSERT rules after statement (Jan)
Fix INITIALLY DEFERRED bug in ecpg 
Remove VACUUM warning about index tuples fewer than heap (Martijn van Oosterhout)
Disable COPY TO/FROM on views (Bruce)
Fix problem with LIMIT and subqueries (Tom)
Fix for LIMIT, DISTINCT ON pushed into subqueryies (Tom)
PL/pgSQL memory leak fix (Jan, Tom)
Fix nested EXCEPT/INTERSECT (Tom)
Python fix fetchone() (Gerhard Haring)
ECPG fixes (Michael, Christof Petig)
PL/PgSQL trailing semicolon optional (Tom)
Fix path_inter, path_distance, path_length, dist_ppath to handle closed
  paths (Curtis Barrett, Tom)
ALTER TABLE RENAME update foreign-key trigger arguments correctly (Brent Verner)
Long value compression improvement (Tom)
octet_length(text_col) now returns non-compressed length (Tatsuo, Bruce)

Enhancements
------------
VACUUM now does not lock table (Tom)
New VACUUM FULL to force reclaimation of disk space (Tom)
Statistical collector for table, index access (Jan)
SPI portal creation of prepared/saved plans (Jan)
PL/pgSQL uses portals for SELECT loops allowing huge result sets (Jan)
PL/pgSQL CURSOR and REFCURSOR support (Jan)
PL/pgSQL can now return open cursors (Jan)
Add ELSEIF to PL/pgSQL (Klaus Reger)
New REFERENCES, TRIGGER privileges (Peter E)
Have psql \d display indexes in unique, primary groupings (Christopher Kings-Lynne)
Improve PL/pgSQL error reporting (Tom)
Add DROP CONSTRAINT for CHECK constraints (Christopher Kings-Lynne)
PL/PgSQL Allow IS and FOR keywords in cursors, for compatibility (Bruce)
Native language support for error messages in psql, pg_dump, libpq, and
  postgres components; configure --enable-nls
  (Peter E [German, some French, some Swedish], Serguei A. Mokhov [Russian],
Bruce Momjian's avatar
Bruce Momjian committed
  Karel Zak [Czech], Weiping He [Simplified Chinese], Zhenbang Wei 
  [Traditional Chinese], Zoltan [Hungarian])
Make NULL appear at beginning/end based on ORDER BY (Tom)
Add %TYPE capability to CREATE TYPE (Ian Lance Taylor)
Truncate extra-long sequence names to a reasonable value (Tom)
Add RESET ALL, SHOW ALL (Marko Kreen)
Allow GRANT/REVOKE to/from with more than one user (Peter E)
New has_table_privilege() function (Joe Conway)
Allow non-super user to vacuum database (Tom)
New Australian timezone GUC setting (Bruce)
Untrusted PlPerl (Alex Pilosov)
New IS UNKNOWN, IS NOT UNKNOWN boolean tests (Tom)
Fork postmaster before doing authentication to prevent hangs (Peter E)
Add Temporary sequences (Bruce)
New GUC set default isolation level (Peter E)
New SHARE UPDATE EXCLUSIVE lock mode (Tom)
CREATE/ALTER USER/GROUP now allows options in any order (Vince)
New encode() function installed by default (Marko Kreen)
Enable partial indexes (Martijn van Oosterhout)
Add unix domain socket user authentication in Linux, *BSD (Helge Bahmann, Oliver Elphick, Teodor Sigaev, Bruce)
Pltcl add spi_lastoid function (bob@redivi.com)
Add LOCK A,B,C functionality(Neil Padgett)
Make OID's optional using WITHOUT OIDS (Tom)
Allow column renaming in views
SUM(), AVG(), COUNT() now uses int8 internally for speed (Tom)
Add convert(), convert2() (Tatsuo)
Add MD5 encryption (Bruce)
Allow encryption of stored passwords using MD5 (Bruce)
Greater randomization of encryption keys using MD5 (Bruce)
New ENCRYPTED/UNENCRYPTED option to CREATE/ALTER USER (Bruce)
Sequences now use int8 internally (Tom)
New SERIAL8 creates int8 columns with sequences, default still SERIAL4 (Tom)
New SET SESSION AUTHORIZATION command (Peter E)
Add automatic return type data casting for SQL functions (Tom)
Allow safe transaction id wraparound (Tom)
Use UTF, Unicode in TCL where appropriate (Vsevolod Lobko, Reinhard Max)
Improved to_*() conversion functions (Karel Zak)
PAM authentication (Dominic J. Eidson)
Add TCL COPY TO/FROM (ljb)
Allow ALTER TABLE ADD UNIQUE (Christopher Kings-Lynne)
Super-user id now defaults to 1 (Peter E)
Reject invalid multibyte character sequences (Tatsuo)
New libpq PQescapeString() function to escape query strings (Florian Weimer)
New EXPLAIN ANALYZE command that shows runtimes and tuple counts (Martijn
  van Oosterhout)
New postgresql.conf option to enable/disable "col = NULL" comparisons
  (Peter E)
New postgresql.conf parameter to control memory usage by VACUUM (Tom)
New postgresql.conf time out parameter for client authentication (Tom)
New pg_ctl 'reload' option (Tom)
Add /contrib/intarray boolean queries, binary search, fixes (Oleg Bartunov)
New postgresql.conf to set maximum open files (Tom)
New CREATE OR REPLACE FUNCTION that preserves function oid (Gavin Sherry)
DROP AGGREGATE and COMMENT ON AGGREGATE now accept an aggtype (Tom)
Prevent output of default index op class in pg_dump (Tom)
Allow trailing semicolons in psql backslash commands (Greg Sabino Mullane)
Prompt for psql password from /dev/tty if possible
Bruce Momjian's avatar
Bruce Momjian committed
Allow SPI column functions to work for system columns (Tom)
Dynahash portability improvements (Tom)
Remove OID's from some system tables (Tom)
Remove 'triggered data change violation' error check (Tom)
Optimize LIKE/ILIKE when using single-byte encodings (Tatsuo)
New libpq function PQescapeBytea() escapes binary strings for use as
  SQL string literals
Improve reporting of PL/PgSQL error location (Tom)

Types
-----
CHAR(n)/VARCHAR(n) represents letters, not bytes (Tatsuo)
CHAR(), VARCHAR() now returns error on storage of too long string (Peter E)
BIT, BIT VARYING now returns error on too long input (Peter E)
New function bit_length() (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 btree indexes
Bytea now supports LIKE, LIKE...ESCAPE, NOT LIKE, NOT LIKE...ESCAPE
Bytea now supports string concatenation
New Bytea functions - position(), substring, trim, btrim, and length
New encode() function mode, 'escaped', converts minimally escaped
   bytea to/from text
Make trim/ltrim/rtrim/btrim/lpad/rpad/translate() multibyte aware (Tatsuo)
Formats with the correct number of columns for UNICODE in psql (Patrice)
Add pg_database_encoding_max_length() (Tatsuo)
Add pg_client_encoding() function (Tatsuo)
Add LATIN5,6,7,8,9,10 support (Tatsuo)
Change LATIN5 to mean ISO-8859-9, not ISO-8859-5 (Tatsuo)
Add ISO 8859-5,6,7,8 support (Tatsuo)
Make mic2ascii() non-ASCII aware (Tatsuo)
Measure transaction times in milliseconds (Thomas)
now() returns time in milliseconds (Thomas)
New TIMEZONE WITHOUT TIMEZONE data types (Thomas)
Add ISO date/time specification with 'T', yyyy-mm-ddThh:mm:ss (Thomas)
New xid/int comparison functions (Hiroshi)
Fix TID sequential scans (Hiroshi)
Bruce Momjian's avatar
Bruce Momjian committed
Add precision to TIME, TIMESTAMP, and INVERVAL data types (Thomas)
Cachability fixes (Thomas, Tom)
PL/TCL now reports errorInfo (Vsevolod Lobko)
Modify type coersion logic to attempt binary-compatible functions first (Tom)
Allow optional () after current_user, session_user, user, etc. (Peter E)
Add compatibility functions to odbc.sql (Peter E)
Force new password prompt when changing user and database in psql (Tatsuo, Tom)
New /contrib/tsearch full text indexing (Oleg, Teodor Sigaev)
Allow better selectivity with Nan and infinities in NUMERIC (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
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)
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)
Load pg_hba.conf only on startup and SIGHUP (Bruce)
Rtree performance improvements (Kenneth Been)
Improve lock manager to reduce lock contention (Tom)
Btree splits more efficient (Tom)
Keep relcache entries for index access support functions (Tom)
Make ALTER TABLE RENAME COLUMN update column names of indexes (Brent Verner)
	Return oid of INSERT (Ken K)
	Hande more data types (Ken K)
	Handle single quotes and newlines in strings (Ken K)
	Handle NULL variables (Ken K)
	Fix for timezone 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.getColumn() performance improvement (Jeroen van Vianen)
	Jdbc1 and jdbc2 merging (Anders Bengtsson)
	Transaction performance improvements (Barry Lind)
	Array fixes (Greg Zoller)
	Fix batch processing (Ren? Pijlman)
	ExecSQL method reorganization (Anders Bengtsson)
	GetColumn() fixes (Jeroen van Vianen)
	Fix isWriteable() function (Ren? Pijlman)
	Improved passage of jdbc2 conformance tests (Ren? 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)
Bruce Momjian's avatar
Bruce Momjian committed
	DatabaseMetaData patch to show precision properly (Mark Lillywhite)
	New getImported/getExported keys (Jason Davies)
	MD5 password encryption support (Jeremy Wohl)

	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 configure 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)

ECPG
	EXECUTE ... INTO ...    implemented
	multiple row descriptor support (e.g. CARDINALITY)
	Fix for GRANT parameters (Lee Kindness)

Source Code
-----------
Configure, dynamic loader, and shared library fixes (Peter E)
Watcom fixes (Bernd Tegge)
QNX fixes
Cygwin, Win32 server fixes (Jason Tishler)
Cygwin, Win32 fixes for TCL, perl, Python, PlPython, psql, libpq, libpq++ (Jason Tishler, Gerhard H?ring, Dmitry Yurtaev, Darko Prenosil, Mikhail Terekhov)
Remove SEP_CHAR (Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
Allow GIST to handle NULLs and multi-key indexes (Oleg Bartunov, Teodor 
	Sigaev, Tom)
New contrib/rtree_gist ((Oleg Bartunov, Teodor Sigaev)
Create temporary files into a separate directory (Bruce)
Delete orphanded temporary files on postmaster startup (Bruce)
Add unique index to some system tables (Tom)
New GUC hooks (Tom)
Add /contrib/dblink for remote database access (Joe Conway)
/contrib/ora2pg Oracle conversion utility (Gilles Darold)
Merge GUC and command line handling (Marko Kreen)
Remove EXTEND INDEX (Martijn van Oosterhout, Tom)
/contrib/xml XML conversion utility (John Gray)
Correct description of translate() function (Bruce)
/contrib/fulltextindex fixes (Christopher Kings-Lynne)
Fix for Win32 socket communication failures (Magnus, Mikhail Terekhov)
Hurd compile fix (Oliver Elphick)
New /contrib/fuzzystrmatch with lievnshtein and metaphone, soundex merged (Joe Conway)
Beos fixes (Cyril VELTER)
New functions in /contrib/pgcrypto: crypt(), hmac(), encrypt(), gen_salt()
  (Marko Kreen)
System table operator reorganization (Oleg Bartunov, Teodor Sigaev, Tom)
Rename config.h to pg_config.h (Peter E)
pg_log now pg_clog (Tom)
PL/Perl compile fixes (Peter E)
PL/Python now builds by default on some platforms (Peter E)
Remove define of true/false when compiling under C++ (Leandro Fanzone, Tom)
Client header reorganization (Peter E)
Please SQL language manual pages into OS-specific directories (Peter E)
Better cleanup for semaphore resource failure (Tatsuo, Tom)
Remove compile-time limit on number of backends (Tom)
Enable SIGTERM, SIGQUIT to kill backends (Jan)
New pgjindent utility to indent java code (Bruce)
Replace strcasecmp() with strcmp() where appropriate (Peter E)
Make PL/PgSQL use the backends type coersion code (Tom)
pgindent fixes, new pgjindent for java (Bruce, Tom)
Remove configure --enable-unicode-conversion, now enabled by multibyte (Tatsuo)
AIX fixes (Tatsuo, Andreas)
Allow parellel makes (Peter E)

  ------------------------------------------------------------------------
                                Release 7.1.3
  ------------------------------------------------------------------------
Bruce Momjian's avatar
Bruce Momjian committed


Release 7.1.3  (2001-08-15)

Migration to v7.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 7.1.2  (2001-05-11)

One fix from 7.1.1.

Migration to v7.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 7.1.1  (2001-05-05)

This has a variety of fixes from 7.1.

Migration to v7.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)



  ------------------------------------------------------------------------
  ------------------------------------------------------------------------
Bruce Momjian's avatar
Bruce Momjian committed
Release 7.1  (2001-04-13)
Bruce Momjian's avatar
Bruce Momjian committed

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 - Previous releases had a compiled-in row length limit,
typically 8 - 32 kB.  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
Bruce Momjian's avatar
Bruce Momjian committed
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
Bruce Momjian's avatar
Bruce Momjian committed
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.
Bruce Momjian's avatar
Bruce Momjian committed

   A dump/restore using pg_dump is required for those wishing to migrate
   data from any previous release.



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)
Bruce Momjian's avatar
Bruce Momjian committed
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)
Bruce Momjian's avatar
Bruce Momjian committed
Modify pg_dump to better handle user-defined items in template1 (Philip)
Bruce Momjian's avatar
Bruce Momjian committed
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)
Bruce Momjian's avatar
Bruce Momjian committed
Make ALTER/DROP TABLE rollback-able (Vadim, Tom)
Bruce Momjian's avatar
Bruce Momjian committed
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)
Bruce Momjian's avatar
Bruce Momjian committed

Enhancements
------------
Add OUTER JOINs (Tom)
Function manager overhaul (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
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)
Bruce Momjian's avatar
Bruce Momjian committed
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)
Bruce Momjian's avatar
Bruce Momjian committed
pg_dumpall uses CREATE USER or CREATE GROUP rather using COPY (Peter E)
Bruce Momjian's avatar
Bruce Momjian committed
Overhaul pg_dump (Philip Warner)
Bruce Momjian's avatar
Bruce Momjian committed
Allow pg_hba.conf secondary password file to specify only username (Peter E)
Bruce Momjian's avatar
Bruce Momjian committed
Allow TEMPORARY or TEMP keyword when creating temporary tables (Bruce)
New memory leak checker (Karel)
Bruce Momjian's avatar
Bruce Momjian committed
New SET SESSION CHARACTERISTICS (Thomas)
Bruce Momjian's avatar
Bruce Momjian committed
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)
Bruce Momjian's avatar
Bruce Momjian committed
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)
Bruce Momjian's avatar
Bruce Momjian committed
Allow automatic conversion to/from Unicode (Tatsuo, Eiji)
Bruce Momjian's avatar
Bruce Momjian committed
New /contrib/pgcrypto hashing functions (Marko Kreen)
Bruce Momjian's avatar
Bruce Momjian committed
New pg_dumpall --globals-only option (Peter E)
Bruce Momjian's avatar
Bruce Momjian committed
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)
Bruce Momjian's avatar
Bruce Momjian committed

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)
Bruce Momjian's avatar
Bruce Momjian committed
New BIT and BIT VARYING types (Adriaan Joubert, Tom, Peter E)
Bruce Momjian's avatar
Bruce Momjian committed
CHAR() no longer faster than VARCHAR() because of TOAST (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
New GIST seg/cube examples (Gene Selkov)
Improved round(numeric) handling (Tom)
Fix CIDR output formatting (Tom)
New CIDR abbrev() function (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
New to_char(interval, text) function (Karel)
Bruce Momjian's avatar
Bruce Momjian committed

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)
Bruce Momjian's avatar
Bruce Momjian committed
Improve memory allocation performance (Karel, Tom)

Source Code
-----------
New function manager call conventions (Tom)
SGI portability fixes (David Kaelbling)
Bruce Momjian's avatar
Bruce Momjian committed
New configure --enable-syslog option (Peter E)
Bruce Momjian's avatar
Bruce Momjian committed
New BSDI README (Bruce)
configure script moved to top level, not /src (Peter E)
Bruce Momjian's avatar
Bruce Momjian committed
Makefile/configuration/compilation overhaul (Peter E)
Bruce Momjian's avatar
Bruce Momjian committed
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)
Bruce Momjian's avatar
Bruce Momjian committed
New heap_open(), heap_openr() API (Tom)
Remove colon and semi-colon operators (Thomas)
New pg_class.relkind value for views (Mark Hollomon)
Bruce Momjian's avatar
Bruce Momjian committed
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, Tom)
Bruce Momjian's avatar
Bruce Momjian committed
New FreeBSD Alpha port (Alfred)
Overhaul shared memory segments (Tom)
Add IBM S/390 support (Neale Ferguson)
Bruce Momjian's avatar
Bruce Momjian committed
Moved macmanuf to /contrib (Larry Rosenman)
Syslog improvements (Larry Rosenman)
Bruce Momjian's avatar
Bruce Momjian committed
New template0 database that contains no user additions (Tom)
New /contrib/cube and /contrib/seg GIST sample code (Gene Selkov)
Bruce Momjian's avatar
Bruce Momjian committed
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
Bruce Momjian's avatar
Bruce Momjian committed
  ------------------------------------------------------------------------
Bruce Momjian's avatar
Bruce Momjian committed
  ------------------------------------------------------------------------

Bruce Momjian's avatar
Bruce Momjian committed

Release 7.0.3  (2000-11-11)

This has a variety of fixes from 7.0.2.

Migration to v7.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  (2000-06-05)
Bruce Momjian's avatar
Bruce Momjian committed

This is a repackaging of 7.0.1 with added documentation.

Migration to v7.0.2

A dump/restore is not required for those running 7.*.

Changes
-------
Added documentation to tarball.


Bruce Momjian's avatar
Bruce Momjian committed
  ------------------------------------------------------------------------
Bruce Momjian's avatar
Bruce Momjian committed
  ------------------------------------------------------------------------
          

Release 7.0.1  (2000-06-01)
Bruce Momjian's avatar
Bruce Momjian committed

This is basically a cleanup release for 7.0.1

Migration to v7.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)
Bruce Momjian's avatar
Bruce Momjian committed
Solaris fix for createdb/dropdb (Tatsuo)
Bruce Momjian's avatar
Bruce Momjian committed
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)
Bruce Momjian's avatar
Bruce Momjian committed
Add SJIS UDC (NEC selection IBM kanji) support (Eiji Tokuya)
Fix too long syslog message (Tatsuo)
Bruce Momjian's avatar
Bruce Momjian committed
Fix problem with quoted indexes that are too long (Tom)
JDBC ResultSet.getTimestamp() fix (Gregory Krasnow & Floyd Marinescu)
ecpg changes (Michael)
Bruce Momjian's avatar
Bruce Momjian committed

Bruce Momjian's avatar
Bruce Momjian committed
  ------------------------------------------------------------------------
Bruce Momjian's avatar
Bruce Momjian committed
  ------------------------------------------------------------------------

Release 7.0  (2000-05-08)
   This release shows the continued growth of PostgreSQL. There are more
   changes in 7.0 than in any previous release. Don't be concerned this
   is a dot-zero release. We do our best to put out only solid releases,
   and this one is no exception.
   
   
   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
          overhauled, allowing improved query execution and better
          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.
          
   Upcoming Features
          In 7.1 or 7.2, we plan to have outer joins, storage for very 
          long rows, and a write-ahead logging system.
          
Migration to v7.0
   A dump/restore using pg_dump is required for those wishing to migrate
   data from any previous release. For those upgrading from 6.5.*, you
   can use pg_upgrade to upgrade to this release.
   
Bruce Momjian's avatar
Bruce Momjian committed

Bug Fixes
---------
Prevent function calls with more than maximum number of arguments (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
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)
Bruce Momjian's avatar
Bruce Momjian committed
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 communication of system table changes to other running backends (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
Improve communication of user table modifications to other running backends (Tom)
Fix handling of temp tables in complex situations (Bruce, Tom)
Allow table locking when tables opened, 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)
Bruce Momjian's avatar
Bruce Momjian committed
Fix for SELECT ... WHERE x IN (SELECT ... HAVING SUM(x) &gt; 1) (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
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
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)
Bruce Momjian's avatar
Bruce Momjian committed
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)
Bruce Momjian's avatar
Bruce Momjian committed
Update jdbc protocol to 2.0 (<ulink url="mailto:jens@jens.de">Jens Glaser</ulink>)
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 is returned to variable with no NULL
indicator (Christof)
Allow ^C to cancel COPY command (Massimo)
Add SET FSYNC and SHOW PG_OPTIONS commands(Massimo)
Bruce Momjian's avatar
Bruce Momjian committed
Function name overloading for dynamically-loaded C functions (Frankpitt)
Add CmdTuples() to libpq++(Vince)
New CREATE CONSTRAINT TRIGGER and SET CONSTRAINTS commands(Jan)
Bruce Momjian's avatar
Bruce Momjian committed
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)
Bruce Momjian's avatar
Bruce Momjian committed
Add FOREIGN KEY ... MATCH &lt;unspecified&gt; 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)
Bruce Momjian's avatar
Bruce Momjian committed
Add DEC and SESSION_USER as reserved words (Thomas)
Require SELECT DISTINCT target list to have all ORDER BY columns (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
Add Oracle's COMMENT ON command (<ulink url="mailto:mascarim@yahoo">Mike Mascari</ulink>)
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)
Bruce Momjian's avatar
Bruce Momjian committed
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 so only Postgres superuser or table owner can
vacuum (Peter E)
Bruce Momjian's avatar
Bruce Momjian committed
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)
Bruce Momjian's avatar
Bruce Momjian committed
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)
Bruce Momjian's avatar
Bruce Momjian committed
Vacuumdb script now supports --all option (Peter E)
Bruce Momjian's avatar
Bruce Momjian committed
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)
Bruce Momjian's avatar
Bruce Momjian committed
Allow configuration of maximum number of index keys and arguments (Bruce)
Allow unprivileged users to change their passwords (Peter E)
Bruce Momjian's avatar
Bruce Momjian committed
Password authentication enabled; required for new users (Peter E)
Disallow dropping a user who owns a database (Peter E)
Bruce Momjian's avatar
Bruce Momjian committed
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)
Bruce Momjian's avatar
Bruce Momjian committed
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()
Bruce Momjian's avatar
Bruce Momjian committed
	conversion functions (Karel Zak &lt;zakkr@zf.jcu.cz&gt;)
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)
Bruce Momjian's avatar
Bruce Momjian committed
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)
Bruce Momjian's avatar
Bruce Momjian committed
Add btree indexing of boolean values, &gt;= and &lt;= (Don Baccus)
Print current line number when COPY FROM fails (Massimo)
Recognize special case of POSIX time zone: "GMT+8" and "GMT-8" (Thomas)
Add DEC as synonym for "DECIMAL" (Thomas)
Bruce Momjian's avatar
Bruce Momjian committed
Add SESSION_USER as SQL92 keyword, same as CURRENT_USER (Thomas)
Bruce Momjian's avatar
Bruce Momjian committed
Implement column aliases (aka correlation names) and join syntax (Thomas)
Allow queries like SELECT a FROM t1 tx (a) (Thomas)
Allow queries like SELECT * FROM t1 NATURAL JOIN t2 (Thomas)
Bruce Momjian's avatar
Bruce Momjian committed
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
Bruce Momjian's avatar
Bruce Momjian committed
Add ecpg descriptors (Christof, Michael)
Allow CREATE VIEW v AS SELECT f1::char(8) FROM tbl
Allow casts with length, like foo::char(8)
Bruce Momjian's avatar
Bruce Momjian committed
New libpq functions PQsetClientEncoding(), PQclientEncoding() (Tatsuo)
Add support for SJIS user defined characters (Tatsuo)
Bruce Momjian's avatar
Bruce Momjian committed
Larger views/rules supported
Make libpq's PQconndefaults() thread-safe (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
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)
Bruce Momjian's avatar
Bruce Momjian committed
SET command options no longer require quotes
Update pgaccess to 0.98.6
Bruce Momjian's avatar
Bruce Momjian committed
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)