Some editorial work on 7.4.2 release notes.

This commit is contained in:
Tom Lane 2004-03-07 22:07:56 +00:00
parent bab4269b95
commit 0bdce30f6b
2 changed files with 652 additions and 500 deletions

276
HISTORY
View File

@ -3,43 +3,107 @@
Release 7.4.2
Release date: 2004-03-??
Release date: 2004-03-08
This release contains a variety of fixes from 7.4.1.
_________________________________________________________________
Migration to version 7.4.2
Migration to version 7.4.2
A dump/restore is *not* required for those running 7.4.X.
A dump/restore is not required for those running 7.4.X. However, it
may be advisable as the easiest method of incorporating fixes for two
errors that have been found in the initial contents of 7.4.X system
catalogs. A dump/initdb/reload sequence using 7.4.2's initdb will
automatically correct these problems.
The more severe of the two errors is that data type anyarray has the
wrong alignment label; this is a problem because the pg_statistic
system catalog uses anyarray columns. The mislabeling can cause
planner misestimations and even crashes when planning queries that
involve WHERE clauses on double-aligned columns (such as float8 and
timestamp). It is strongly recommended that all installations repair
this error, either by initdb or by following the manual repair
procedure given below.
The lesser error is that the system view pg_settings ought to be
marked as having public update access, to allow UPDATE pg_settings to
be used as a substitute for "SET". This can also be fixed either by
initdb or manually, but it is not necessary to fix unless you want to
use UPDATE pg_settings.
If you wish not to do an initdb, the following procedure will work for
fixing pg_statistic. As the database superuser, do:
-- clear out old data in pg_statistic:
DELETE FROM pg_statistic;
VACUUM pg_statistic;
-- this should update 1 row:
UPDATE pg_type SET typalign = 'd' WHERE oid = 2277;
-- this should update 6 rows:
UPDATE pg_attribute SET attalign = 'd' WHERE atttypid = 2277;
--
-- At this point you MUST start a fresh backend to avoid a crash!
--
-- repopulate pg_statistic:
ANALYZE;
This can be done in a live database, but beware that all backends
running in the altered database must be restarted before it is safe to
repopulate pg_statistic.
To repair the pg_settings error, simply do:
GRANT SELECT, UPDATE ON pg_settings TO PUBLIC;
The above procedures must be carried out in *each* database of an
installation, including template1, and ideally including template0 as
well. If you do not fix the template databases then any subsequently
created databases will contain the same errors. template1 can be fixed
in the same way as any other database, but fixing template0 requires
additional steps. First, from any database issue
UPDATE pg_database SET datallowconn = true WHERE datname = 'template0';
Next connect to template0 and perform the above repair procedures.
Finally, do
-- re-freeze template0:
VACUUM FREEZE;
-- and protect it against future alterations:
UPDATE pg_database SET datallowconn = false WHERE datname = 'template0';
_________________________________________________________________
Changes
Changes
As of 2004-03-02
Release 7.4.2 incorporates all the fixes included in release 7.3.6,
plus the following fixes:
* Fix problems with ALTER TABLE during concurrent access (Tom)
* Improve hash build reliability (Tom)
* Fix statistics alignment bug that could affect optimizer, initdb
required (Tom)
* Optimizer improvements (Tom)
* Permission fix for view updates (Tom)
* Allow non-super users to update pg_settings (Tom)
* Fix for multibyte handling in position() (Korea PostgreSQL Users'
Group)
* Various multibyte fixes
* Fix problem with hitting open file limit, especially on OS X (Tom)
* Have pg_dump set client encoding on restore (Tom)
* Fix pg_statistics alignment bug that could crash optimizer
See above for details about this problem.
* Allow non-super users to update pg_settings
* Fix several optimizer bugs, most of which led to "variable not
found in subplan target lists" errors
* Avoid out-of-memory failure during startup of large multiple index
scan
* Fix multibyte problem that could lead to "out of memory" error
during "COPY IN"
* Fix problems with "SELECT INTO" / "CREATE TABLE AS" from tables
without OIDs
* Fix problems with "alter_table" regression test during parallel
testing
* Fix problems with hitting open file limit, especially on OS X
(Tom)
* Partial fix for Turkish-locale issues
initdb will succeed now in Turkish locale, but there are still
some inconveniences associated with the i/I problem.
* Make pg_dump set client encoding on restore
* Other minor pg_dump fixes
* Allow ecpg to again use C keywords as column names (Michael)
* Added ecpg WHENEVER NOT_FOUND to SELECT/INSERT/UPDATE/DELETE
(Michael)
* Fix ecpg crash for queries calling set-returning functions
(Michael)
* Various ecpg fixes (Michael)
* Various other ecpg fixes (Michael)
* Fixes for Borland compiler
* Thread build improvements (Bruce)
* Fix for configure --disable-shared support (Tom)
* Various build fixes
* Various jdbc fixes
* Various other build fixes
* Various JDBC fixes
_________________________________________________________________
Release 7.4.1
@ -49,7 +113,7 @@ Changes
This release contains a variety of fixes from 7.4.
_________________________________________________________________
Migration to version 7.4.1
Migration to version 7.4.1
A dump/restore is *not* required for those running 7.4.
@ -64,7 +128,7 @@ DROP SCHEMA information_schema CASCADE;
Substitute your installation path in the second command.
_________________________________________________________________
Changes
Changes
* Fixed bug in "CREATE SCHEMA" parsing in ECPG (Michael)
* Fix compile error when "--enable-thread-safety" and "--with-perl"
@ -127,7 +191,7 @@ Changes
Release date: 2003-11-17
_________________________________________________________________
Overview
Overview
Major changes in this release:
@ -228,7 +292,7 @@ Overview
more like fully-supported data types.
_________________________________________________________________
Migration to version 7.4
Migration to version 7.4
A dump/restore using pg_dump is required for those wishing to migrate
data from any previous release.
@ -292,7 +356,7 @@ Migration to version 7.4
adjacent to operators.
_________________________________________________________________
Changes
Changes
Below you will find a detailed account of the changes between release
7.4 and the previous major release.
@ -895,12 +959,12 @@ Contrib Changes
This release contains a variety of fixes from 7.3.5.
_________________________________________________________________
Migration to version 7.3.6
Migration to version 7.3.6
A dump/restore is *not* required for those running 7.3.*.
_________________________________________________________________
Changes
Changes
* Revert erroneous changes in rule permissions checking
A patch applied in 7.3.3 to fix a corner case in rule permissions
@ -938,12 +1002,12 @@ Changes
This has a variety of fixes from 7.3.4.
_________________________________________________________________
Migration to version 7.3.5
Migration to version 7.3.5
A dump/restore is *not* required for those running 7.3.*.
_________________________________________________________________
Changes
Changes
* Force zero_damaged_pages to be on during recovery from WAL
* Prevent some obscure cases of "variable not in subplan target
@ -985,12 +1049,12 @@ Changes
This has a variety of fixes from 7.3.3.
_________________________________________________________________
Migration to version 7.3.4
Migration to version 7.3.4
A dump/restore is *not* required for those running 7.3.*.
_________________________________________________________________
Changes
Changes
* Repair breakage in timestamp-to-date conversion for dates before
2000
@ -1012,12 +1076,12 @@ Changes
This release contains a variety of fixes for version 7.3.2.
_________________________________________________________________
Migration to version 7.3.3
Migration to version 7.3.3
A dump/restore is *not* required for those running version 7.3.*.
_________________________________________________________________
Changes
Changes
* Repair sometimes-incorrect computation of StartUpID after a crash
* Avoid slowness with lots of deferred triggers in one transaction
@ -1135,12 +1199,12 @@ Changes
This release contains a variety of fixes for version 7.3.1.
_________________________________________________________________
Migration to version 7.3.2
Migration to version 7.3.2
A dump/restore is *not* required for those running version 7.3.*.
_________________________________________________________________
Changes
Changes
* Restore creation of OID column in CREATE TABLE AS / SELECT INTO
* Fix pg_dump core dump when dumping views having comments
@ -1191,7 +1255,7 @@ Changes
This release contains a variety of fixes for version 7.3.
_________________________________________________________________
Migration to version 7.3.1
Migration to version 7.3.1
A dump/restore is *not* required for those running version 7.3.
However, it should be noted that the main PostgreSQL interface
@ -1199,7 +1263,7 @@ Migration to version 7.3.1
may require recompilation of client code in certain cases.
_________________________________________________________________
Changes
Changes
* Fix a core dump of COPY TO when client/server encodings don't
match (Tom)
@ -1227,7 +1291,7 @@ Changes
Release date: 2002-11-27
_________________________________________________________________
Overview
Overview
Major changes in this release:
@ -1282,7 +1346,7 @@ Overview
result types.
_________________________________________________________________
Migration to version 7.3
Migration to version 7.3
A dump/restore using pg_dump is required for those wishing to migrate
data from any previous release. If your application examines the
@ -1317,7 +1381,7 @@ Migration to version 7.3
integer field. Formerly, it was silently interpreted as 0.
_________________________________________________________________
Changes
Changes
Server Operation
@ -1775,12 +1839,12 @@ Contrib
fixes to prevent possible data loss.
_________________________________________________________________
Migration to version 7.2.4
Migration to version 7.2.4
A dump/restore is *not* required for those running version 7.2.*.
_________________________________________________________________
Changes
Changes
* Fix some additional cases of VACUUM "No one parent tuple was
found" error
@ -1806,12 +1870,12 @@ Changes
fixes to prevent possible data loss.
_________________________________________________________________
Migration to version 7.2.3
Migration to version 7.2.3
A dump/restore is *not* required for those running version 7.2.*.
_________________________________________________________________
Changes
Changes
* Prevent possible compressed transaction log loss (Tom)
* Prevent non-superuser from increasing most recent vacuum info
@ -1829,12 +1893,12 @@ Changes
This release contains a variety of fixes for version 7.2.1.
_________________________________________________________________
Migration to version 7.2.2
Migration to version 7.2.2
A dump/restore is *not* required for those running version 7.2.*.
_________________________________________________________________
Changes
Changes
* Allow EXECUTE of "CREATE TABLE AS ... SELECT" in PL/pgSQL (Tom)
* Fix for compressed transaction log id wraparound (Tom)
@ -1860,12 +1924,12 @@ Changes
This release contains a variety of fixes for version 7.2.
_________________________________________________________________
Migration to version 7.2.1
Migration to version 7.2.1
A dump/restore is *not* required for those running version 7.2.
_________________________________________________________________
Changes
Changes
* Ensure that sequence counters do not go backwards after a crash
(Tom)
@ -1895,7 +1959,7 @@ Changes
Release date: 2002-02-04
_________________________________________________________________
Overview
Overview
This release improves PostgreSQL for use in high-volume applications.
@ -1933,7 +1997,7 @@ Overview
languages.
_________________________________________________________________
Migration to version 7.2
Migration to version 7.2
A dump/restore using "pg_dump" is required for those wishing to
migrate data from any previous release.
@ -1962,7 +2026,7 @@ Migration to version 7.2
clauses, e.g. LIMIT 10 OFFSET 20.
_________________________________________________________________
Changes
Changes
Server Operation
@ -2361,12 +2425,12 @@ Contrib
Release date: 2001-08-15
_________________________________________________________________
Migration to version 7.1.3
Migration to version 7.1.3
A dump/restore is *not* required for those running 7.1.X.
_________________________________________________________________
Changes
Changes
Remove unused WAL segements of large transactions (Tom)
Multiaction rule fix (Tom)
@ -2388,12 +2452,12 @@ Cygwin build (Jason Tishler)
This has one fix from 7.1.1.
_________________________________________________________________
Migration to version 7.1.2
Migration to version 7.1.2
A dump/restore is *not* required for those running 7.1.X.
_________________________________________________________________
Changes
Changes
Fix PL/pgSQL SELECTs when returning no rows
Fix for psql backslash core dump
@ -2410,12 +2474,12 @@ pg_dump cleanups
This has a variety of fixes from 7.1.
_________________________________________________________________
Migration to version 7.1.1
Migration to version 7.1.1
A dump/restore is *not* required for those running 7.1.
_________________________________________________________________
Changes
Changes
Fix for numeric MODULO operator (Tom)
pg_dump fixes (Philip)
@ -2478,13 +2542,13 @@ Python fixes (Darcy)
default. Subqueries in FROM are now supported.
_________________________________________________________________
Migration to version 7.1
Migration to version 7.1
A dump/restore using pg_dump is required for those wishing to migrate
data from any previous release.
_________________________________________________________________
Changes
Changes
Bug Fixes
---------
@ -2681,12 +2745,12 @@ New FreeBSD tools ipc_check, start-scripts/freebsd
This has a variety of fixes from 7.0.2.
_________________________________________________________________
Migration to version 7.0.3
Migration to version 7.0.3
A dump/restore is *not* required for those running 7.0.*.
_________________________________________________________________
Changes
Changes
Jdbc fixes (Peter)
Large object fix (Tom)
@ -2737,12 +2801,12 @@ Fix for crash of backend, on abort (Tom)
This is a repackaging of 7.0.1 with added documentation.
_________________________________________________________________
Migration to version 7.0.2
Migration to version 7.0.2
A dump/restore is *not* required for those running 7.*.
_________________________________________________________________
Changes
Changes
Added documentation to tarball.
@ -2755,12 +2819,12 @@ Added documentation to tarball.
This is a cleanup release for 7.0.
_________________________________________________________________
Migration to version 7.0.1
Migration to version 7.0.1
A dump/restore is *not* required for those running 7.0.
_________________________________________________________________
Changes
Changes
Fix many CLUSTER failures (Tom)
Allow ALTER TABLE RENAME works on indexes (Tom)
@ -2821,7 +2885,7 @@ ecpg changes (Michael)
are available, as are column correlation names.
_________________________________________________________________
Migration to version 7.0
Migration to version 7.0
A dump/restore using pg_dump is required for those wishing to migrate
data from any previous release of PostgreSQL. For those upgrading from
@ -2852,7 +2916,7 @@ Migration to version 7.0
geometric types.
_________________________________________________________________
Changes
Changes
Bug Fixes
---------
@ -3185,12 +3249,12 @@ New multibyte encodings
PgAccess that was missing in 6.5.2, and installed an NT-specific fix.
_________________________________________________________________
Migration to version 6.5.3
Migration to version 6.5.3
A dump/restore is *not* required for those running 6.5.*.
_________________________________________________________________
Changes
Changes
Updated version of pgaccess 0.98
NT-specific patch
@ -3206,12 +3270,12 @@ Fix dumping rules on inherited tables
of problems reported by 6.5.1 users.
_________________________________________________________________
Migration to version 6.5.2
Migration to version 6.5.2
A dump/restore is *not* required for those running 6.5.*.
_________________________________________________________________
Changes
Changes
subselect+CASE fixes(Tom)
Add SHLIB_LINK setting for solaris_i386 and solaris_sparc ports(Daren Sefcik)
@ -3250,12 +3314,12 @@ Updated version of pgaccess 0.98
of problems reported by 6.5 users.
_________________________________________________________________
Migration to version 6.5.1
Migration to version 6.5.1
A dump/restore is *not* required for those running 6.5.
_________________________________________________________________
Changes
Changes
Add NT README file
Portability fixes for linux_ppc, IRIX, linux_alpha, OpenBSD, alpha
@ -3353,7 +3417,7 @@ Add Win1250 (Czech) support (Pavel Behal)
CVSup.
_________________________________________________________________
Migration to version 6.5
Migration to version 6.5
A dump/restore using pg_dump is required for those wishing to migrate
data from any previous release of PostgreSQL. pg_upgrade can *not* be
@ -3399,7 +3463,7 @@ Multiversion Concurrency Control
referential integrity will be implemented.
_________________________________________________________________
Changes
Changes
Bug Fixes
---------
@ -3576,12 +3640,12 @@ New install commands for plpgsql(Jan)
additional bug fix.
_________________________________________________________________
Migration to version 6.4.2
Migration to version 6.4.2
A dump/restore is *not* required for those running 6.4.*.
_________________________________________________________________
Changes
Changes
Fix for datetime constant problem on some platforms(Thomas)
_________________________________________________________________
@ -3594,12 +3658,12 @@ Fix for datetime constant problem on some platforms(Thomas)
of problems reported by 6.4 users.
_________________________________________________________________
Migration to version 6.4.1
Migration to version 6.4.1
A dump/restore is *not* required for those running 6.4.
_________________________________________________________________
Changes
Changes
Add pg_dump -N flag to force double quotes around identifiers. This is
the default(Thomas)
@ -3672,13 +3736,13 @@ Upgrade to PyGreSQL 2.2(D'Arcy)
it has ever been.
_________________________________________________________________
Migration to version 6.4
Migration to version 6.4
A dump/restore using pg_dump or pg_dumpall is required for those
wishing to migrate data from any previous release of PostgreSQL.
_________________________________________________________________
Changes
Changes
Bug Fixes
---------
@ -3901,7 +3965,7 @@ new Makefile.shlib for shared library configuration(Tom)
migration instructions for version 6.3.
_________________________________________________________________
Changes
Changes
Configure detection improvements for tcl/tk(Brook Milligan, Alvin)
Manual page improvements(Bruce)
@ -3944,7 +4008,7 @@ ASSERT fixes(Bruce)
migration instructions for version 6.3.
_________________________________________________________________
Changes
Changes
ecpg cleanup/fixes, now version 1.1(Michael Meskes)
pg_user cleanup(Bruce)
@ -4057,13 +4121,13 @@ Better identify tcl and tk libs and includes(Bruce)
using are no longer needed.
_________________________________________________________________
Migration to version 6.3
Migration to version 6.3
A dump/restore using pg_dump or pg_dumpall is required for those
wishing to migrate data from any previous release of PostgreSQL.
_________________________________________________________________
Changes
Changes
Bug Fixes
---------
@ -4251,7 +4315,7 @@ Remove un-needed malloc() calls and replace with palloc()(Bruce)
notes for instructions.
_________________________________________________________________
Migration from version 6.2 to version 6.2.1
Migration from version 6.2 to version 6.2.1
This is a minor bug-fix release. A dump/reload is not required from
version 6.2, but is required from any release prior to 6.2.
@ -4269,7 +4333,7 @@ Migration from version 6.2 to version 6.2.1
template1.
_________________________________________________________________
Changes
Changes
Allow TIME and TYPE column names(Thomas)
Allow larger range of true/false as boolean values(Thomas)
@ -4293,7 +4357,7 @@ Trigger function for inserting user names for INSERT/UPDATE(Brook Milligan)
previous releases of PostgreSQL.
_________________________________________________________________
Migration from version 6.1 to version 6.2
Migration from version 6.1 to version 6.2
This migration requires a complete dump of the 6.1 database and a
restore of the database in 6.2.
@ -4302,13 +4366,13 @@ Migration from version 6.1 to version 6.2
used to dump the 6.1 database.
_________________________________________________________________
Migration from version 1.x to version 6.2
Migration from version 1.x to version 6.2
Those migrating from earlier 1.* releases should first upgrade to 1.09
because the COPY output format was improved from the 1.02 release.
_________________________________________________________________
Changes
Changes
Bug Fixes
---------
@ -4429,14 +4493,14 @@ SPI and Trigger programming guides (Vadim & D'Arcy)
Release date: 1997-07-22
_________________________________________________________________
Migration from version 6.1 to version 6.1.1
Migration from version 6.1 to version 6.1.1
This is a minor bug-fix release. A dump/reload is not required from
version 6.1, but is required from any release prior to 6.1. Refer to
the release notes for 6.1 for more details.
_________________________________________________________________
Changes
Changes
fix for SET with options (Thomas)
allow pg_dump/pg_dumpall to preserve ownership of all tables/objects(Bruce)
@ -4497,7 +4561,7 @@ pg_dumpall now returns proper status, portability fix(Bruce)
on my test machine (Linux/gcc/i686).
_________________________________________________________________
Migration to version 6.1
Migration to version 6.1
This migration requires a complete dump of the 6.0 database and a
restore of the database in 6.1.
@ -4506,7 +4570,7 @@ Migration to version 6.1
because the COPY output format was improved from the 1.02 release.
_________________________________________________________________
Changes
Changes
Bug Fixes
---------
@ -4612,19 +4676,19 @@ DG/UX, Ultrix, IRIX, AIX portability fixes
previous releases of PostgreSQL.
_________________________________________________________________
Migration from version 1.09 to version 6.0
Migration from version 1.09 to version 6.0
This migration requires a complete dump of the 1.09 database and a
restore of the database in 6.0.
_________________________________________________________________
Migration from pre-1.09 to version 6.0
Migration from pre-1.09 to version 6.0
Those migrating from earlier 1.* releases should first upgrade to 1.09
because the COPY output format was improved from the 1.02 release.
_________________________________________________________________
Changes
Changes
Bug Fixes
---------
@ -4747,7 +4811,7 @@ Unused/uninialized variables corrected
Release date: 1996-08-01
_________________________________________________________________
Migration from version 1.02 to version 1.02.1
Migration from version 1.02 to version 1.02.1
Here is a new migration file for 1.02.1. It includes the 'copy' change
and a script to convert old ASCII files.
@ -4775,7 +4839,7 @@ Migration from version 1.02 to version 1.02.1
present in 1.02. This is not a cause for concern.
_________________________________________________________________
Dump/Reload Procedure
Dump/Reload Procedure
If you are trying to reload a pg_dump or text-mode, copy tablename to
stdout generated with a previous version, you will need to run the
@ -4799,7 +4863,7 @@ create operator !~* (leftarg = varchar, rightarg = text, procedure = texticrege
xne);
_________________________________________________________________
Changes
Changes
Source code maintenance and development
* worldwide team of volunteers
@ -4833,7 +4897,7 @@ New Ports
Release date: 1996-02-23
_________________________________________________________________
Migration from version 1.0 to version 1.01
Migration from version 1.0 to version 1.01
The following notes are for the benefit of users who want to migrate
databases from Postgres95 1.0 to Postgres95 1.01.
@ -4923,7 +4987,7 @@ create operator !~* (leftarg = text, rightarg = text, procedure = texticregexne
);
_________________________________________________________________
Changes
Changes
Incompatibilities:
* 1.01 is backwards compatible with 1.0 database provided the user
@ -4964,7 +5028,7 @@ Bug fixes:
Release date: 1995-09-05
_________________________________________________________________
Changes
Changes
Copyright change:
* The copyright of Postgres 1.0 has been loosened to be freely modifiable
@ -5012,7 +5076,7 @@ Bug fixes:
Release date: 1995-07-21
_________________________________________________________________
Changes
Changes
Incompatible changes:
* BETA-0.3 IS INCOMPATIBLE WITH DATABASES CREATED WITH PREVIOUS VERSIONS
@ -5126,7 +5190,7 @@ New documentation:
Release date: 1995-05-25
_________________________________________________________________
Changes
Changes
Incompatible changes:
* The SQL statement for creating a database is 'CREATE DATABASE' instead

View File

@ -1,5 +1,5 @@
<!--
$PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.257 2004/03/05 19:51:56 momjian Exp $
$PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.258 2004/03/07 22:07:56 tgl Exp $
-->
<appendix id="release">
@ -10,7 +10,7 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.257 2004/03/05 19:51:56 momjian
<note>
<title>Release date</title>
<simpara>2004-03-??</simpara>
<simpara>2004-03-08</simpara>
</note>
<para>
@ -22,37 +22,125 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.257 2004/03/05 19:51:56 momjian
<title>Migration to version 7.4.2</title>
<para>
A dump/restore is <emphasis>not</emphasis> required for those
running 7.4.X.
A dump/restore is not required for those running 7.4.X. However,
it may be advisable as the easiest method of incorporating fixes for
two errors that have been found in the initial contents of 7.4.X system
catalogs. A dump/initdb/reload sequence using 7.4.2's initdb will
automatically correct these problems.
</para>
<para>
The more severe of the two errors is that data type <type>anyarray</>
has the wrong alignment label; this is a problem because the
<structname>pg_statistic</> system catalog uses <type>anyarray</>
columns. The mislabeling can cause planner misestimations and even
crashes when planning queries that involve <literal>WHERE</> clauses on
double-aligned columns (such as <type>float8</> and <type>timestamp</>).
It is strongly recommended that all installations repair this error,
either by initdb or by following the manual repair procedure given
below.
</para>
<para>
The lesser error is that the system view <structname>pg_settings</>
ought to be marked as having public update access, to allow
<literal>UPDATE pg_settings</> to be used as a substitute for
<command>SET</>. This can also be fixed either by initdb or manually,
but it is not necessary to fix unless you want to use <literal>UPDATE
pg_settings</>.
</para>
<para>
If you wish not to do an initdb, the following procedure will work
for fixing <structname>pg_statistic</>. As the database superuser,
do:
<programlisting>
-- clear out old data in pg_statistic:
DELETE FROM pg_statistic;
VACUUM pg_statistic;
-- this should update 1 row:
UPDATE pg_type SET typalign = 'd' WHERE oid = 2277;
-- this should update 6 rows:
UPDATE pg_attribute SET attalign = 'd' WHERE atttypid = 2277;
--
-- At this point you MUST start a fresh backend to avoid a crash!
--
-- repopulate pg_statistic:
ANALYZE;
</programlisting>
This can be done in a live database, but beware that all backends
running in the altered database must be restarted before it is safe to
repopulate <structname>pg_statistic</>.
</para>
<para>
To repair the <structname>pg_settings</> error, simply do:
<programlisting>
GRANT SELECT, UPDATE ON pg_settings TO PUBLIC;
</programlisting>
</para>
<para>
The above procedures must be carried out in <emphasis>each</> database
of an installation, including <literal>template1</>, and ideally
including <literal>template0</> as well. If you do not fix the
template databases then any subsequently created databases will contain
the same errors. <literal>template1</> can be fixed in the same way
as any other database, but fixing <literal>template0</> requires
additional steps. First, from any database issue
<programlisting>
UPDATE pg_database SET datallowconn = true WHERE datname = 'template0';
</programlisting>
Next connect to <literal>template0</> and perform the above repair
procedures. Finally, do
<programlisting>
-- re-freeze template0:
VACUUM FREEZE;
-- and protect it against future alterations:
UPDATE pg_database SET datallowconn = false WHERE datname = 'template0';
</programlisting>
</para>
</sect2>
<sect2>
<title>Changes</title>
<para>As of 2004-03-02</para>
<para>
Release 7.4.2 incorporates all the fixes included in release 7.3.6,
plus the following fixes:
</para>
<itemizedlist>
<listitem><para>Fix problems with ALTER TABLE during concurrent access (Tom)</para></listitem>
<listitem><para>Improve hash build reliability (Tom)</para></listitem>
<listitem><para>Fix statistics alignment bug that could affect optimizer, initdb required (Tom)</para></listitem>
<listitem><para>Optimizer improvements (Tom)</para></listitem>
<listitem><para>Permission fix for view updates (Tom)</para></listitem>
<listitem><para>Allow non-super users to update pg_settings (Tom)</para></listitem>
<listitem><para>Fix for multibyte handling in position() (Korea PostgreSQL Users' Group)</para></listitem>
<listitem><para>Various multibyte fixes</para></listitem>
<listitem><para>Fix problem with hitting open file limit, especially on OS X (Tom)</para></listitem>
<listitem><para>Have pg_dump set client encoding on restore (Tom)</para></listitem>
<listitem><para>Fix <structname>pg_statistics</> alignment bug that could crash optimizer</para>
<para>See above for details about this problem.</para></listitem>
<listitem><para>Allow non-super users to update <structname>pg_settings</></para></listitem>
<listitem><para>Fix several optimizer bugs, most of which led to
<quote>variable not found in subplan target lists</> errors</para></listitem>
<listitem><para>Avoid out-of-memory failure during startup of large multiple
index scan</para></listitem>
<listitem><para>Fix multibyte problem that could lead to <quote>out of
memory</> error during <command>COPY IN</></para></listitem>
<listitem><para>Fix problems with <command>SELECT INTO</> / <command>CREATE
TABLE AS</> from tables without OIDs</para></listitem>
<listitem><para>Fix problems with <filename>alter_table</> regression test
during parallel testing</para></listitem>
<listitem><para>Fix problems with hitting open file limit, especially on OS X (Tom)</para></listitem>
<listitem><para>Partial fix for Turkish-locale issues</para>
<para>initdb will succeed now in Turkish locale, but there are still some
inconveniences associated with the <literal>i/I</> problem.</para></listitem>
<listitem><para>Make pg_dump set client encoding on restore</para></listitem>
<listitem><para>Other minor pg_dump fixes</para></listitem>
<listitem><para>Allow ecpg to again use C keywords as column names (Michael)</para></listitem>
<listitem><para>Added ecpg WHENEVER NOT_FOUND to SELECT/INSERT/UPDATE/DELETE (Michael)</para></listitem>
<listitem><para>Added ecpg <literal>WHENEVER NOT_FOUND</> to
<literal>SELECT/INSERT/UPDATE/DELETE</> (Michael)</para></listitem>
<listitem><para>Fix ecpg crash for queries calling set-returning functions (Michael)</para></listitem>
<listitem><para>Various ecpg fixes (Michael)</para></listitem>
<listitem><para>Various other ecpg fixes (Michael)</para></listitem>
<listitem><para>Fixes for Borland compiler</para></listitem>
<listitem><para>Thread build improvements (Bruce)</para></listitem>
<listitem><para>Fix for configure --disable-shared support (Tom)</para></listitem>
<listitem><para>Various build fixes</para></listitem>
<listitem><para>Various jdbc fixes</para></listitem>
<listitem><para>Various other build fixes</para></listitem>
<listitem><para>Various JDBC fixes</para></listitem>
</itemizedlist>
</sect2>