E.271. Release 8.0.2
Release date: 2005-04-07
This release contains a variety of fixes from 8.0.1. For information about new features in the 8.0 major release, see Section E.273 .
E.271.1. Migration to Version 8.0.2
A dump/restore is not required for those running 8.0.*. This release updates the major version number of the PostgreSQL libraries, so it might be necessary to re-link some user applications if they cannot find the properly-numbered shared library.
E.271.2. Changes
-
Increment the major version number of all interface libraries (Bruce)
This should have been done in 8.0.0. It is required so 7.4.X versions of PostgreSQL client applications, like psql , can be used on the same machine as 8.0.X applications. This might require re-linking user applications that use these libraries.
-
Add Windows-only
wal_sync_method
setting offsync_writethrough
(Magnus, Bruce)This setting causes PostgreSQL to write through any disk-drive write cache when writing to WAL. This behavior was formerly called
fsync
, but was renamed because it acts quite differently fromfsync
on other platforms. -
Enable the
wal_sync_method
setting ofopen_datasync
on Windows, and make it the default for that platform (Magnus, Bruce)Because the default is no longer
fsync_writethrough
, data loss is possible during a power failure if the disk drive has write caching enabled. To turn off the write cache on Windows, from the Device Manager , choose the drive properties, thenPolicies
. -
New cache management algorithm 2Q replaces ARC (Tom)
This was done to avoid a pending US patent on ARC . The 2Q code might be a few percentage points slower than ARC for some work loads. A better cache management algorithm will appear in 8.1.
-
Planner adjustments to improve behavior on freshly-created tables (Tom)
-
Allow plpgsql to assign to an element of an array that is initially
NULL
(Tom)Formerly the array would remain
NULL
, but now it becomes a single-element array. The main SQL engine was changed to handleUPDATE
of a null array value this way in 8.0, but the similar case in plpgsql was overlooked. -
Convert
\r\n
and\r
to\n
in plpython function bodies (Michael Fuhr)This prevents syntax errors when plpython code is written on a Windows or Mac client.
-
Allow SPI cursors to handle utility commands that return rows, such as
EXPLAIN
(Tom) -
Fix
CLUSTER
failure afterALTER TABLE SET WITHOUT OIDS
(Tom) -
Reduce memory usage of
ALTER TABLE ADD COLUMN
(Neil) -
Fix
ALTER LANGUAGE RENAME
(Tom) -
Document the Windows-only
register
andunregister
options of pg_ctl (Magnus) -
Ensure operations done during backend shutdown are counted by statistics collector
This is expected to resolve reports of pg_autovacuum not vacuuming the system catalogs often enough - it was not being told about catalog deletions caused by temporary table removal during backend exit.
-
Change the Windows default for configuration parameter
log_destination
toeventlog
(Magnus)By default, a server running on Windows will now send log output to the Windows event logger rather than standard error.
-
Make Kerberos authentication work on Windows (Magnus)
-
Allow
ALTER DATABASE RENAME
by superusers who aren't flagged as having CREATEDB privilege (Tom) -
Modify WAL log entries for
CREATE
andDROP DATABASE
to not specify absolute paths (Tom)This allows point-in-time recovery on a different machine with possibly different database location. Note that
CREATE TABLESPACE
still poses a hazard in such situations. -
Fix crash from a backend exiting with an open transaction that created a table and opened a cursor on it (Tom)
-
Fix
array_map()
so it can call PL functions (Tom) -
Several
contrib/tsearch2
andcontrib/btree_gist
fixes (Teodor) -
Fix crash of some
contrib/pgcrypto
functions on some platforms (Marko Kreen) -
Fix
contrib/intagg
for 64-bit platforms (Tom) -
Fix ecpg bugs in parsing of
CREATE
statement (Michael) -
Work around gcc bug on powerpc and amd64 causing problems in ecpg (Christof Petig)
-
Do not use locale-aware versions of
upper()
,lower()
, andinitcap()
when the locale isC
(Bruce)This allows these functions to work on platforms that generate errors for non-7-bit data when the locale is
C
. -
Fix
quote_ident()
to quote names that match keywords (Tom) -
Fix
to_date()
to behave reasonably whenCC
andYY
fields are both used (Karel) -
Prevent
to_char(interval)
from failing when given a zero-month interval (Tom) -
Fix wrong week returned by
date_trunc('week')
(Bruce)date_trunc('week')
returned the wrong year for the first few days of January in some years. -
Use the correct default mask length for class
D
addresses inINET
data types (Tom)