E.276. Release 8.0.4
Release date: 2005-10-04
This release contains a variety of fixes from 8.0.3. For information about new features in the 8.0 major release, see Section E.280 .
E.276.1. Migration to Version 8.0.4
A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.3, see Section E.277 .
E.276.2. Changes
- 
     
Fix error that allowed
VACUUMto removectidchains too soon, and add more checking in code that followsctidlinksThis fixes a long-standing problem that could cause crashes in very rare circumstances.
 - 
     
Fix
CHAR()to properly pad spaces to the specified length when using a multiple-byte character set (Yoshiyuki Asaba)In prior releases, the padding of
CHAR()was incorrect because it only padded to the specified number of bytes without considering how many characters were stored. - 
     
Force a checkpoint before committing
CREATE DATABASEThis should fix recent reports of " index is not a btree " failures when a crash occurs shortly after
CREATE DATABASE. - 
     
Fix the sense of the test for read-only transaction in
COPYThe code formerly prohibited
COPY TO, where it should prohibitCOPY FROM. - 
     
Handle consecutive embedded newlines in
COPYCSV-mode input - 
     
Fix
date_trunc(week)for dates near year end - 
     
Fix planning problem with outer-join ON clauses that reference only the inner-side relation
 - 
     
Further fixes for
x FULL JOIN y ON truecorner cases - 
     
Fix overenthusiastic optimization of
x IN (SELECT DISTINCT ...)and related cases - 
     
Fix mis-planning of queries with small
LIMITvalues due to poorly thought out " fuzzy " cost comparison - 
     
Make
array_inandarray_recvmore paranoid about validating their OID parameter - 
     
Fix missing rows in queries like
UPDATE a=... WHERE a...with GiST index on columna - 
     
Improve robustness of datetime parsing
 - 
     
Improve checking for partially-written WAL pages
 - 
     
Improve robustness of signal handling when SSL is enabled
 - 
     
Improve MIPS and M68K spinlock code
 - 
     
Don't try to open more than
max_files_per_processfiles during postmaster startup - 
     
Various memory leakage fixes
 - 
     
Various portability improvements
 - 
     
Update timezone data files
 - 
     
Improve handling of DLL load failures on Windows
 - 
     
Improve random-number generation on Windows
 - 
     
Make
psql -f filenamereturn a nonzero exit code when opening the file fails - 
     
Change pg_dump to handle inherited check constraints more reliably
 - 
     
Fix password prompting in pg_restore on Windows
 - 
     
Fix PL/pgSQL to handle
var := varcorrectly when the variable is of pass-by-reference type - 
     
Fix PL/Perl
%_SHAREDso it's actually shared - 
     
Fix
contrib/pg_autovacuumto allow sleep intervals over 2000 sec - 
     
Update
contrib/tsearch2to use current Snowball code