-<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.496 2007/02/01 19:10:24 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.497 2007/02/02 00:10:23 tgl Exp $ -->
<!--
Typical markup:
<appendix id="release">
<title>Release Notes</title>
+ <sect1 id="release-8-2-2">
+ <title>Release 8.2.2</title>
+
+ <note>
+ <title>Release date</title>
+ <simpara>2007-02-05</simpara>
+ </note>
+
+ <para>
+ This release contains a variety of fixes from 8.2.1, including
+ a security fix.
+ </para>
+
+ <sect2>
+ <title>Migration to version 8.2.2</title>
+
+ <para>
+ A dump/restore is not required for those running 8.2.X.
+ </para>
+
+ </sect2>
+
+ <sect2>
+ <title>Changes</title>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Remove security vulnerabilities that allowed connected users
+ to read backend memory (Tom)
+ </para>
+ <para>
+ The vulnerabilities involve suppressing the normal check that a SQL
+ function returns the data type it's declared to, and changing the
+ data type of a table column (CVE-2007-0555, CVE-2007-0556). These
+ errors can easily be exploited to cause a backend crash, and in
+ principle might be used to read database content that the user
+ should not be able to access.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix not-so-rare-anymore bug wherein btree index page splits could fail
+ due to choosing an infeasible split point (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix Borland C compile scripts (L Bayuk)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Properly handle <function>to_char('CC')</> for years ending in
+ <literal>00</> (Tom)
+ </para>
+ <para>
+ Year 2000 is in the twentieth century, not the twenty-first.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <filename>/contrib/tsearch2</> localization improvements (Tatsuo, Teodor)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix incorrect permission check in
+ <literal>information_schema.key_column_usage</> view (Tom)
+ </para>
+ <para>
+ The symptom is <quote>relation with OID nnnnn does not exist</> errors.
+ To get this fix without using <command>initdb</>, use <command>CREATE OR
+ REPLACE VIEW</> to install the corrected definition found in
+ <filename>share/information_schema.sql</>. Note you will need to do
+ this in each database.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Improve <command>VACUUM</> performance for databases with many tables (Tom)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix for rare Assert() crash triggered by <literal>UNION</> (Tom)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix potentially incorrect results from index searches using
+ <literal>ROW</> inequality conditions (Tom)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Tighten security of multi-byte character processing for UTF8 sequences
+ over three bytes long (Tom)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix bogus <quote>permission denied</> failures occurring on Windows
+ due to attempts to fsync already-deleted files (Magnus, Tom)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix bug that could cause the statistics collector
+ to hang on Windows (Magnus)
+ </para>
+
+ <para>
+ This would in turn lead to autovacuum not working.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix possible crashes when an already-in-use PL/pgSQL function is
+ updated (Tom)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Improve PL/pgSQL handling of domain types (Sergiy Vyshnevetskiy, Tom)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix possible errors in processing PL/pgSQL exception blocks (Tom)
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect2>
+ </sect1>
+
<sect1 id="release-8-2-1">
<title>Release 8.2.1</title>
</sect2>
</sect1>
-
+
<sect1 id="release-8-2">
<title>Release 8.2</title>
</sect2>
</sect1>
+ <sect1 id="release-8-1-7">
+ <title>Release 8.1.7</title>
+
+ <note>
+ <title>Release date</title>
+ <simpara>2007-02-05</simpara>
+ </note>
+
+ <para>
+ This release contains a variety of fixes from 8.1.6, including
+ a security fix.
+ </para>
+
+ <sect2>
+ <title>Migration to version 8.1.7</title>
+
+ <para>
+ A dump/restore is not required for those running 8.1.X.
+ However, if you are upgrading from a version earlier than 8.1.2,
+ see the release notes for 8.1.2.
+ </para>
+
+ </sect2>
+
+ <sect2>
+ <title>Changes</title>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Remove security vulnerabilities that allowed connected users
+ to read backend memory (Tom)
+ </para>
+ <para>
+ The vulnerabilities involve suppressing the normal check that a SQL
+ function returns the data type it's declared to, and changing the
+ data type of a table column (CVE-2007-0555, CVE-2007-0556). These
+ errors can easily be exploited to cause a backend crash, and in
+ principle might be used to read database content that the user
+ should not be able to access.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix rare bug wherein btree index page splits could fail
+ due to choosing an infeasible split point (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Improve <command>VACUUM</> performance for databases with many tables (Tom)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix autovacuum to avoid leaving non-permanent transaction IDs in
+ non-connectable databases (Alvaro)
+ </para>
+
+ <para>
+ This bug affects the 8.1 branch only.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix for rare Assert() crash triggered by <literal>UNION</> (Tom)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Tighten security of multi-byte character processing for UTF8 sequences
+ over three bytes long (Tom)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix bogus <quote>permission denied</> failures occurring on Windows
+ due to attempts to fsync already-deleted files (Magnus, Tom)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix possible crashes when an already-in-use PL/pgSQL function is
+ updated (Tom)
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect2>
+ </sect1>
+
<sect1 id="release-8-1-6">
<title>Release 8.1.6</title>
</sect2>
</sect1>
-
+
<sect1 id="release-8-1-5">
<title>Release 8.1.5</title>
</sect2>
</sect1>
-
+
<sect1 id="release-8-1-4">
<title>Release 8.1.4</title>
</sect2>
</sect1>
-
+
<sect1 id="release-8-1-3">
<title>Release 8.1.3</title>
<para>
A dump/restore is not required for those running 8.1.X.
- However, if you are upgrading from a version earlier than 8.1.2,
+ However, if you are upgrading from a version earlier than 8.1.2,
see the release notes for 8.1.2.
</para>
</sect2>
references to custom operators or operator classes (Tom)</para></listitem>
<listitem><para>Allow <application>pg_restore</> to continue properly after a
-<command>COPY</> failure; formerly it tried to treat the remaining
+<command>COPY</> failure; formerly it tried to treat the remaining
<command>COPY</> data as SQL commands (Stephen Frost)</para></listitem>
<listitem><para>Fix <application>pg_ctl</> <literal>unregister</> crash
</sect2>
</sect1>
-
+
<sect1 id="release-8-1-2">
<title>Release 8.1.2</title>
</sect2>
</sect1>
-
+
<sect1 id="release-8-1-1">
<title>Release 8.1.1</title>
(<function>to_char(interval)</> should probably use
<literal>HH24</>.) (Bruce)</para></listitem>
-<listitem><para>AIX, HPUX, and MSVC compile fixes (Tom, Hiroshi
+<listitem><para>AIX, HPUX, and MSVC compile fixes (Tom, Hiroshi
Saito)</para></listitem>
<listitem><para>Optimizer improvements (Tom)</para></listitem>
</sect2>
</sect1>
-
+
<sect1 id="release-8-1">
<title>Release 8.1</title>
<sect2>
<title>Overview</title>
-
+
<para>
Major changes in this release:
</para>
<term>
Add two-phase commit (Heikki Linnakangas, Alvaro, Tom)
</term>
-
+
<listitem>
<para>
Two-phase commit allows transactions to be "prepared" on several
<varlistentry>
<term>
- Create a new role system that replaces users and groups
+ Create a new role system that replaces users and groups
(Stephen Frost)
</term>
</para>
<itemizedlist>
-
+
<listitem>
<para>
Have login capability (optionally)
<command>SET ROLE</> to switch to other roles she is a member of.
This feature is a generalization of the SQL standard's concept of
roles.
- This change also replaces <structname>pg_shadow</> and
- <structname>pg_group</> by new role-capable catalogs
+ This change also replaces <structname>pg_shadow</> and
+ <structname>pg_group</> by new role-capable catalogs
<structname>pg_authid</> and <structname>pg_auth_members</>. The old
tables are redefined as read-only views on the new role tables.
</para>
Automatically use indexes for <function>MIN()</> and
<function>MAX()</> (Tom)
</term>
-
+
<listitem>
<para>
In previous releases, the only way to use an index for
<function>MIN()</> or <function>MAX()</> was to rewrite the
query as <command>SELECT col FROM tab ORDER BY col LIMIT 1</>.
Index usage now happens automatically.
- </para>
+ </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
-
+
<sect2>
<title>Migration to version 8.1</title>
-
+
<para>
A dump/restore using <application>pg_dump</application> is required
for those wishing to migrate data from any previous release.
</para>
-
+
<para>
The 8.0 release announced that the <function>to_char()</> function
for intervals would be removed in 8.1. However, since no better API
treat backslashes literally in ordinary strings?
</para>
</listitem>
-
+
<listitem>
<para>
<varname>escape_string_warning</> — warn about backslashes in
</itemizedlist>
</sect2>
-
+
<sect2>
<title>Additional Changes</title>
-
+
<para>
Below you will find a detailed account of the additional changes
between <productname>PostgreSQL</productname> 8.1 and the
previous major release.
</para>
-
+
<sect3>
<title>Performance Improvements</title>
<itemizedlist>
objects after the OID counter has wrapped around (Tom)
</para>
</listitem>
-
+
<listitem>
<para>
Add warning about the need to increase
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title>Query Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
- Add temporary views (Koju Iijima, Neil)
+ Add temporary views (Koju Iijima, Neil)
</para>
</listitem>
</listitem>
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title>Object Manipulation Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
Track dependencies of shared objects (Alvaro)
<listitem>
<para>
- Allow limited <command>ALTER OWNER</> commands to be performed
+ Allow limited <command>ALTER OWNER</> commands to be performed
by the object owner (Stephen Frost)
</para>
<para>
This allows objects to be moved to different schemas.
</para>
</listitem>
-
+
<listitem>
<para>
Add <command>ALTER TABLE ENABLE/DISABLE TRIGGER</command> to
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title>Utility Command Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
Allow <command>TRUNCATE</> to truncate multiple tables in a
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title>Data Type and Function Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
Add <function>MAX()</> and <function>MIN()</> aggregates for
</para>
<para>
<itemizedlist>
-
+
<listitem>
<para>
<function>pg_tablespace_size()</>
<function>pg_size_pretty()</>
</para>
</listitem>
-
+
</itemizedlist>
</para>
<para>
</para>
<para>
<itemizedlist>
-
+
<listitem>
<para>
<function>pg_stat_file()</>
</itemizedlist>
</para>
</listitem>
-
+
<listitem>
<para>
Add <function>pg_reload_conf()</> to force reloading of the
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title>Encoding and Locale Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
Rename some encodings to be more consistent and to follow
</para>
<para>
<itemizedlist>
-
+
<listitem>
<para>
<literal>UNICODE</> is now <literal>UTF8</>
Allow the UTF8 encoding to work on Windows (Magnus)
</para>
<para>
- This is done by mapping UTF8 to the Windows-native UTF16
+ This is done by mapping UTF8 to the Windows-native UTF16
implementation.
</para>
</listitem>
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title>General Server-Side Language Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
Fix <command>ALTER LANGUAGE RENAME</> (Sergey Yatskevich)
</itemizedlist>
</sect3>
-
+
<sect3>
<title>PL/PgSQL Server-Side Language Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
Overhaul the memory management of PL/PgSQL functions (Neil)
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title>PL/Perl Server-Side Language Changes</title>
<itemizedlist>
<sect3>
<title><application>psql</> Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
Add <command>\set ON_ERROR_ROLLBACK</> to allow statements in
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title><application>pg_dump</> Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
- Add <option>-n</> / <option>--schema</> switch to
+ Add <option>-n</> / <option>--schema</> switch to
<application>pg_restore</> (Richard van den Berg)
</para>
<para>
<listitem>
<para>
- Allow <application>pg_dump</> to dump large objects even in
+ Allow <application>pg_dump</> to dump large objects even in
text mode (Tom)
</para>
<para>
<listitem>
<para>
- Allow <application>pg_dump</> to dump a consistent snapshot of
+ Allow <application>pg_dump</> to dump a consistent snapshot of
large objects (Tom)
</para>
</listitem>
<listitem>
<para>
- Add <option>--encoding</> to <application>pg_dump</>
+ Add <option>--encoding</> to <application>pg_dump</>
(Magnus Hagander)
</para>
<para>
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title><application>libpq</application> Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
Add a <envar>PGPASSFILE</> environment variable to specify the
</listitem>
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title>Source Code Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
Fix <application>pgxs</> to support building against a relocated
installation
</para>
</listitem>
-
+
<listitem>
<para>
Add spinlock support for the Itanium processor using Intel
<sect3>
<title>Contrib Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
Add <filename>/contrib/pg_buffercache</> contrib module (Mark
</para>
<itemizedlist>
-
+
<listitem>
<para>
Implementation of OpenPGP symmetric-key and public-key encryption
</itemizedlist>
</sect3>
-
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="release-8-0-11">
+ <title>Release 8.0.11</title>
+
+ <note>
+ <title>Release date</title>
+ <simpara>2007-02-05</simpara>
+ </note>
+
+ <para>
+ This release contains a variety of fixes from 8.0.10, including
+ a security fix.
+ </para>
+
+ <sect2>
+ <title>Migration to version 8.0.11</title>
+
+ <para>
+ A dump/restore is not required for those running 8.0.X. However,
+ if you are upgrading from a version earlier than 8.0.6, see the release
+ notes for 8.0.6.
+ </para>
+
+ </sect2>
+
+ <sect2>
+ <title>Changes</title>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Remove security vulnerabilities that allowed connected users
+ to read backend memory (Tom)
+ </para>
+ <para>
+ The vulnerabilities involve suppressing the normal check that a SQL
+ function returns the data type it's declared to, and changing the
+ data type of a table column (CVE-2007-0555, CVE-2007-0556). These
+ errors can easily be exploited to cause a backend crash, and in
+ principle might be used to read database content that the user
+ should not be able to access.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix rare bug wherein btree index page splits could fail
+ due to choosing an infeasible split point (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix for rare Assert() crash triggered by <literal>UNION</> (Tom)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Tighten security of multi-byte character processing for UTF8 sequences
+ over three bytes long (Tom)
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
</sect2>
</sect1>
</sect2>
</sect1>
-
+
<sect1 id="release-8-0-9">
<title>Release 8.0.9</title>
</sect2>
</sect1>
-
+
<sect1 id="release-8-0-8">
<title>Release 8.0.8</title>
</sect2>
</sect1>
-
+
<sect1 id="release-8-0-7">
<title>Release 8.0.7</title>
<sect2>
<title>Changes</title>
-
+
<itemizedlist>
<listitem><para>Fix potential crash in <command>SET
references to custom operators or operator classes (Tom)</para></listitem>
<listitem><para>Allow <application>pg_restore</> to continue properly after a
-<command>COPY</> failure; formerly it tried to treat the remaining
+<command>COPY</> failure; formerly it tried to treat the remaining
<command>COPY</> data as SQL commands (Stephen Frost)</para></listitem>
<listitem><para>Fix <application>pg_ctl</> <literal>unregister</> crash
</sect2>
</sect1>
-
+
<sect1 id="release-8-0-6">
<title>Release 8.0.6</title>
<sect2>
<title>Changes</title>
-
+
<itemizedlist>
<listitem><para>Fix Windows code so that postmaster will continue rather
</sect2>
</sect1>
-
+
<sect1 id="release-8-0-5">
<title>Release 8.0.5</title>
<sect2>
<title>Changes</title>
-
+
<itemizedlist>
<listitem><para>Fix race condition in transaction log management</para>
</sect2>
</sect1>
-
+
<sect1 id="release-8-0-4">
<title>Release 8.0.4</title>
</sect2>
</sect1>
-
+
<sect1 id="release-8-0-3">
<title>Release 8.0.3</title>
<title>Changes</title>
<itemizedlist>
-<listitem><para>Increment the major version number of all interface
+<listitem><para>Increment the major version number of all interface
libraries (Bruce)</para>
<para>
- This should have been done in 8.0.0. It is required so 7.4.X versions
+ This should have been done in 8.0.0. It is required so 7.4.X versions
of PostgreSQL client applications, like <application>psql</>,
- can be used on the same machine as 8.0.X applications. This might require
+ can be used on the same machine as 8.0.X applications. This might require
re-linking user applications that use these libraries.
</para></listitem>
<listitem><para>Add Windows-only <varname>wal_sync_method</> setting of
</para>
</listitem>
<listitem><para>Enable the <varname>wal_sync_method</> setting of
- <option>open_datasync</> on Windows, and make it the default for that
+ <option>open_datasync</> on Windows, and make it the default for that
platform (Magnus, Bruce)</para>
<para>
Because the default is no longer <option>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 <application>Device Manager</>, choose the drive properties,
+ write caching enabled. To turn off the write cache on Windows,
+ from the <application>Device Manager</>, choose the drive properties,
then <literal>Policies</>.
</para>
</listitem>
-<listitem><para>New cache management algorithm <acronym>2Q</> replaces
+<listitem><para>New cache management algorithm <acronym>2Q</> replaces
<acronym>ARC</> (Tom)</para>
<para>
- This was done to avoid a pending US patent on <acronym>ARC</>. The
- <acronym>2Q</> code might be a few percentage points slower than
+ This was done to avoid a pending US patent on <acronym>ARC</>. The
+ <acronym>2Q</> code might be a few percentage points slower than
<acronym>ARC</> for some work loads. A better cache management algorithm
will appear in 8.1.
</para></listitem>
</listitem>
<listitem><para>Allow SPI cursors to handle utility commands that return rows,
such as <command>EXPLAIN</> (Tom)</para></listitem>
-<listitem><para>Fix <command>CLUSTER</> failure after <command>ALTER TABLE
+<listitem><para>Fix <command>CLUSTER</> failure after <command>ALTER TABLE
SET WITHOUT OIDS</> (Tom)</para></listitem>
-<listitem><para>Reduce memory usage of <command>ALTER TABLE ADD COLUMN</>
+<listitem><para>Reduce memory usage of <command>ALTER TABLE ADD COLUMN</>
(Neil)</para></listitem>
<listitem><para>Fix <command>ALTER LANGUAGE RENAME</> (Tom)</para></listitem>
<listitem><para>Document the Windows-only <literal>register</> and
Windows event logger rather than standard error.
</para></listitem>
<listitem><para>Make Kerberos authentication work on Windows (Magnus)</para></listitem>
-<listitem><para>Allow <command>ALTER DATABASE RENAME</> by superusers
+<listitem><para>Allow <command>ALTER DATABASE RENAME</> by superusers
who aren't flagged as having CREATEDB privilege (Tom)</para></listitem>
<listitem><para>Modify WAL log entries for <command>CREATE</> and
<command>DROP DATABASE</> to not specify absolute paths (Tom)</para>
different database location. Note that <command>CREATE TABLESPACE</> still
poses a hazard in such situations.
</para></listitem>
-<listitem><para>Fix crash from a backend exiting with an open transaction
+<listitem><para>Fix crash from a backend exiting with an open transaction
that created a table and opened a cursor on it (Tom)</para></listitem>
-<listitem><para>Fix <function>array_map()</> so it can call PL functions
+<listitem><para>Fix <function>array_map()</> so it can call PL functions
(Tom)</para></listitem>
<listitem><para>Several <filename>contrib/tsearch2</> and
<filename>contrib/btree_gist</> fixes (Teodor)
</para></listitem>
-<listitem><para>Fix crash of some <filename>contrib/pgcrypto</>
+<listitem><para>Fix crash of some <filename>contrib/pgcrypto</>
functions on some platforms (Marko Kreen)</para></listitem>
-<listitem><para>Fix <filename>contrib/intagg</> for 64-bit platforms
+<listitem><para>Fix <filename>contrib/intagg</> for 64-bit platforms
(Tom)</para></listitem>
-<listitem><para>Fix ecpg bugs in parsing of <command>CREATE</> statement
+<listitem><para>Fix ecpg bugs in parsing of <command>CREATE</> statement
(Michael)</para></listitem>
-<listitem><para>Work around gcc bug on powerpc and amd64 causing problems in
+<listitem><para>Work around gcc bug on powerpc and amd64 causing problems in
ecpg (Christof Petig)</para></listitem>
-<listitem><para>Do not use locale-aware versions of <function>upper()</>,
+<listitem><para>Do not use locale-aware versions of <function>upper()</>,
<function>lower()</>, and <function>initcap()</> when the locale is
<literal>C</> (Bruce)</para>
<para>
for non-7-bit data when the locale is <literal>C</>.
</para></listitem>
<listitem><para>Fix <function>quote_ident()</> to quote names that match keywords (Tom)</para></listitem>
-<listitem><para>Fix <function>to_date()</> to behave reasonably when
+<listitem><para>Fix <function>to_date()</> to behave reasonably when
<literal>CC</> and <literal>YY</> fields are both used (Karel)</para></listitem>
-<listitem><para>Prevent <function>to_char(interval)</> from failing
+<listitem><para>Prevent <function>to_char(interval)</> from failing
when given a zero-month interval (Tom)</para></listitem>
<listitem><para>Fix wrong week returned by <function>date_trunc('week')</>
(Bruce)</para>
<title>Release date</title>
<simpara>2005-01-19</simpara>
</note>
-
+
<sect2>
<title>Overview</title>
-
+
<para>
Major changes in this release:
</para>
</variablelist>
</sect2>
-
+
<sect2>
<title>Migration to version 8.0</title>
-
+
<para>
A dump/restore using <application>pg_dump</application> is
required for those wishing to migrate data from any previous
release.
</para>
-
+
<para>
Observe the following incompatibilities:
</para>
-
+
<itemizedlist>
<listitem>
considered deprecated and will be removed in the next major
release.
</para>
-
+
<itemizedlist>
<listitem>
<para>
for intervals.
</para>
</listitem>
-
+
<listitem>
<para>
The server now warns of empty strings passed to
invalid input for these data types.
</para>
</listitem>
-
+
<listitem>
<para>
By default, tables in <productname>PostgreSQL</productname> 8.0
</itemizedlist>
</sect2>
-
+
<sect2>
<title>Changes</title>
-
+
<para>
Below you will find a detailed account of the changes between
release 8.0 and the previous major release.
</para>
-
+
<sect3>
<title>Performance Improvements</title>
<itemizedlist>
-
+
<listitem>
<para>
Support cross-data-type index usage (Tom)
intuitive and consistent.
</para>
</listitem>
-
+
<listitem>
<para>
New buffer replacement strategy that improves caching (Jan)
did not consider the number of times a specific cache entry was
accessed, so large table scans could force out useful cache pages.
The new cache algorithm uses four separate lists to track most
- recently used and most frequently used cache pages and dynamically
+ recently used and most frequently used cache pages and dynamically
optimize their replacement based on the work load. This should
lead to much more efficient use of the shared buffer cache.
Administrators who have tested shared buffer sizes in the past
should retest with this new cache replacement policy.
</para>
</listitem>
-
+
<listitem>
<para>
Add subprocess to write dirty buffers periodically to reduce
performance and minimize degradation during checkpoints.
</para>
</listitem>
-
+
<listitem>
<para>
Add ability to prolong vacuum to reduce performance impact (Jan)
total duration of <command>VACUUM</command>.
</para>
</listitem>
-
+
<listitem>
<para>
Improve B-tree index performance for duplicate keys (Dmitry Tkach, Tom)
values exist in the index.
</para>
</listitem>
-
+
<listitem>
<para>
Use dynamically-generated table size estimates while planning (Tom)
changed significantly since the last housekeeping command.
</para>
</listitem>
-
+
<listitem>
<para>
Improved index usage with <literal>OR</> clauses (Tom)
column is part of an <literal>OR</> clause.
</para>
</listitem>
-
+
<listitem>
<para>
Improve matching of partial index clauses (Tom)
involving complex <option>WHERE</> clauses.
</para>
</listitem>
-
+
<listitem>
<para>
Improve performance of the GEQO optimizer (Tom)
analyzed to decrease time spent in optimization.
</para>
</listitem>
-
+
<listitem>
<para>
Miscellaneous optimizer improvements
numerous special cases work better than in prior releases.
</para>
</listitem>
-
+
<listitem>
<para>
Improve lookup speed for C functions (Tom)
quickly as functions that are built into the server executable.
</para>
</listitem>
-
+
<listitem>
<para>
Add type-specific <command>ANALYZE</command> statistics
for nonstandard data types.
</para>
</listitem>
-
+
<listitem>
<para>
<command>ANALYZE</command> now collects statistics for
relevant.
</para>
</listitem>
-
+
<listitem>
<para>
New two-stage sampling method for <command>ANALYZE</command>
different in different regions of a table.
</para>
</listitem>
-
+
<listitem>
<para>
Speed up <command>TRUNCATE</command> (Tom)
keeping <command>TRUNCATE</command> transaction-safe.
</para>
</listitem>
-
+
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title>Server Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
Add WAL file archiving and point-in-time recovery (Simon Riggs)
</para>
</listitem>
-
+
<listitem>
<para>
Add tablespaces so admins can control disk layout (Gavin)
</para>
</listitem>
-
+
<listitem>
<para>
Add a built-in log rotation program (Andreas Pflug)
rotation program.
</para>
</listitem>
-
+
<listitem>
<para>
Add new read-only server configuration parameters to show server
<varname>max_identifier_length</>, <varname>max_index_keys</> (Joe)
</para>
</listitem>
-
+
<listitem>
<para>
Make quoting of <literal>sameuser</>, <literal>samegroup</>, and
<filename>pg_hba.conf</> (Andrew)
</para>
</listitem>
-
+
<listitem>
<para>
Use clearer IPv6 name <literal>::1/128</> for
<literal>localhost</> in default <filename>pg_hba.conf</> (Andrew)
</para>
</listitem>
-
+
<listitem>
<para>
Use CIDR format in <filename>pg_hba.conf</> examples (Andrew)
</para>
</listitem>
-
+
<listitem>
<para>
Rename server configuration parameters <varname>SortMem</> and
<varname>work_mem</> is for workspaces used during query execution.
</para>
</listitem>
-
+
<listitem>
<para>
Allow logging of session disconnections using server configuration
<varname>log_disconnections</> (Andrew)
</para>
</listitem>
-
+
<listitem>
<para>
Add new server configuration parameter <varname>log_line_prefix</> to
address, and session start time.
</para>
</listitem>
-
+
<listitem>
<para>
Remove server configuration parameters <varname>log_pid</>,
superseded by <varname>log_line_prefix</> (Andrew)
</para>
</listitem>
-
+
<listitem>
<para>
Replace the <varname>virtual_host</> and <varname>tcpip_socket</>
to be specified.
</para>
</listitem>
-
+
<listitem>
<para>
Listen on localhost by default, which eliminates the need for the
adjustments.
</para>
</listitem>
-
+
<listitem>
<para>
Remove <varname>syslog</> server configuration parameter, and add more
location (Magnus)
</para>
</listitem>
-
+
<listitem>
<para>
Change server configuration parameter <varname>log_statement</> to take
only data modification statements.
</para>
</listitem>
-
+
<listitem>
<para>
Some logging-related configuration parameters could formerly be adjusted
via <literal>PGOPTIONS</>.
</para>
</listitem>
-
+
<listitem>
<para>
Allow configuration files to be placed outside the data directory (mlw)
data directory, easing administration.
</para>
</listitem>
-
+
<listitem>
<para>
Plan prepared queries only when first executed so constants can be
without incurring a performance penalty.
</para>
</listitem>
-
+
<listitem>
<para>
Allow <command>DECLARE CURSOR</command> to take parameters
execution of the cursor's query.
</para>
</listitem>
-
+
<listitem>
<para>
Fix hash joins and aggregates of <type>inet</type> and
data type.)
</para>
</listitem>
-
+
<listitem>
<para>
Make <varname>log_duration</> print only when <varname>log_statement</>
prints the query (Ed L.)
</para>
</listitem>
-
+
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title>Query Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
Add savepoints (nested transactions) (Alvaro)
</para>
</listitem>
-
+
<listitem>
<para>
Unsupported isolation levels are now accepted and promoted to the
This change complies with that recommendation.
</para>
</listitem>
-
+
<listitem>
<para>
Allow <command>BEGIN WORK</command> to specify transaction
(Bruce)
</para>
</listitem>
-
+
<listitem>
<para>
Fix table permission checking for cases in which rules generate
a query type different from the originally submitted query (Tom)
</para>
</listitem>
-
+
<listitem>
<para>
- Implement dollar quoting to simplify single-quote usage (Andrew, Tom,
+ Implement dollar quoting to simplify single-quote usage (Andrew, Tom,
David Fetter)
</para>
<para>
Dollar quoting can be used anywhere quoted text is needed.
</para>
</listitem>
-
+
<listitem>
<para>
Make <literal>CASE val WHEN compval1 THEN ...</> evaluate <literal>val</> only once (Tom)
volatile.
</para>
</listitem>
-
+
<listitem>
<para>
Test <option>HAVING</> before computing target list of an
could fail with divide-by-zero.
</para>
</listitem>
-
+
<listitem>
<para>
Replace <varname>max_expr_depth</> parameter with
size (Tom)
</para>
<para>
- This gives us a fairly bulletproof defense against crashing due to
+ This gives us a fairly bulletproof defense against crashing due to
runaway recursive functions. Instead of measuring the depth of expression
nesting, we now directly measure the size of the execution stack.
</para>
</listitem>
-
+
<listitem>
<para>
Allow arbitrary row expressions (Tom)
take rows as arguments and return row values.
</para>
</listitem>
-
+
<listitem>
<para>
Allow <option>LIKE</>/<option>ILIKE</> to be used as the operator
in row and subselect comparisons (Fabien Coelho)
</para>
</listitem>
-
+
<listitem>
<para>
Avoid locale-specific case conversion of basic ASCII letters in
outside the 7-bit-ASCII set is still locale-aware.
</para>
</listitem>
-
+
<listitem>
<para>
Improve syntax error reporting (Fabien, Tom)
Syntax error reports are more useful than before.
</para>
</listitem>
-
+
<listitem>
<para>
Change <command>EXECUTE</command> to return a completion tag
returned will reflect the command executed.
</para>
</listitem>
-
+
<listitem>
<para>
Avoid emitting <option>NATURAL CROSS JOIN</> in rule listings (Tom)
decompiler formerly produced this syntax.
</para>
</listitem>
-
+
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title>Object Manipulation Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
Add <command>COMMENT ON</> for casts, conversions, languages,
operator classes, and large objects (Christopher)
</para>
</listitem>
-
+
<listitem>
<para>
Add new server configuration parameter <varname>default_with_oids</> to
will become <literal>FALSE</> in future releases.)
</para>
</listitem>
-
+
<listitem>
<para>
Add <option>WITH</> / <option>WITHOUT OIDS</> clause to
<command>CREATE TABLE AS</command> (Neil)
</para>
</listitem>
-
+
<listitem>
<para>
Allow <command>ALTER TABLE DROP COLUMN</> to drop an <type>OID</>
(Tom)
</para>
</listitem>
-
+
<listitem>
<para>
Allow composite types as table columns (Tom)
</para>
</listitem>
-
+
<listitem>
<para>
Allow <command>ALTER ... ADD COLUMN</> with defaults and
default value.
</para>
</listitem>
-
+
<listitem>
<para>
Add <command>ALTER COLUMN TYPE</> to change column's type (Rod)
and re-adding the column.
</para>
</listitem>
-
+
<listitem>
<para>
Allow multiple <command>ALTER</> actions in a single <command>ALTER
only once.
</para>
</listitem>
-
+
<listitem>
<para>
Allow <command>ALTER TABLE</command> to add <type>SERIAL</type>
columns.
</para>
</listitem>
-
+
<listitem>
<para>
Allow changing the owners of aggregates, conversions, databases,
Previously this required modifying the system tables directly.
</para>
</listitem>
-
+
<listitem>
<para>
Allow temporary object creation to be limited to <option>SECURITY
DEFINER</> functions (Sean Chittenden)
</para>
</listitem>
-
+
<listitem>
<para>
Add <option>ALTER TABLE ... SET WITHOUT CLUSTER</> (Christopher)
specification except to modify the system tables.
</para>
</listitem>
-
+
<listitem>
<para>
Constraint/Index/<type>SERIAL</> names are now
within a schema.
</para>
</listitem>
-
+
<listitem>
<para>
Add <function>pg_get_serial_sequence()</> to return a
sequence name.
</para>
</listitem>
-
+
<listitem>
<para>
Warn when primary/foreign key data type mismatch requires costly lookup
</para>
</listitem>
-
+
<listitem>
<para>
New <command>ALTER INDEX</> command to allow moving of indexes
between tablespaces (Gavin)
</para>
</listitem>
-
+
<listitem>
<para>
Make <command>ALTER TABLE OWNER</> change dependent sequence
ownership too (Alvaro)
</para>
</listitem>
-
-
+
+
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title>Utility Command Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
Allow <command>CREATE SCHEMA</command> to create triggers,
indexes, and sequences (Neil)
</para>
</listitem>
-
+
<listitem>
<para>
Add <option>ALSO</> keyword to <command>CREATE RULE</command> (Fabien
<option>INSTEAD</> rules.
</para>
</listitem>
-
+
<listitem>
<para>
Add <option>NOWAIT</> option to <command>LOCK</command> (Tatsuo)
would have to wait for the requested lock.
</para>
</listitem>
-
+
<listitem>
<para>
Allow <command>COPY</command> to read and write
comma-separated-value (CSV) files (Andrew, Bruce)
</para>
</listitem>
-
+
<listitem>
<para>
Generate error if the <command>COPY</command> delimiter and NULL
string conflict (Bruce)
</para>
</listitem>
-
+
<listitem>
<para>
<command>GRANT</command>/<command>REVOKE</command> behavior
follows the SQL spec more closely
</para>
</listitem>
-
+
<listitem>
<para>
Avoid locking conflict between <command>CREATE INDEX</command>
WAL log could not be recycled.
</para>
</listitem>
-
+
<listitem>
<para>
Database-wide <command>ANALYZE</command> does not hold locks
table.
</para>
</listitem>
-
+
<listitem>
<para>
<command>REINDEX</command> does not exclusively lock the index's
being rebuilt.
</para>
</listitem>
-
+
<listitem>
<para>
Erase MD5 user passwords when a user is renamed (Bruce)
be assigned if the user is to be able to log in with a password.
</para>
</listitem>
-
+
<listitem>
<para>
New <application>pg_ctl</> <option>kill</> option for Windows (Andrew)
backends so this capability was added to <application>pg_ctl</>.
</para>
</listitem>
-
+
<listitem>
<para>
Information schema improvements
</para>
</listitem>
-
+
<listitem>
<para>
Add <option>--pwfile</> option to
set by GUI tools (Magnus)
</para>
</listitem>
-
+
<listitem>
<para>
Detect locale/encoding mismatch in
<application>initdb</application> (Peter)
</para>
</listitem>
-
+
<listitem>
<para>
Add <option>register</> command to <application>pg_ctl</> to
register Windows operating system service (Dave Page)
</para>
</listitem>
-
+
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title>Data Type and Function Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
More complete support for composite types (row types) (Tom)
worked before.
</para>
</listitem>
-
+
<listitem>
<para>
Reject nonrectangular array values as erroneous (Joe)
surprising result.
</para>
</listitem>
-
+
<listitem>
<para>
Overflow in integer arithmetic operations is now detected (Tom)
</para>
</listitem>
-
+
<listitem>
<para>
The arithmetic operators associated with the single-byte
integer explicitly.
</para>
</listitem>
-
+
<listitem>
<para>
Syntax checking of array input values considerably tightened up (Joe)
after the closing right brace.
</para>
</listitem>
-
+
<listitem>
<para>
Empty-string array element values must now be written as
element value in some future release.
</para>
</listitem>
-
+
<listitem>
<para>
Array element trailing whitespace is now ignored (Joe)
significant. Now trailing whitespace is also ignored.
</para>
</listitem>
-
+
<listitem>
<para>
Emit array values with explicit array bounds when lower bound is not one
(Joe)
</para>
</listitem>
-
+
<listitem>
<para>
Accept <literal>YYYY-monthname-DD</> as a date string (Tom)
</para>
</listitem>
-
+
<listitem>
<para>
Make <function>netmask</> and <function>hostmask</> functions
return maximum-length mask length (Tom)
</para>
</listitem>
-
+
<listitem>
<para>
Change factorial function to return <type>numeric</type> (Gavin)
work for a wider range of input values.
</para>
</listitem>
-
+
<listitem>
<para>
<function>to_char</>/<function>to_date()</> date conversion
improvements (Kurt Roeckx, Fabien Coelho)
</para>
</listitem>
-
+
<listitem>
<para>
Make <function>length()</> disregard trailing spaces in
should not be counted by <function>length()</>.
</para>
</listitem>
-
+
<listitem>
<para>
Warn about empty string being passed to
8.1 will throw an error instead.
</para>
</listitem>
-
+
<listitem>
<para>
Allow leading or trailing whitespace in
(Neil)
</para>
</listitem>
-
+
<listitem>
<para>
Better support for IEEE <literal>Infinity</> and <literal>NaN</>
floating point arithmetic.
</para>
</listitem>
-
+
<listitem>
<para>
Add <option>week</> option to <function>date_trunc()</> (Robert Creager)
</para>
</listitem>
-
+
<listitem>
<para>
Fix <function>to_char</function> for <literal>1 BC</>
(previously it returned <literal>1 AD</>) (Bruce)
</para>
</listitem>
-
+
<listitem>
<para>
Fix <function>date_part(year)</> for BC dates (previously it
returned one less than the correct year) (Bruce)
</para>
</listitem>
-
+
<listitem>
<para>
Fix <function>date_part()</> to return the proper millennium and
reckoning of such things.
</para>
</listitem>
-
+
<listitem>
<para>
Add <function>ceiling()</> as an alias for <function>ceil()</>,
standards compliance (Neil)
</para>
</listitem>
-
+
<listitem>
<para>
Change <function>ln()</>, <function>log()</>,
specified by SQL:2003 (Neil)
</para>
</listitem>
-
+
<listitem>
<para>
Add <function>width_bucket()</> function as defined by SQL:2003 (Neil)
</para>
</listitem>
-
+
<listitem>
<para>
Add <function>generate_series()</> functions to simplify working
with numeric sets (Joe)
</para>
</listitem>
-
+
<listitem>
<para>
Fix <function>upper/lower/initcap()</> functions to work with
multibyte encodings (Tom)
</para>
</listitem>
-
+
<listitem>
<para>
Add boolean and bitwise integer <option>AND</>/<option>OR</>
aggregates (Fabien Coelho)
</para>
</listitem>
-
+
<listitem>
<para>
New session information functions to return network addresses for client
and server (Sean Chittenden)
</para>
</listitem>
-
+
<listitem>
<para>
Add function to determine the area of a closed path (Sean Chittenden)
</para>
</listitem>
-
+
<listitem>
<para>
Add function to send cancel request to other backends (Magnus)
</para>
</listitem>
-
+
<listitem>
<para>
Add <type>interval</> plus <type>datetime</> operators (Tom)
was already supported, but both are required by the SQL standard.
</para>
</listitem>
-
+
<listitem>
<para>
Casting an integer to <type>BIT(N)</> selects the rightmost N bits
to int.
</para>
</listitem>
-
+
<listitem>
<para>
Require <type>CIDR</> values to have all nonmasked bits be zero
(Kevin Brintnall)
</para>
</listitem>
-
+
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title>Server-Side Language Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
In <literal>READ COMMITTED</> serialization mode, volatile functions
beginning of the interactive command that called the function.
</para>
</listitem>
-
+
<listitem>
<para>
Functions declared <literal>STABLE</> or <literal>IMMUTABLE</> always
rather than <literal>VOLATILE</>.
</para>
</listitem>
-
+
<listitem>
<para>
Nondeferred <option>AFTER</> triggers are now fired immediately
function.
</para>
</listitem>
-
+
<listitem>
<para>
Allow function parameters to be declared with names (Dennis Björklund)
being used.
</para>
</listitem>
-
+
<listitem>
<para>
Allow PL/pgSQL parameter names to be referenced in the function (Dennis Björklund)
This basically creates an automatic alias for each named parameter.
</para>
</listitem>
-
+
<listitem>
<para>
Do minimal syntax checking of PL/pgSQL functions at creation time (Tom)
This allows us to catch simple syntax errors sooner.
</para>
</listitem>
-
+
<listitem>
<para>
More support for composite types (row and record variables) in PL/pgSQL
as a single variable.
</para>
</listitem>
-
+
<listitem>
<para>
Default values for PL/pgSQL variables can now reference previously
declared variables
</para>
</listitem>
-
+
<listitem>
<para>
Improve parsing of PL/pgSQL FOR loops (Tom)
messages when a mistake is made.
</para>
</listitem>
-
+
<listitem>
<para>
Major overhaul of PL/Perl server-side language (Command Prompt, Andrew Dunstan)
</para>
</listitem>
-
+
<listitem>
<para>
In PL/Tcl, SPI commands are now run in subtransactions. If an error
Formerly, it was not possible to catch such errors.
</para>
</listitem>
-
+
<listitem>
<para>
Accept <command>ELSEIF</> in PL/pgSQL (Neil)
are accustomed to spelling this keyword <command>ELSEIF</>.
</para>
</listitem>
-
+
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title><application>psql</> Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
Improve <application>psql</> information display about database
objects (Christopher)
</para>
</listitem>
-
+
<listitem>
<para>
Allow <application>psql</> to display group membership in
<command>\du</> and <command>\dg</> (Markus Bertheau)
</para>
</listitem>
-
+
<listitem>
<para>
Prevent <application>psql</> <command>\dn</command> from showing
temporary schemas (Bruce)
</para>
</listitem>
-
+
<listitem>
<para>
Allow <application>psql</> to handle tilde user expansion for file
names (Zach Irmen)
</para>
</listitem>
-
+
<listitem>
<para>
Allow <application>psql</> to display fancy prompts, including
color, via <application>readline</> (Reece Hart, Chet Ramey)
</para>
</listitem>
-
+
<listitem>
<para>
Make <application>psql</> <command>\copy</> match <command>COPY</command> command syntax
fully (Tom)
</para>
</listitem>
-
+
<listitem>
<para>
Show the location of syntax errors (Fabien Coelho, Tom)
</para>
</listitem>
-
+
<listitem>
<para>
Add <command>CLUSTER</command> information to <application>psql</>
(Bruce)
</para>
</listitem>
-
+
<listitem>
<para>
Change <application>psql</> <command>\copy stdin/stdout</> to read
from command input/output (Bruce)
</para>
</listitem>
-
+
<listitem>
<para>
Add <option>pstdin</>/<option>pstdout</> to read from
Feit)
</para>
</listitem>
-
+
<listitem>
<para>
Add global <application>psql</> configuration file, <filename>psqlrc.sample</filename>
be stored.
</para>
</listitem>
-
+
<listitem>
<para>
Have <application>psql</> <command>\d+</> indicate if the table
has an <type>OID</> column (Neil)
</para>
</listitem>
-
+
<listitem>
<para>
On Windows, use binary mode in <application>psql</> when reading files so control-Z
is not seen as end-of-file
</para>
</listitem>
-
+
<listitem>
<para>
Have <command>\dn+</> show permissions and description for schemas (Dennis
Björklund)
</para>
</listitem>
-
+
<listitem>
<para>
Improve tab completion support (Stefan Kaltenbrunn, Greg Sabino Mullane)
</para>
</listitem>
-
+
<listitem>
<para>
Allow boolean settings to be set using upper or lower case (Michael Paesold)
</para>
</listitem>
-
+
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title><application>pg_dump</> Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
Use dependency information to improve the reliability of
sometimes being dumped in the wrong order.
</para>
</listitem>
-
+
<listitem>
<para>
Have <application>pg_dump</> output objects in alphabetical order if possible (Tom)
dump files.
</para>
</listitem>
-
+
<listitem>
<para>
Allow <application>pg_restore</> to ignore some SQL errors (Fabien Coelho)
option to give the old behavior of exiting on an error.
</para>
</listitem>
-
+
<listitem>
<para>
<application>pg_restore</> <option>-l</> display now includes
objects' schema names
</para>
</listitem>
-
+
<listitem>
<para>
New begin/end markers in <application>pg_dump</> text output (Bruce)
</para>
</listitem>
-
+
<listitem>
<para>
Add start/stop times for
(Bruce)
</para>
</listitem>
-
+
<listitem>
<para>
Allow most <application>pg_dump</> options in
<application>pg_dumpall</> (Christopher)
</para>
</listitem>
-
+
<listitem>
<para>
Have <application>pg_dump</> use <command>ALTER OWNER</> rather
(Christopher)
</para>
</listitem>
-
+
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title>libpq Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
Make libpq's <option>SIGPIPE</> handling thread-safe (Bruce)
</para>
</listitem>
-
+
<listitem>
<para>
Add <function>PQmbdsplen()</> which returns the display length
of a character (Tatsuo)
</para>
</listitem>
-
+
<listitem>
<para>
Add thread locking to <application>SSL</> and
<application>Kerberos</> connections (Manfred Spraul)
</para>
</listitem>
-
+
<listitem>
<para>
Allow <function>PQoidValue()</>, <function>PQcmdTuples()</>, and
commands (Neil)
</para>
</listitem>
-
+
<listitem>
<para>
Add <function>PQserverVersion()</> to provide more convenient
access to the server version number (Greg Sabino Mullane)
</para>
</listitem>
-
+
<listitem>
<para>
Add <function>PQprepare/PQsendPrepared()</> functions to support
of their parameters (Abhijit Menon-Sen)
</para>
</listitem>
-
+
<listitem>
<para>
Many ECPG improvements, including <command>SET DESCRIPTOR</> (Michael)
</para>
</listitem>
-
+
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title>Source Code Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
Allow the database server to run natively on Windows (Claudio, Magnus, Andrew)
</para>
</listitem>
-
+
<listitem>
<para>
Shell script commands converted to C versions for Windows support (Andrew)
</para>
</listitem>
-
+
<listitem>
<para>
Create an extension makefile framework (Fabien Coelho, Peter)
source tree.
</para>
</listitem>
-
+
<listitem>
<para>
Support relocatable installations (Bruce)
rebuilding.
</para>
</listitem>
-
+
<listitem>
<para>
Use <option>--with-docdir</> to choose installation location of documentation; also
allow <option>--infodir</> (Peter)
</para>
</listitem>
-
+
<listitem>
<para>
Add <option>--without-docdir</> to prevent installation of documentation (Peter)
</para>
</listitem>
-
+
<listitem>
<para>
Upgrade to <application>DocBook</> V4.2 SGML (Peter)
</para>
</listitem>
-
+
<listitem>
<para>
New <literal>PostgreSQL</> <application>CVS</> tag (Marc)
repository.
</para>
</listitem>
-
+
<listitem>
<para>
Clarify locking code (Manfred Koizar)
</para>
</listitem>
-
+
<listitem>
<para>
Buffer manager cleanup (Neil)
</para>
</listitem>
-
+
<listitem>
<para>
Decouple platform tests from CPU spinlock code (Bruce, Tom)
</para>
</listitem>
-
+
<listitem>
<para>
Add inlined test-and-set code on PA-RISC for <application>gcc</>
(ViSolve, Tom)
</para>
</listitem>
-
+
<listitem>
<para>
Improve i386 spinlock code (Manfred Spraul)
</para>
</listitem>
-
+
<listitem>
<para>
Clean up spinlock assembly code to avoid warnings from newer
<application>gcc</> releases (Tom)
</para>
</listitem>
-
+
<listitem>
<para>
Remove JDBC from source tree; now a separate project
</para>
</listitem>
-
+
<listitem>
<para>
Remove the libpgtcl client interface; now a separate project
</para>
</listitem>
-
+
<listitem>
<para>
More accurately estimate memory and file descriptor usage (Tom)
</para>
</listitem>
-
+
<listitem>
<para>
Improvements to the Mac OS X startup scripts (Ray A.)
</para>
</listitem>
-
+
<listitem>
<para>
New <function>fsync()</> test program (Bruce)
</para>
</listitem>
-
+
<listitem>
<para>
Major documentation improvements (Neil, Peter)
</para>
</listitem>
-
+
<listitem>
<para>
Remove <application>pg_encoding</application>; not needed
anymore
</para>
</listitem>
-
+
<listitem>
<para>
Remove <application>pg_id</application>; not needed anymore
</para>
</listitem>
-
+
<listitem>
<para>
Remove <application>initlocation</application>; not needed
anymore
</para>
</listitem>
-
+
<listitem>
<para>
Auto-detect thread flags (no more manual testing) (Bruce)
</para>
</listitem>
-
+
<listitem>
<para>
Use Olson's public domain <application>timezone</> library (Magnus)
</para>
</listitem>
-
+
<listitem>
<para>
- With threading enabled, use thread flags on Unixware for
+ With threading enabled, use thread flags on Unixware for
backend executables too (Bruce)
</para>
<para>
same executable, so everything must be compiled as threaded.
</para>
</listitem>
-
+
<listitem>
<para>
<application>psql</> now uses a <application>flex</>-generated
lexical analyzer to process command strings
</para>
</listitem>
-
+
<listitem>
<para>
Reimplement the linked list data structure used throughout the
operations to be more efficient.
</para>
</listitem>
-
+
<listitem>
<para>
Allow dynamically loaded modules to create their own server configuration
parameters (Thomas Hallgren)
</para>
</listitem>
-
+
<listitem>
<para>
New Brazilian version of FAQ (Euler Taveira de Oliveira)
</para>
</listitem>
-
+
<listitem>
<para>
Add French FAQ (Guillaume Lelarge)
</para>
</listitem>
-
+
<listitem>
<para>
New <application>pgevent</> for Windows logging
</para>
</listitem>
-
+
<listitem>
<para>
Make libpq and ECPG build as proper shared libraries on OS X (Tom)
</para>
</listitem>
-
+
</itemizedlist>
</sect3>
-
-
+
+
<sect3>
<title>Contrib Changes</title>
<itemizedlist>
-
+
<listitem>
<para>
Overhaul of <filename>contrib/dblink</> (Joe)
</para>
</listitem>
-
+
<listitem>
<para>
<filename>contrib/dbmirror</> improvements (Steven Singer)
</para>
</listitem>
-
+
<listitem>
<para>
New <filename>contrib/xml2</> (John Gray, Torchbox)
</para>
</listitem>
-
+
<listitem>
<para>
Updated <filename>contrib/mysql</filename>
</para>
</listitem>
-
+
<listitem>
<para>
New version of <filename>contrib/btree_gist</> (Teodor)
</para>
</listitem>
-
+
<listitem>
<para>
New <filename>contrib/trgm</>, trigram matching for
<productname>PostgreSQL</productname> (Teodor)
</para>
</listitem>
-
+
<listitem>
<para>
Many <filename>contrib/tsearch2</> improvements (Teodor)
</para>
</listitem>
-
+
<listitem>
<para>
Add double metaphone to <filename>contrib/fuzzystrmatch</> (Andrew)
</para>
</listitem>
-
+
<listitem>
<para>
Allow <filename>contrib/pg_autovacuum</> to run as a Windows service (Dave Page)
</para>
</listitem>
-
+
<listitem>
<para>
Add functions to <filename>contrib/dbsize</> (Andreas Pflug)
</para>
</listitem>
-
+
<listitem>
<para>
Removed <filename>contrib/pg_logger</>: obsoleted by integrated logging
subprocess
</para>
</listitem>
-
+
<listitem>
<para>
Removed <filename>contrib/rserv</>: obsoleted by various separate projects
</para>
</listitem>
-
+
</itemizedlist>
</sect3>
-
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="release-7-4-16">
+ <title>Release 7.4.16</title>
+
+ <note>
+ <title>Release date</title>
+ <simpara>2007-02-05</simpara>
+ </note>
+
+ <para>
+ This release contains a variety of fixes from 7.4.15, including
+ a security fix.
+ </para>
+
+ <sect2>
+ <title>Migration to version 7.4.16</title>
+
+ <para>
+ A dump/restore is not required for those running 7.4.X. However,
+ if you are upgrading from a version earlier than 7.4.11, see the release
+ notes for 7.4.11.
+ </para>
+
+ </sect2>
+
+ <sect2>
+ <title>Changes</title>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Remove security vulnerability that allowed connected users
+ to read backend memory (Tom)
+ </para>
+ <para>
+ The vulnerability involves suppressing the normal check that a SQL
+ function returns the data type it's declared to, or changing the
+ data type of a table column used in a SQL function (CVE-2007-0555).
+ This error can easily be exploited to cause a backend crash, and in
+ principle might be used to read database content that the user
+ should not be able to access.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix rare bug wherein btree index page splits could fail
+ due to choosing an infeasible split point (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix for rare Assert() crash triggered by <literal>UNION</> (Tom)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Tighten security of multi-byte character processing for UTF8 sequences
+ over three bytes long (Tom)
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
</sect2>
</sect1>
</sect2>
</sect1>
-
+
<sect1 id="release-7-4-14">
<title>Release 7.4.14</title>
</sect2>
</sect1>
-
+
<sect1 id="release-7-4-13">
<title>Release 7.4.13</title>
</sect2>
</sect1>
-
+
<sect1 id="release-7-4-12">
<title>Release 7.4.12</title>
<sect2>
<title>Changes</title>
-
+
<itemizedlist>
<listitem><para>Fix potential crash in <command>SET
</sect2>
</sect1>
-
+
<sect1 id="release-7-4-11">
<title>Release 7.4.11</title>
<sect2>
<title>Changes</title>
-
+
<itemizedlist>
<listitem><para>Fix for protocol-level Describe messages issued
</sect2>
</sect1>
-
+
<sect1 id="release-7-4-10">
<title>Release 7.4.10</title>
<sect2>
<title>Changes</title>
-
+
<itemizedlist>
<listitem><para>Fix race condition in transaction log management</para>
</sect2>
</sect1>
-
+
<sect1 id="release-7-4-9">
<title>Release 7.4.9</title>
</sect2>
</sect1>
-
+
<sect1 id="release-7-4-8">
<title>Release 7.4.8</title>
<itemizedlist>
<listitem><para>Repair possible failure to update hint bits on disk</para>
<para>
-Under rare circumstances this oversight could lead to
+Under rare circumstances this oversight could lead to
<quote>could not access transaction status</> failures, which qualifies
it as a potential-data-loss bug.
</para></listitem>
<listitem><para>Fix error in COPY IN termination when using the old network protocol (ljb)</para></listitem>
<listitem><para>Several important fixes in pg_autovacuum, including fixes for
large tables, unsigned oids, stability, temp tables, and debug mode
-(Matthew T. O'Connor)</para></listitem>
+(Matthew T. O'Connor)</para></listitem>
<listitem><para>Fix problem with reading tar-format dumps on NetBSD and BSD/OS (Bruce)</para></listitem>
<listitem><para>Several JDBC fixes</para></listitem>
<listitem><para>Fix ALTER SEQUENCE RESTART where last_value equals the restart value (Tom)</para></listitem>
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:
<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 <literal>WHENEVER NOT_FOUND</> to
-<literal>SELECT/INSERT/UPDATE/DELETE</> (Michael)</para></listitem>
+<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 other ecpg fixes (Michael)</para></listitem>
<listitem><para>Fixes for Borland compiler</para></listitem>
<sect2>
<title>Migration to version 7.4</title>
-
+
<para>
A dump/restore using <application>pg_dump</application> is
required for those wishing to migrate data from any previous
release.
</para>
-
+
<para>
Observe the following incompatibilities:
</para>
</sect2>
</sect1>
+ <sect1 id="release-7-3-18">
+ <title>Release 7.3.18</title>
+
+ <note>
+ <title>Release date</title>
+ <simpara>2007-02-05</simpara>
+ </note>
+
+ <para>
+ This release contains a variety of fixes from 7.3.17, including
+ a security fix.
+ </para>
+
+ <sect2>
+ <title>Migration to version 7.3.18</title>
+
+ <para>
+ A dump/restore is not required for those running 7.3.X. However,
+ if you are upgrading from a version earlier than 7.3.13, see the release
+ notes for 7.3.13.
+ </para>
+
+ </sect2>
+
+ <sect2>
+ <title>Changes</title>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Remove security vulnerability that allowed connected users
+ to read backend memory (Tom)
+ </para>
+ <para>
+ The vulnerability involves changing the
+ data type of a table column used in a SQL function (CVE-2007-0555).
+ This error can easily be exploited to cause a backend crash, and in
+ principle might be used to read database content that the user
+ should not be able to access.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix rare bug wherein btree index page splits could fail
+ due to choosing an infeasible split point (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Tighten security of multi-byte character processing for UTF8 sequences
+ over three bytes long (Tom)
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect2>
+ </sect1>
+
<sect1 id="release-7-3-17">
<title>Release 7.3.17</title>
</sect2>
</sect1>
-
+
<sect1 id="release-7-3-16">
<title>Release 7.3.16</title>
<sect2>
<title>Changes</title>
-<itemizedlist>
+<itemizedlist>
<listitem><para>Fix corner cases in pattern matching for
<application>psql</>'s <literal>\d</> commands</para></listitem>
<listitem><para>Fix index-corrupting bugs in /contrib/ltree
</sect2>
</sect1>
-
+
<sect1 id="release-7-3-15">
<title>Release 7.3.15</title>
</sect2>
</sect1>
-
+
<sect1 id="release-7-3-14">
<title>Release 7.3.14</title>
<sect2>
<title>Changes</title>
-
+
<itemizedlist>
<listitem><para>Fix potential crash in <command>SET
</sect2>
</sect1>
-
+
<sect1 id="release-7-3-13">
<title>Release 7.3.13</title>
<sect2>
<title>Changes</title>
-
+
<itemizedlist>
<listitem><para>Fix character string comparison for locales that consider
</sect2>
</sect1>
-
+
<sect1 id="release-7-3-12">
<title>Release 7.3.12</title>
<sect2>
<title>Changes</title>
-
+
<itemizedlist>
<listitem><para>Fix race condition in transaction log management</para>
</sect2>
</sect1>
-
+
<sect1 id="release-7-3-11">
<title>Release 7.3.11</title>
<itemizedlist>
<listitem><para>Repair possible failure to update hint bits on disk</para>
<para>
-Under rare circumstances this oversight could lead to
+Under rare circumstances this oversight could lead to
<quote>could not access transaction status</> failures, which qualifies
it as a potential-data-loss bug.
</para></listitem>
</itemizedlist>
</sect2>
</sect1>
-
-
+
+
<sect1 id="release-7-3">
<title>Release 7.3</title>
<itemizedlist>
<listitem><para>Repair possible failure to update hint bits on disk</para>
<para>
-Under rare circumstances this oversight could lead to
+Under rare circumstances this oversight could lead to
<quote>could not access transaction status</> failures, which qualifies
it as a potential-data-loss bug.
</para></listitem>
</itemizedlist>
</sect2>
</sect1>
-
-
+
+
<sect1 id="release-7-2-2">
<title>Release 7.2.2</title>
</itemizedlist>
</sect2>
</sect1>
-
-
+
+
<sect1 id="release-7-2-1">
<title>Release 7.2.1</title>
<para>
The <literal>timestamp()</literal>, <literal>time()</literal>,
and <literal>interval()</literal> functions are no longer
- available. Instead of <literal>timestamp()</literal>, use
+ available. Instead of <literal>timestamp()</literal>, use
<literal>timestamp 'string'</literal> or <literal>CAST</literal>.
</para>
</listitem>
Fix for psql backslash core dump
Referential integrity privilege fix
Optimizer fixes
-pg_dump cleanups
+pg_dump cleanups
</programlisting>
</para>
</sect2>
A large number of complex queries that were
unsupported in previous releases now work. Many combinations of views,
aggregates, UNION, LIMIT, cursors, subqueries, and inherited tables
-now work properly. Inherited tables are now accessed by default.
+now work properly. Inherited tables are now accessed by default.
Subqueries in FROM are now supported.
</para>
</listitem>
Fix for INSERT INTO...SELECT where targetlist has subqueries (Tom)
Prompt username/password on standard error (Bruce)
Large objects inv_read/inv_write fixes (Tom)
-Fixes for to_char(), to_date(), to_ascii(), and to_timestamp() (Karel,
+Fixes for to_char(), to_date(), to_ascii(), and to_timestamp() (Karel,
Daniel Baldoni)
Prevent query expressions from leaking memory (Tom)
Allow UPDATE of arrays elements (Tom)
Allow PL/pgSQL accept non-ASCII identifiers (Tatsuo)
Allow views to proper handle GROUP BY, aggregates, DISTINCT (Tom)
Fix rare failure with TRUNCATE command (Tom)
-Allow UNION/INTERSECT/EXCEPT to be used with ALL, subqueries, views,
+Allow UNION/INTERSECT/EXCEPT to be used with ALL, subqueries, views,
DISTINCT, ORDER BY, SELECT...INTO (Tom)
Fix parser failures during aborted transactions (Tom)
Allow temporary relations to properly clean up indexes (Bruce)
Improve CREATE FUNCTION failure message (Ross)
JDBC improvements (Peter, Travis Bauer, Christopher Cain, William Webber,
Gunnar)
-Grand Unified Configuration scheme/GUC. Many options can now be set in
+Grand Unified Configuration scheme/GUC. Many options can now be set in
data/postgresql.conf, postmaster/postgres flags, or SET commands (Peter E)
Improved handling of file descriptor cache (Tom)
New warning code about auto-created table alias entries (Bruce)
Overhaul initdb process (Tom, Peter E)
Overhaul of inherited tables; inherited tables now accessed by default;
new ONLY key word prevents it (Chris Bitmead, Tom)
-ODBC cleanups/improvements (Nick Gorham, Stephan Szabo, Zoltan Kovacs,
+ODBC cleanups/improvements (Nick Gorham, Stephan Szabo, Zoltan Kovacs,
Michael Fork)
Allow renaming of temp tables (Tom)
Overhaul memory manager contexts (Tom)
Performance
-----------
-Write-Ahead Log (WAL) to provide crash recovery with less performance
+Write-Ahead Log (WAL) to provide crash recovery with less performance
overhead (Vadim)
ANALYZE stage of VACUUM no longer exclusively locks table (Bruce)
Reduced file seeks (Denis Perchine)
<simpara>2000-05-08</simpara>
</note>
- <para>
+ <para>
This release contains improvements in many areas, demonstrating
the continued growth of <productname>PostgreSQL</productname>.
There are more improvements and fixes in 7.0 than in any previous
A dump/restore using <application>pg_dump</application>
is required for those wishing to migrate data from any
previous release of <productname>PostgreSQL</productname>.
- For those upgrading from 6.5.*, you can instead use
+ For those upgrading from 6.5.*, you can instead use
<application>pg_upgrade</application> to upgrade to this
release; however, a full dump/reload installation is always the
most robust method for upgrades.
Added psql LASTOID variable to return last inserted oid (Peter E)
Allow concurrent vacuum and remove pg_vlock vacuum lock file (Tom)
Add privilege check for vacuum (Peter E)
-New libpq functions to allow asynchronous connections: PQconnectStart(),
- PQconnectPoll(), PQresetStart(), PQresetPoll(), PQsetenvStart(),
+New libpq functions to allow asynchronous connections: PQconnectStart(),
+ PQconnectPoll(), PQresetStart(), PQresetPoll(), PQsetenvStart(),
PQsetenvPoll(), PQsetenvAbort (Ewan Mellor)
New libpq PQsetenv() function (Ewan Mellor)
create/alter user extension (Peter E)
All administration scripts now support --long options (Peter E, Karel)
Vacuumdb script now supports --all option (Peter E)
ecpg new portable FETCH syntax
-Add ecpg EXEC SQL IFDEF, EXEC SQL IFNDEF, EXEC SQL ELSE, EXEC SQL ELIF
+Add ecpg EXEC SQL IFDEF, EXEC SQL IFNDEF, EXEC SQL ELSE, EXEC SQL ELIF
and EXEC SQL ENDIF directives
Add pg_ctl script to control backend start-up (Tatsuo)
Add postmaster.opts.default file to store start-up flags (Tatsuo)
Fix for SELECT timespan('21:11:26'::time) (Tom)
netmask('x.x.x.x/0') is 255.255.255.255 instead of 0.0.0.0 (Oleg Sharoiko)
Add btree index on NUMERIC (Jan)
-Perl fix for large objects containing NUL characters (Douglas Thomson)
+Perl fix for large objects containing NUL characters (Douglas Thomson)
ODBC fix for for large objects (free)
Fix indexing of cidr data type
Fix for Ethernet MAC addresses (macaddr type) comparisons
The <citetitle>Administrator's Guide</citetitle> has a new
chapter on troubleshooting from Tom Lane.
And the <citetitle>Programmer's Guide</citetitle> has a
- description of query processing, also from Stefan, and details
+ description of query processing, also from Stefan, and details
on obtaining the <productname>PostgreSQL</productname> source
tree via anonymous <productname>CVS</productname> and
- <productname>CVSup</productname>.
+ <productname>CVSup</productname>.
</para>
</listitem>
</varlistentry>
<para>
The new Multiversion Concurrency Control (MVCC) features can
give somewhat different behaviors in multiuser
- environments. <emphasis>Read and understand the following section
+ environments. <emphasis>Read and understand the following section
to ensure that your existing applications will give you the
behavior you need.</emphasis>
</para>
Make % operator have precedence like /(Bruce)
Add new postgres -O option to allow system table structure changes(Bruce)
Update contrib/pginterface/findoidjoins script(Tom)
-Major speedup in vacuum of deleted rows with indexes(Vadim)
+Major speedup in vacuum of deleted rows with indexes(Vadim)
Allow non-SQL functions to run different versions based on arguments(Tom)
Add -E option that shows actual queries sent by \dt and friends(Masaaki Sakaida)
Add version number in start-up banners for psql(Masaaki Sakaida)
<itemizedlist>
<listitem>
<para>
-Views and rules are now functional thanks to extensive new code in the
+Views and rules are now functional thanks to extensive new code in the
rewrite rules system from Jan Wieck. He also wrote a chapter on it
for the <citetitle>Programmer's Guide</citetitle>.
</para>
<listitem>
<para>
-Three new data types have been added.
+Three new data types have been added.
Two types, <type>inet</type> and <type>cidr</type>, support various forms
of IP network, subnet, and machine addressing. There is now an 8-byte integer
type available on some platforms. See the chapter on data types
<title>Migration to version 6.4</title>
<para>
-A dump/restore using <application>pg_dump</application>
+A dump/restore using <application>pg_dump</application>
or <application>pg_dumpall</application>
is required for those wishing to migrate data from any
previous release of <productname>PostgreSQL</productname>.
Allow psql \f \ to make spaces as delimiter(Bruce)
Pass pg_attribute.atttypmod to the frontend for column field lengths(Tom,Bruce)
Msql compatibility library in /contrib(Aldrin)
-Remove the requirement that ORDER/GROUP BY clause identifiers be
+Remove the requirement that ORDER/GROUP BY clause identifiers be
included in the target list(David)
Convert columns to match columns in UNION clauses(Thomas)
Remove fork()/exec() and only do fork()(Bruce)
</itemizedlist>
</para>
<para>
-A dump/restore is NOT required for those running 6.3 or 6.3.1. A
+A dump/restore is NOT required for those running 6.3 or 6.3.1. A
<literal>make distclean</>, <literal>make</>, and <literal>make install</> is all that is required.
This last step should be performed while the postmaster is not running.
You should re-link any custom applications that use <productname>PostgreSQL</productname> libraries.
</itemizedlist>
</para>
<para>
-A dump/restore is NOT required for those running 6.3. A
+A dump/restore is NOT required for those running 6.3. A
<literal>make distclean</>, <literal>make</>, and <literal>make install</> is all that is required.
This last step should be performed while the postmaster is not running.
You should re-link any custom applications that use <productname>PostgreSQL</productname> libraries.
<para>
User-created tables now no longer have SELECT privilege to PUBLIC by
default. This was done because the ANSI standard requires it. You can
- of course GRANT any privileges you want after the table is created.
+ of course GRANT any privileges you want after the table is created.
System tables continue to be SELECT-able by PUBLIC.
</para>
<para>
<title>Migration to version 6.3</title>
<para>
- A dump/restore using <application>pg_dump</application>
+ A dump/restore using <application>pg_dump</application>
or <application>pg_dumpall</application>
is required for those wishing to migrate data from any
previous release of <productname>PostgreSQL</productname>.
New User Manual(Thomas, others)
Speedup by inlining some frequently-called functions
Real deadlock detection, no more timeouts(Bruce)
-Add SQL92 "constants" CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP,
+Add SQL92 "constants" CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP,
CURRENT_USER(Thomas)
Modify constraint syntax to be SQL92-compliant(Thomas)
Implement SQL92 PRIMARY KEY and UNIQUE clauses using indexes(Thomas)
Remove pg_time table(Vadim)
Add pg_type attribute to identify types that need length (bpchar, varchar)
Add report of offending line when COPY command fails
-Allow VIEW privileges to be set separately from the underlying tables.
+Allow VIEW privileges to be set separately from the underlying tables.
For security, use GRANT/REVOKE on views as appropriate(Jan)
Tables now have no default GRANT SELECT TO PUBLIC. You must
explicitly grant such privileges.
</itemizedlist>
</para>
<para>
-This is a minor bug-fix release on 6.2.
-For upgrades from pre-6.2 systems, a full dump/reload is required.
+This is a minor bug-fix release on 6.2.
+For upgrades from pre-6.2 systems, a full dump/reload is required.
Refer to the 6.2 release notes for instructions.
</para>
Change time function names to be more consistent(Michael Reifenberg)
Check for zero divides(Michael Reifenberg)
Fix very old bug which made rows changed/inserted by a command
- visible to the command itself (so we had multiple update of
+ visible to the command itself (so we had multiple update of
updated rows, etc.)(Vadim)
Fix for SELECT null, 'fail' FROM pg_am (Patrick)
SELECT NULL as EMPTY_FIELD now allowed(Patrick)
Remove un-needed signal stuff from contrib/pginterface
Fix OR (where x != 1 or x isnull didn't return rows with x NULL) (Vadim)
Fix time_cmp function (Vadim)
-Fix handling of functions with non-attribute first argument in
+Fix handling of functions with non-attribute first argument in
WHERE clauses (Vadim)
Fix GROUP BY when order of entries is different from order
in target list (Vadim)
pg_password utility
Return number of rows inserted/affected by INSERT/UPDATE/DELETE etc.(Vadim)
Triggers implemented with CREATE TRIGGER (SQL3)(Vadim)
-SPI (Server Programming Interface) allows execution of queries inside
+SPI (Server Programming Interface) allows execution of queries inside
C-functions (Vadim)
NOT NULL implemented (SQL92)(Robson Paniago de Miranda)
Include reserved words for string handling, outer joins, and unions(Thomas)
------------
attribute optimization statistics(Bruce)
much faster new btree bulk load code(Paul)
-BTREE UNIQUE added to bulk load code(Vadim)
+BTREE UNIQUE added to bulk load code(Vadim)
new lock debug code(Massimo)
massive changes to libpg++(Leo)
new GEQO optimizer speeds table multitable optimization(Martin)
</para>
<!--
Contributors (apologies to any missed)
- * Kurt J. Lidl <lidl@va.pubnix.com>
+ * Kurt J. Lidl <lidl@va.pubnix.com>
(missed in first run, but no less important)
* Erich Stamberger <eberger@gewi.kfunigraz.ac.at>
* Jason Wright <jason@shiloh.vnet.net>
<para>
The following notes are for the benefit of users who want to migrate
-databases from <productname>Postgres95</> 1.0 to <productname>Postgres95</> 1.01.
+databases from <productname>Postgres95</> 1.0 to <productname>Postgres95</> 1.01.
</para>
<para>
If you are starting afresh with <productname>Postgres95</> 1.01 and do not need
</para>
<para>
In order to <productname>Postgres95</> version 1.01 with databases created with
-<productname>Postgres95</> version 1.0, the following steps are required:
+<productname>Postgres95</> version 1.0, the following steps are required:
</para>
<procedure>
<step>
</step>
<step>
<para>
-Decide whether you want to use Host based authentication.
+Decide whether you want to use Host based authentication.
</para>
<substeps>
<step>
<step>
<para>
Before doing anything else, terminate your 1.0 postmaster, and
- backup your existing <envar>$PGDATA</envar> directory.
+ backup your existing <envar>$PGDATA</envar> directory.
</para>
</step>
<step>
<para>
Add the new built-in functions and operators of 1.01 to 1.0
databases. This is done by running the new 1.01 server against
- your own 1.0 database and applying the queries attached and saving
+ your own 1.0 database and applying the queries attached and saving
in the file 1.0_to_1.01.sql. This can be done easily through <command>psql</command>.
If your 1.0 database is name <literal>testdb</literal>:
is not desired, comment out HBA=1 in src/Makefile.global.
* changed regex handling to be uniform use of Henry Spencer's regex code
regardless of platform. The regex code is included in the distribution
- * added functions and operators for case-insensitive regular expressions.
+ * added functions and operators for case-insensitive regular expressions.
The operators are ~* and !~*.
* pg_dump uses COPY instead of SELECT loop for better performance
Bug fixes:
- * fixed an optimizer bug that was causing core dumps when
+ * fixed an optimizer bug that was causing core dumps when
functions calls were used in comparisons in the WHERE clause
* changed all uses of getuid to geteuid so that effective uids are used
* psql now returns non-zero status on errors when using -c
Enhancements:
* sql LIKE syntax has been added
* copy command now takes an optional USING DELIMITER specification.
- delimiters can be any single-character string.
+ delimiters can be any single-character string.
* IRIX 5.3 port has been added.
Thanks to Paul Walmsley and others.
* updated pg_dump to work with new libpq
- * \d has been added psql
+ * \d has been added psql
Thanks to Keith Parks
* regexp performance for architectures that use POSIX regex has been
improved due to caching of precompiled patterns.
integer, int -> int4
float, real -> float4
char(N) and varchar(N) are implemented as truncated text types. In
- addition, char(N) does blank-padding.
+ addition, char(N) does blank-padding.
* single-quote (') is used for quoting string literals; '' (in addition to
\') is supported as means of inserting a single quote in a string
* SQL standard aggregate names (MAX, MIN, AVG, SUM, COUNT) are used
(Also, aggregates can now be overloaded, i.e. you can define your
own MAX aggregate to take in a user-defined type.)
- * CHANGE ACL removed. GRANT/REVOKE syntax added.
+ * CHANGE ACL removed. GRANT/REVOKE syntax added.
- Privileges can be given to a group using the "GROUP" key word.
For example:
GRANT SELECT ON foobar TO GROUP my_group;
- The key word 'PUBLIC' is also supported to mean all users.
+ The key word 'PUBLIC' is also supported to mean all users.
Privileges can only be granted or revoked to one user or group
- at a time.
+ at a time.
"WITH GRANT OPTION" is not supported. Only class owners can change
access control
- The default access control is to to grant users readonly access.
You must explicitly grant insert/update access to users. To change
- this, modify the line in
- src/backend/utils/acl.h
- that defines ACL_WORLD_DEFAULT
+ this, modify the line in
+ src/backend/utils/acl.h
+ that defines ACL_WORLD_DEFAULT
Bug fixes:
* the bug where aggregates of empty tables were not run has been fixed. Now,
aggregates run on empty tables will return the initial conditions of the
aggregates. Thus, COUNT of an empty table will now properly return 0.
- MAX/MIN of an empty table will return a row of value NULL.
+ MAX/MIN of an empty table will return a row of value NULL.
* allow the use of \; inside the monitor
* the LISTEN/NOTIFY asynchronous notification mechanism now work
* NOTIFY in rule action bodies now work
* WARN and NOTICE messages no longer have timestamps on them. To turn on
timestamps of error messages, uncomment the line in
src/backend/utils/elog.h:
- /* define ELOG_TIMESTAMPS */
+ /* define ELOG_TIMESTAMPS */
* On an access control violation, the message
"Either no such class or insufficient privilege"
will be given. This is the same message that is returned when
Portability enhancements and New Ports:
* flex/lex problems have been cleared up. Now, you should be able to use
flex instead of lex on any platforms. We no longer make assumptions of
- what lexer you use based on the platform you use.
- * The Linux-ELF port is now supported. Various configuration have been
+ what lexer you use based on the platform you use.
+ * The Linux-ELF port is now supported. Various configuration have been
tested: The following configuration is known to work:
kernel 1.2.10, gcc 2.6.3, libc 4.7.2, flex 2.5.2, bison 1.24
with everything in ELF format,
Incompatible changes:
* The SQL statement for creating a database is 'CREATE DATABASE' instead
of 'CREATEDB'. Similarly, dropping a database is 'DROP DATABASE' instead
- of 'DESTROYDB'. However, the names of the executables 'createdb' and
+ of 'DESTROYDB'. However, the names of the executables 'createdb' and
'destroydb' remain the same.
-
+
New tools:
* pgperl - a Perl (4.036) interface to Postgres95
* pg_dump - a utility for dumping out a postgres database into a
The following bugs have been fixed in postgres95-beta-0.02:
* new lines not escaped in COPY OUT and problem with COPY OUT when first
- attribute is a '.'
+ attribute is a '.'
* cannot type return to use the default user id in createuser
* SELECT DISTINCT on big tables crashes
* Linux installation problems