Newer
Older
Fix memory leak in rtree (Kenneth Been)
Modify a few error messages for consistency (Bruce)
Remove unused system table columns (Peter)
Make system columns NOT NULL where appropriate (Tom)
Clean up use of sprintf in favor of snprintf() (Neil, Jukka Holappa)
Remove OPAQUE and create specific subtypes (Tom)
Cleanups in array internal handling (Joe, Tom)
Disallow pg_atoi('') (Bruce)
Remove parameter wal_files because WAL files are now recycled (Bruce)
Add version numbers to heap pages (Tom)
_________________________________________________________________
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
Allow inet arrays in /contrib/array (Neil)
Gist fixes (Teodor Sigaev, Neil)
Upgrade /contrib/mysql
Add /contrib/dbsize which shows table sizes without vacuum (Peter)
Add /contrib/intagg, integer aggregator routines (mlw)
Improve /contrib/oid2name (Neil, Bruce)
Improve /contrib/tsearch (Oleg, Teodor Sigaev)
Cleanups of /contrib/rserver (Alexey V. Borzov)
Update /contrib/oracle conversion utility (Gilles Darold)
Update /contrib/dblink (Joe)
Improve options supported by /contrib/vacuumlo (Mario Weilguni)
Improvements to /contrib/intarray (Oleg, Teodor Sigaev, Andrey
Oktyabrski)
Add /contrib/reindexdb utility (Shaun Thomas)
Add indexing to /contrib/isbn_issn (Dan Weston)
Add /contrib/dbmirror (Steven Singer)
Improve /contrib/pgbench (Neil)
Add /contrib/tablefunc table function examples (Joe)
Add /contrib/ltree data type for tree structures (Teodor Sigaev,
Oleg Bartunov)
Move /contrib/pg_controldata, pg_resetxlog into main tree (Bruce)
Fixes to /contrib/cube (Bruno Wolff)
Improve /contrib/fulltextindex (Christopher)
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
_________________________________________________________________
Release 7.2.4
Release date: 2003-01-30
This has a variety of fixes from 7.2.3, including fixes to prevent
possible data loss.
_________________________________________________________________
Migration to version 7.2.4
A dump/restore is *not* required for those running 7.2.X.
_________________________________________________________________
Changes
Fix some additional cases of VACUUM "No one parent tuple was found"
error
Prevent VACUUM from being called inside a function (Bruce)
Ensure pg_clog updates are sync'd to disk before marking checkpoint
complete
Avoid integer overflow during large hash joins
Make GROUP commands work when pg_group.grolist is large enough
to be toasted
Fix errors in datetime tables; some timezone names weren't being
recognized
Fix integer overflows in circle_poly(), path_encode(), path_add()
(Neil)
Repair long-standing logic errors in lseg_eq(), lseg_ne(), lseg_center()
_________________________________________________________________
This has a variety of fixes from 7.2.2, including fixes to prevent
possible data loss.
_________________________________________________________________
Migration to version 7.2.3
A dump/restore is *not* required for those running 7.2.X.
_________________________________________________________________
Changes
Prevent possible compressed transaction log loss (Tom)
Prevent non-superuser from increasing most recent vacuum info (Tom)
Handle pre-1970 date values in newer versions of glibc (Tom)
Fix possible hang during server shutdown
Prevent spinlock hangs on SMP PPC machines (Tomoyuki Niijima)
Fix pg_dump to properly dump FULL JOIN USING (Tom)
_________________________________________________________________
This has a variety of fixes from 7.2.1.
_________________________________________________________________
Migration to version 7.2.2
A dump/restore is *not* required for those running 7.2.X.
_________________________________________________________________
Changes
Allow EXECUTE of "CREATE TABLE AS ... SELECT" in PL/pgSQL (Tom)
Fix for compressed transaction log id wraparound (Tom)
Fix PQescapeBytea/PQunescapeBytea so that they handle bytes > 0x7f (Ta
tsuo)
Fix for psql and pg_dump crashing when invoked with non-existand long
options (Tatsuo)
Fix crash when invoking geometric operators (Tom)
Allow OPEN cursor(args) (Tom)
Fix for rtree_gist index build (Teodor)
Fix for dumping user-defined aggregates (Tom)
Contrib/intarray fixes (Oleg)
Fix for complex UNION/EXCEPT/INTERSECT queries using parens (Tom)
Fix to pg_convert (Tatsuo)
Fix for crash with long DATA strings (Thomes, Neil)
Fix for repeat(), lpad(), rpad() and long strings (Neil)
_________________________________________________________________
_________________________________________________________________
Migration to version 7.2.1
A dump/restore is *not* required for those running 7.2.
_________________________________________________________________
Changes
Ensure that sequence counters do not go backwards after a crash (Tom)
Fix pgaccess kanji-coversion key binding (Tatsuo)
Optimizer improvements (Tom)
New Russian FAQ
Compile fix for missing AuthBlockSig (Heiko)
Additional time zones and time zone fixes (Thomas)
Allow psql \connect to handle mixed case database and user names (Tom)
Return proper OID on command completion even with ON INSERT rules (Tom
)
Allow COPY FROM to use 8-bit DELIMITERS (Tatsuo)
Fix bug in extract/date_part for milliseconds/microseconds (Tatsuo)
Improve handling of multiple UNIONs with different lengths (Tom)
contrib/btree_gist improvements (Teodor Sigaev)
contrib/tsearch dictionary improvements, see README.tsearch for
an additional installation step (Thomas T. Thai, Teodor Sigaev)
Fix for array subscripts handling (Tom)
Allow EXECUTE of "CREATE TABLE AS ... SELECT" in PL/pgSQL (Tom)
_________________________________________________________________
Release date: 2002-02-04
_________________________________________________________________
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.
OIDs
OIDs are now optional. Users can now create tables without OIDs
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 timestamp(), time(), and interval() functions are no longer
available. Instead of timestamp(), use timestamp 'string' or CAST.
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
Create temporary files in a separate directory (Bruce)
Delete orphaned temporary files on postmaster startup (Bruce)
Added unique indexes to some system tables (Tom)
System table operator reorganization (Oleg Bartunov, Teodor Sigaev, To
m)
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 OIDs 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)
_________________________________________________________________
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)
_________________________________________________________________
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)
_________________________________________________________________
Fork postmaster before doing authentication to prevent hangs (Peter E)
Add ident authentication over Unix domain sockets on Linux, *BSD (Helg
e 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)
_________________________________________________________________
Interpretation of some time zone abbreviations as Australian rather th
an 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)
_________________________________________________________________
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 (Marti
jn van Oosterhout)
Fix problem with LIMIT and subqueries (Tom)
Fix for LIMIT, DISTINCT ON pushed into subqueries (Tom)
Fix nested EXCEPT/INTERSECT (Tom)
_________________________________________________________________
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 K
ings-Lynne)
New CREATE OR REPLACE FUNCTION to alter existing function (preserving
the function OID) (Gavin Sherry)
Add ALTER TABLE / ADD [ UNIQUE | PRIMARY ] (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 (Bre
nt 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)
_________________________________________________________________
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 availab
le 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 whe
n appropriate (Martijn van Oosterhout)
Fix permission checks for CREATE INDEX (Tom)
Disallow inappropriate use of CREATE/DROP INDEX/TRIGGER/VIEW (Tom)
_________________________________________________________________
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 (Tats
uo)
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 byte
a 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 coercion logic to attempt binary-compatible functions firs
t (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_sal
t() (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 close
d 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)
Some datatype() function calls now evaluated differently
Add support for Julian and ISO time specifications (Thomas)
_________________________________________________________________
National language support in psql, pg_dump, libpq, and server (Peter E
)
Message translations in Chinese (simplified, traditional), Czech, Fren
ch, German, Hungarian, Russian, Swedish (Peter E, Serguei A. Mokhov, K
arel 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)
_________________________________________________________________
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 (Br
uce)
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)
_________________________________________________________________
New untrusted PL/Perl (Alex Pilosov)
PL/Perl is now built on some platforms even if libperl is not shared (
Peter E)
_________________________________________________________________
Now reports errorInfo (Vsevolod Lobko)
Add spi_lastoid function (bob@redivi.com)
_________________________________________________________________
...is new (Andrew Bosma)
_________________________________________________________________
\d displays indexes in unique, primary groupings (Christopher Kings-Ly
nne)
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)
_________________________________________________________________
New function PQescapeString() to escape quotes in command strings (Flo
rian Weimer)
New function PQescapeBytea() escapes binary strings for use as SQL str
ing literals
_________________________________________________________________
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 Davie
s)
DatabaseMetaData.getColumns() performance improvement (Jeroen van Vian
en)
Some JDBC1 and JDBC2 merging (Anders Bengtsson)
Transaction performance improvements (Barry Lind)
Array fixes (Greg Zoller)
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)
_________________________________________________________________
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)
_________________________________________________________________
EXECUTE ... INTO implemented (Christof Petig)
Multiple row descriptor support (e.g. CARDINALITY) (Christof Petig)
Fix for GRANT parameters (Lee Kindness)
Fix INITIALLY DEFERRED bug
Various bug fixes (Michael, Christof Petig)
Auto allocation for indicator variable arrays (int *ind_p=NULL)
Auto allocation for string arrays (char **foo_pp=NULL)
ECPGfree_auto_mem fixed
All function names with external linkage are now prefixed by ECPG
Fixes for arrays of structures (Michael)
_________________________________________________________________
Python fix fetchone() (Gerhard Haring)
Use UTF, Unicode in Tcl where appropriate (Vsevolod Lobko, Reinhard Ma
x)
Add Tcl COPY TO/FROM (ljb)
Prevent output of default index op class in pg_dump (Tom)
Fix libpgeasy memory leak (Bruce)
_________________________________________________________________
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)
_________________________________________________________________
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)
Add 'volatile' usage in spinlock structures
Improve signal handling logic (Tom)
_________________________________________________________________
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 merg
ed (Joe Conway)
Add contrib/intarray boolean queries, binary search, fixes (Oleg Bartu
nov)
New pg_upgrade utility (Bruce)
Add new pg_resetxlog options (Bruce, Tom)
_________________________________________________________________
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 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 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 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 null values
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
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
Bug Fixes
---------
Many multibyte/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/MacOS X 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 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
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
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 multibyte 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 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.
_________________________________________________________________