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()
, and initcap()
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)