Release 8.0.2
PostgreSQL 9.3.25 Documentation | ||||
---|---|---|---|---|
Prev | Up | Appendix E. Release Notes | Next |
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.222 .
E.220.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.220.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 of fsync_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 from fsync on other platforms.
-
Enable the wal_sync_method setting of open_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, then Policies .
-
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 handle UPDATE 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 after ALTER TABLE SET WITHOUT OIDS (Tom)
-
Reduce memory usage of ALTER TABLE ADD COLUMN (Neil)
-
Fix ALTER LANGUAGE RENAME (Tom)
-
Document the Windows-only register and unregister 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 to eventlog (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 and DROP 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 and contrib/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 is C (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 when CC and YY 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 in INET data types (Tom)