1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-18 17:41:14 +03:00
This commit is contained in:
Bruce Momjian 2007-09-11 17:19:15 +00:00
parent 92cb599bd6
commit 465ae004ce

View File

@ -1,10 +1,92 @@
<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.235.2.55 2007/09/11 17:19:15 momjian Exp $ -->
<!-- <!--
$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.235.2.54 2007/04/20 03:28:05 tgl Exp $
Typical markup:
&<> use & escapes
[A-Z][A-Z ]+[A-Z] <command>
[A-Za-z_][A-Za-z0-9_]+() <function>
[A-Za-z_]/[A-Za-z_]+ <filename>
PostgreSQL <productname>
pg_[A-Za-z0-9_] <application>
[A-Z][A-Z] <type>, <envar>, <literal>
non-ASCII characters convert to HTML4 entity (&) escapes
official: http://www.w3.org/TR/html4/sgml/entities.html
one page: http://www.zipcon.net/~swhite/docs/computers/browsers/entities_page.html
other lists: http://www.zipcon.net/~swhite/docs/computers/browsers/entities.html
http://www.zipcon.net/~swhite/docs/computers/browsers/entities_page.html
http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references
we cannot use UTF8 because SGML Docbook
does not support it
http://www.pemberley.com/janeinfo/latin1.html#latexta
wrap long lines
For new features, add links to the documentation sections. Use </link>
so that perl can remove it so HISTORY.html can be created with no
links to the main documentation. This was added only in 8.2, so don't
do it for earlier branch release files.
--> -->
<appendix id="release"> <appendix id="release">
<title>Release Notes</title> <title>Release Notes</title>
<sect1 id="release-7-4-18">
<title>Release 7.4.18</title>
<note>
<title>Release date</title>
<simpara>2007-09-17</simpara>
</note>
<para>
This release contains fixes from 7.4.17.
</para>
<sect2>
<title>Migration to version 7.4.18</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>
Fix excessively <acronym>SSL</> log error messages (Tom)
</para>
</listitem>
<listitem>
<para>
Allow <command>CREATE DOMAIN ... DEFAULT NULL</> (Tom)
</para>
</listitem>
<listitem>
<para>
Require non-superusers who use <filename>/contrib/dblink</> to use only password
authentication, as a security measure (Joe)
</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="release-7-4-17"> <sect1 id="release-7-4-17">
<title>Release 7.4.17</title> <title>Release 7.4.17</title>
@ -206,11 +288,13 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.235.2.54 2007/04/20 03:28:
<para> <para>
<function>to_number()</> and <function>to_char(numeric)</> <function>to_number()</> and <function>to_char(numeric)</>
are now <literal>STABLE</>, not <literal>IMMUTABLE</>, for are now <literal>STABLE</>, not <literal>IMMUTABLE</>, for
new <application>initdb</> installs (Tom) new <link linkend="APP-INITDB"><application>initdb</></link>
installs (Tom)
</para> </para>
<para> <para>
This is because <literal>lc_numeric</> can potentially This is because <link
linkend="guc-lc-numeric"><varname>lc_numeric</></link> can potentially
change the output of these functions. change the output of these functions.
</para> </para>
</listitem> </listitem>
@ -299,7 +383,7 @@ ANYARRAY</para></listitem>
<para> <para>
Full security against the SQL-injection attacks described in Full security against the SQL-injection attacks described in
CVE-2006-2313 and CVE-2006-2314 may require changes in application CVE-2006-2313 and CVE-2006-2314 might require changes in application
code. If you have applications that embed untrustworthy strings code. If you have applications that embed untrustworthy strings
into SQL commands, you should examine them as soon as possible to into SQL commands, you should examine them as soon as possible to
ensure that they are using recommended escaping techniques. In ensure that they are using recommended escaping techniques. In
@ -331,7 +415,7 @@ literals. By default, <literal>\'</> is rejected only when
GB18030, or UHC), which is the scenario in which SQL injection is possible. GB18030, or UHC), which is the scenario in which SQL injection is possible.
A new configuration parameter <varname>backslash_quote</> is available to A new configuration parameter <varname>backslash_quote</> is available to
adjust this behavior when needed. Note that full security against adjust this behavior when needed. Note that full security against
CVE-2006-2314 may require client-side changes; the purpose of CVE-2006-2314 might require client-side changes; the purpose of
<varname>backslash_quote</> is in part to make it obvious that insecure <varname>backslash_quote</> is in part to make it obvious that insecure
clients are insecure. clients are insecure.
</para></listitem> </para></listitem>
@ -484,7 +568,7 @@ to ensure that <application>plperl</> won't change the locale later</para>
<para>This fixes a problem that occurred if the <application>postmaster</> was <para>This fixes a problem that occurred if the <application>postmaster</> was
started with environment variables specifying a different locale than what started with environment variables specifying a different locale than what
<application>initdb</> had been told. Under these conditions, any use of <application>initdb</> had been told. Under these conditions, any use of
<application>plperl</> was likely to lead to corrupt indexes. You may need <application>plperl</> was likely to lead to corrupt indexes. You might need
<command>REINDEX</> to fix existing indexes on <command>REINDEX</> to fix existing indexes on
textual columns if this has happened to you.</para></listitem> textual columns if this has happened to you.</para></listitem>
@ -670,7 +754,7 @@ code</para></listitem>
It is strongly recommended that all installations repair these errors, It is strongly recommended that all installations repair these errors,
either by initdb or by following the manual repair procedures given either by initdb or by following the manual repair procedures given
below. The errors at least allow unprivileged database users to crash below. The errors at least allow unprivileged database users to crash
their server process, and may allow unprivileged users to gain the their server process, and might allow unprivileged users to gain the
privileges of a database superuser. privileges of a database superuser.
</para> </para>
@ -688,7 +772,7 @@ WHERE pronamespace = 11 AND pronargs = 5
COMMIT; COMMIT;
</programlisting> </programlisting>
Next, if you have installed <filename>contrib/tsearch2</>, do Next, if you have installed <filename>contrib/tsearch2</>, do:
<programlisting> <programlisting>
BEGIN; BEGIN;
@ -717,12 +801,12 @@ COMMIT;
template databases then any subsequently created databases will contain template databases then any subsequently created databases will contain
the same errors. <literal>template1</> can be fixed in the same way the same errors. <literal>template1</> can be fixed in the same way
as any other database, but fixing <literal>template0</> requires as any other database, but fixing <literal>template0</> requires
additional steps. First, from any database issue additional steps. First, from any database issue:
<programlisting> <programlisting>
UPDATE pg_database SET datallowconn = true WHERE datname = 'template0'; UPDATE pg_database SET datallowconn = true WHERE datname = 'template0';
</programlisting> </programlisting>
Next connect to <literal>template0</> and perform the above repair Next connect to <literal>template0</> and perform the above repair
procedures. Finally, do procedures. Finally, do:
<programlisting> <programlisting>
-- re-freeze template0: -- re-freeze template0:
VACUUM FREEZE; VACUUM FREEZE;
@ -1094,7 +1178,7 @@ names from outer query levels.
<para> <para>
A dump/restore is not required for those running 7.4.X. However, 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 it might 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 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 catalogs. A dump/initdb/reload sequence using 7.4.2's initdb will
automatically correct these problems. automatically correct these problems.
@ -1160,12 +1244,12 @@ GRANT SELECT, UPDATE ON pg_settings TO PUBLIC;
template databases then any subsequently created databases will contain template databases then any subsequently created databases will contain
the same errors. <literal>template1</> can be fixed in the same way the same errors. <literal>template1</> can be fixed in the same way
as any other database, but fixing <literal>template0</> requires as any other database, but fixing <literal>template0</> requires
additional steps. First, from any database issue additional steps. First, from any database issue:
<programlisting> <programlisting>
UPDATE pg_database SET datallowconn = true WHERE datname = 'template0'; UPDATE pg_database SET datallowconn = true WHERE datname = 'template0';
</programlisting> </programlisting>
Next connect to <literal>template0</> and perform the above repair Next connect to <literal>template0</> and perform the above repair
procedures. Finally, do procedures. Finally, do:
<programlisting> <programlisting>
-- re-freeze template0: -- re-freeze template0:
VACUUM FREEZE; VACUUM FREEZE;
@ -1648,7 +1732,7 @@ DROP SCHEMA information_schema CASCADE;
<listitem> <listitem>
<para> <para>
Inner joins using the explicit <literal>JOIN</literal> syntax Inner joins using the explicit <literal>JOIN</literal> syntax
may behave differently because they are now better might behave differently because they are now better
optimized. optimized.
</para> </para>
</listitem> </listitem>
@ -2615,7 +2699,7 @@ DROP SCHEMA information_schema CASCADE;
<listitem> <listitem>
<para> <para>
Arrays may now be specified as <literal>ARRAY[1,2,3]</literal>, Arrays can now be specified as <literal>ARRAY[1,2,3]</literal>,
<literal>ARRAY[['a','b'],['c','d']]</literal>, or <literal>ARRAY[['a','b'],['c','d']]</literal>, or
<literal>ARRAY[ARRAY[ARRAY[2]]]</literal> (Joe) <literal>ARRAY[ARRAY[ARRAY[2]]]</literal> (Joe)
</para> </para>
@ -2941,7 +3025,7 @@ DROP SCHEMA information_schema CASCADE;
<listitem> <listitem>
<para> <para>
Have pg_dumpall use <command>GRANT</>/<command>REVOKE</> to dump database-level privleges (Tom) Have pg_dumpall use <command>GRANT</>/<command>REVOKE</> to dump database-level privileges (Tom)
</para> </para>
</listitem> </listitem>
@ -3189,6 +3273,52 @@ DROP SCHEMA information_schema CASCADE;
</sect2> </sect2>
</sect1> </sect1>
<sect1 id="release-7-3-20">
<title>Release 7.3.20</title>
<note>
<title>Release date</title>
<simpara>2007-09-17</simpara>
</note>
<para>
This release contains fixes from 7.3.19.
</para>
<sect2>
<title>Migration to version 7.3.20</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>
Allow <command>CREATE DOMAIN ... DEFAULT NULL</> (Tom)
</para>
</listitem>
<listitem>
<para>
Require non-superusers who use <filename>/contrib/dblink</> to use only password
authentication, as a security measure (Joe)
</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="release-7-3-19"> <sect1 id="release-7-3-19">
<title>Release 7.3.19</title> <title>Release 7.3.19</title>
@ -3339,11 +3469,13 @@ DROP SCHEMA information_schema CASCADE;
<para> <para>
<function>to_number()</> and <function>to_char(numeric)</> <function>to_number()</> and <function>to_char(numeric)</>
are now <literal>STABLE</>, not <literal>IMMUTABLE</>, for are now <literal>STABLE</>, not <literal>IMMUTABLE</>, for
new <application>initdb</> installs (Tom) new <link linkend="APP-INITDB"><application>initdb</></link>
installs (Tom)
</para> </para>
<para> <para>
This is because <literal>lc_numeric</> can potentially This is because <link
linkend="guc-lc-numeric"><varname>lc_numeric</></link> can potentially
change the output of these functions. change the output of these functions.
</para> </para>
</listitem> </listitem>
@ -3429,7 +3561,7 @@ DROP SCHEMA information_schema CASCADE;
<para> <para>
Full security against the SQL-injection attacks described in Full security against the SQL-injection attacks described in
CVE-2006-2313 and CVE-2006-2314 may require changes in application CVE-2006-2313 and CVE-2006-2314 might require changes in application
code. If you have applications that embed untrustworthy strings code. If you have applications that embed untrustworthy strings
into SQL commands, you should examine them as soon as possible to into SQL commands, you should examine them as soon as possible to
ensure that they are using recommended escaping techniques. In ensure that they are using recommended escaping techniques. In
@ -3461,7 +3593,7 @@ literals. By default, <literal>\'</> is rejected only when
GB18030, or UHC), which is the scenario in which SQL injection is possible. GB18030, or UHC), which is the scenario in which SQL injection is possible.
A new configuration parameter <varname>backslash_quote</> is available to A new configuration parameter <varname>backslash_quote</> is available to
adjust this behavior when needed. Note that full security against adjust this behavior when needed. Note that full security against
CVE-2006-2314 may require client-side changes; the purpose of CVE-2006-2314 might require client-side changes; the purpose of
<varname>backslash_quote</> is in part to make it obvious that insecure <varname>backslash_quote</> is in part to make it obvious that insecure
clients are insecure. clients are insecure.
</para></listitem> </para></listitem>
@ -3594,7 +3726,7 @@ to ensure that <application>plperl</> won't change the locale later</para>
<para>This fixes a problem that occurred if the <application>postmaster</> was <para>This fixes a problem that occurred if the <application>postmaster</> was
started with environment variables specifying a different locale than what started with environment variables specifying a different locale than what
<application>initdb</> had been told. Under these conditions, any use of <application>initdb</> had been told. Under these conditions, any use of
<application>plperl</> was likely to lead to corrupt indexes. You may need <application>plperl</> was likely to lead to corrupt indexes. You might need
<command>REINDEX</> to fix existing indexes on <command>REINDEX</> to fix existing indexes on
textual columns if this has happened to you.</para></listitem> textual columns if this has happened to you.</para></listitem>
@ -3749,7 +3881,7 @@ the variable is of pass-by-reference type</para></listitem>
It is strongly recommended that all installations repair this error, It is strongly recommended that all installations repair this error,
either by initdb or by following the manual repair procedure given either by initdb or by following the manual repair procedure given
below. The error at least allows unprivileged database users to crash below. The error at least allows unprivileged database users to crash
their server process, and may allow unprivileged users to gain the their server process, and might allow unprivileged users to gain the
privileges of a database superuser. privileges of a database superuser.
</para> </para>
@ -3775,12 +3907,12 @@ COMMIT;
template databases then any subsequently created databases will contain template databases then any subsequently created databases will contain
the same error. <literal>template1</> can be fixed in the same way the same error. <literal>template1</> can be fixed in the same way
as any other database, but fixing <literal>template0</> requires as any other database, but fixing <literal>template0</> requires
additional steps. First, from any database issue additional steps. First, from any database issue:
<programlisting> <programlisting>
UPDATE pg_database SET datallowconn = true WHERE datname = 'template0'; UPDATE pg_database SET datallowconn = true WHERE datname = 'template0';
</programlisting> </programlisting>
Next connect to <literal>template0</> and perform the above repair Next connect to <literal>template0</> and perform the above repair
procedure. Finally, do procedure. Finally, do:
<programlisting> <programlisting>
-- re-freeze template0: -- re-freeze template0:
VACUUM FREEZE; VACUUM FREEZE;
@ -4033,7 +4165,7 @@ On some platforms, building with -fstrict-aliasing causes bugs.
</para></listitem> </para></listitem>
<listitem><para>Make pg_restore handle 64-bit off_t correctly</para> <listitem><para>Make pg_restore handle 64-bit off_t correctly</para>
<para> <para>
This bug prevented proper restoration from archive files exceeding 4Gb. This bug prevented proper restoration from archive files exceeding 4 GB.
</para></listitem> </para></listitem>
<listitem><para>Make contrib/dblink not assume that local and remote type OIDs <listitem><para>Make contrib/dblink not assume that local and remote type OIDs
match (Joe)</para></listitem> match (Joe)</para></listitem>
@ -4333,7 +4465,7 @@ operations on bytea columns (Joe)</para></listitem>
A dump/restore is <emphasis>not</emphasis> required for those A dump/restore is <emphasis>not</emphasis> required for those
running version 7.3. However, it should be noted that the main running version 7.3. However, it should be noted that the main
<productname>PostgreSQL</productname> interface library, libpq, <productname>PostgreSQL</productname> interface library, libpq,
has a new major version number for this release, which may require has a new major version number for this release, which might require
recompilation of client code in certain cases. recompilation of client code in certain cases.
</para> </para>
</sect2> </sect2>
@ -4569,7 +4701,7 @@ operations on bytea columns (Joe)</para></listitem>
<para> <para>
<command>COPY</command> no longer considers missing trailing <command>COPY</command> no longer considers missing trailing
columns to be null. All columns need to be specified. columns to be null. All columns need to be specified.
(However, one may achieve a similar effect by specifying a (However, one can achieve a similar effect by specifying a
column list in the <command>COPY</command> command.) column list in the <command>COPY</command> command.)
</para> </para>
</listitem> </listitem>
@ -5470,7 +5602,7 @@ since <productname>PostgreSQL</productname> 7.1.
<listitem> <listitem>
<para> <para>
The semantics of the <command>VACUUM</command> command have The semantics of the <command>VACUUM</command> command have
changed in this release. You may wish to update your changed in this release. You might wish to update your
maintenance procedures accordingly. maintenance procedures accordingly.
</para> </para>
</listitem> </listitem>
@ -5935,7 +6067,7 @@ since <productname>PostgreSQL</productname> 7.1.
<para> <para>
<programlisting> <programlisting>
Remove unused WAL segements of large transactions (Tom) Remove unused WAL segments of large transactions (Tom)
Multiaction rule fix (Tom) Multiaction rule fix (Tom)
PL/pgSQL memory allocation fix (Jan) PL/pgSQL memory allocation fix (Jan)
VACUUM buffer fix (Tom) VACUUM buffer fix (Tom)
@ -6065,7 +6197,7 @@ previous releases of <productname>PostgreSQL</productname> have forced
all data modifications to disk before each transaction commit. With all data modifications to disk before each transaction commit. With
WAL, only one log file must be flushed to disk, greatly improving WAL, only one log file must be flushed to disk, greatly improving
performance. If you have been using -F in previous releases to performance. If you have been using -F in previous releases to
disable disk flushes, you may want to consider discontinuing its use. disable disk flushes, you might want to consider discontinuing its use.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -6106,7 +6238,7 @@ outer join syntax.
The previous C function manager did not The previous C function manager did not
handle null values properly, nor did it support 64-bit <acronym>CPU</acronym>'s (Alpha). The new handle null values properly, nor did it support 64-bit <acronym>CPU</acronym>'s (Alpha). The new
function manager does. You can continue using your old custom function manager does. You can continue using your old custom
functions, but you may want to rewrite them in the future to use the new functions, but you might want to rewrite them in the future to use the new
function manager call interface. function manager call interface.
</para> </para>
</listitem> </listitem>
@ -6372,7 +6504,7 @@ Fix for psql \l+ when multibyte enabled (Tatsuo)
Allow PL/pgSQL to accept non ascii identifiers (Tatsuo) Allow PL/pgSQL to accept non ascii identifiers (Tatsuo)
Make vacuum always flush buffers (Tom) Make vacuum always flush buffers (Tom)
Fix to allow cancel while waiting for a lock (Hiroshi) Fix to allow cancel while waiting for a lock (Hiroshi)
Fix for memory aloocation problem in user authentication code (Tom) Fix for memory allocation problem in user authentication code (Tom)
Remove bogus use of int4out() (Tom) Remove bogus use of int4out() (Tom)
Fixes for multiple subqueries in COALESCE or BETWEEN (Tom) Fixes for multiple subqueries in COALESCE or BETWEEN (Tom)
Fix for failure of triggers on heap open in certain cases (Jeroen van Fix for failure of triggers on heap open in certain cases (Jeroen van
@ -6579,7 +6711,7 @@ ecpg changes (Michael)
A dump/restore using <application>pg_dump</application> A dump/restore using <application>pg_dump</application>
is required for those wishing to migrate data from any is required for those wishing to migrate data from any
previous release of <productname>PostgreSQL</productname>. previous release of <productname>PostgreSQL</productname>.
For those upgrading from 6.5.*, you may instead use For those upgrading from 6.5.*, you can instead use
<application>pg_upgrade</application> to upgrade to this <application>pg_upgrade</application> to upgrade to this
release; however, a full dump/reload installation is always the release; however, a full dump/reload installation is always the
most robust method for upgrades. most robust method for upgrades.
@ -6600,7 +6732,7 @@ ecpg changes (Michael)
ease the transition by allowing ease the transition by allowing
<productname>PostgreSQL</productname> to recognize <productname>PostgreSQL</productname> to recognize
the deprecated type names and translate them to the new type the deprecated type names and translate them to the new type
names, this mechanism may not be completely transparent to names, this mechanism cannot be completely transparent to
your existing application. your existing application.
</para> </para>
</listitem> </listitem>
@ -6612,8 +6744,8 @@ ecpg changes (Michael)
decreased query times as the optimizer makes a better choice decreased query times as the optimizer makes a better choice
for the preferred plan. However, in a small number of cases, for the preferred plan. However, in a small number of cases,
usually involving pathological distributions of data, your usually involving pathological distributions of data, your
query times may go up. If you are dealing with large amounts query times might go up. If you are dealing with large amounts
of data, you may want to check your queries to verify of data, you might want to check your queries to verify
performance. performance.
</para> </para>
</listitem> </listitem>
@ -6851,7 +6983,7 @@ 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) 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) 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) ODBC fix for large objects (free)
Fix indexing of cidr data type Fix indexing of cidr data type
Fix for Ethernet MAC addresses (macaddr type) comparisons Fix for Ethernet MAC addresses (macaddr type) comparisons
Fix for date/time types when overflows happened in computations (Tom) Fix for date/time types when overflows happened in computations (Tom)
@ -7091,13 +7223,13 @@ Fix for EXPLAIN on inheritance(Tom)
Patch to allow vacuum on multisegment tables(Hiroshi) Patch to allow vacuum on multisegment tables(Hiroshi)
R-Tree optimizer selectivity fix(Tom) R-Tree optimizer selectivity fix(Tom)
ACL file descriptor leak fix(Atsushi Ogawa) ACL file descriptor leak fix(Atsushi Ogawa)
New expresssion subtree code(Tom) New expression subtree code(Tom)
Avoid disk writes for read-only transactions(Vadim) Avoid disk writes for read-only transactions(Vadim)
Fix for removal of temp tables if last transaction was aborted(Bruce) Fix for removal of temp tables if last transaction was aborted(Bruce)
Fix to prevent too large row from being created(Bruce) Fix to prevent too large row from being created(Bruce)
plpgsql fixes plpgsql fixes
Allow port numbers 32k - 64k(Bruce) Allow port numbers 32k - 64k(Bruce)
Add ^ precidence(Bruce) Add ^ precedence(Bruce)
Rename sort files called pg_temp to pg_sorttemp(Bruce) Rename sort files called pg_temp to pg_sorttemp(Bruce)
Fix for microseconds in time values(Tom) Fix for microseconds in time values(Tom)
Tutorial source cleanup Tutorial source cleanup
@ -7479,7 +7611,7 @@ New pg_options: pretty_plan, pretty_parse, pretty_rewritten(Jan)
Better optimization statistics for system table access(Tom) Better optimization statistics for system table access(Tom)
Better handling of non-default block sizes(Massimo) Better handling of non-default block sizes(Massimo)
Improve GEQO optimizer memory consumption(Tom) Improve GEQO optimizer memory consumption(Tom)
UNION now suppports ORDER BY of columns not in target list(Jan) UNION now supports ORDER BY of columns not in target list(Jan)
Major libpq++ improvements(Vince Vielhaber) Major libpq++ improvements(Vince Vielhaber)
pg_dump now uses -z(ACL's) as default(Bruce) pg_dump now uses -z(ACL's) as default(Bruce)
backend cache, memory speedups(Tom) backend cache, memory speedups(Tom)
@ -7777,7 +7909,7 @@ Jdbc cleanups(Peter)
Show backend status on ps command line(only works on some platforms)(Bruce) Show backend status on ps command line(only works on some platforms)(Bruce)
Pg_hba.conf now has a sameuser option in the database field Pg_hba.conf now has a sameuser option in the database field
Make lo_unlink take oid param, not int4 Make lo_unlink take oid param, not int4
New DISABLE_COMPLEX_MACRO for compilers that can't handle our macros(Bruce) New DISABLE_COMPLEX_MACRO for compilers that cannot handle our macros(Bruce)
Libpgtcl now handles NOTIFY as a Tcl event, need not send dummy queries(Tom) Libpgtcl now handles NOTIFY as a Tcl event, need not send dummy queries(Tom)
libpgtcl cleanups(Tom) libpgtcl cleanups(Tom)
Add -error option to libpgtcl's pg_result command(Tom) Add -error option to libpgtcl's pg_result command(Tom)
@ -7853,7 +7985,7 @@ New UNLISTEN command(Massimo)
psql and libpq now compile under Windows using win32.mak(Magnus) psql and libpq now compile under Windows using win32.mak(Magnus)
Lo_read no longer stores trailing NULL(Bruce) Lo_read no longer stores trailing NULL(Bruce)
Identifiers are now truncated to 31 characters internally(Bruce) Identifiers are now truncated to 31 characters internally(Bruce)
Createuser options now availble on the command line Createuser options now available on the command line
Code for 64-bit integer supported added, configure tested, int8 type(Thomas) Code for 64-bit integer supported added, configure tested, int8 type(Thomas)
Prevent file descriptor leaf from failed COPY(Bruce) Prevent file descriptor leaf from failed COPY(Bruce)
New pg_upgrade command(Bruce) New pg_upgrade command(Bruce)
@ -7864,7 +7996,7 @@ New DECLARE and FETCH feature(Thomas)
libpq's internal structures now not exported(Tom) libpq's internal structures now not exported(Tom)
Allow up to 8 key indexes(Bruce) Allow up to 8 key indexes(Bruce)
Remove ARCHIVE key word, that is no longer used(Thomas) Remove ARCHIVE key word, that is no longer used(Thomas)
pg_dump -n flag to supress quotes around indentifiers pg_dump -n flag to suppress quotes around indentifiers
disable system columns for views(Jan) disable system columns for views(Jan)
new INET and CIDR types for network addresses(TomH, Paul) new INET and CIDR types for network addresses(TomH, Paul)
no more double quotes in psql output no more double quotes in psql output
@ -7893,7 +8025,7 @@ NS32K platform fixes(Phil Nelson, John Buller)
SCO 7/UnixWare 2.x fixes(Billy,others) SCO 7/UnixWare 2.x fixes(Billy,others)
Sparc/Solaris 2.5 fixes(Ryan) Sparc/Solaris 2.5 fixes(Ryan)
Pgbuiltin.3 is obsolete, move to doc files(Thomas) Pgbuiltin.3 is obsolete, move to doc files(Thomas)
Even more documention(Thomas) Even more documentation(Thomas)
Nextstep support(Jacek) Nextstep support(Jacek)
Aix support(David) Aix support(David)
pginterface manual page(Bruce) pginterface manual page(Bruce)
@ -8094,7 +8226,7 @@ Better identify tcl and tk libs and includes(Bruce)
<listitem> <listitem>
<para> <para>
Socket interface for client/server connection. This is the default now Socket interface for client/server connection. This is the default now
so you may need to start <application>postmaster</application> with the so you might need to start <application>postmaster</application> with the
<option>-i</option> flag. <option>-i</option> flag.
</para> </para>
</listitem> </listitem>
@ -8130,9 +8262,9 @@ Better identify tcl and tk libs and includes(Bruce)
mention that without subselects, SQL is a very limited language. mention that without subselects, SQL is a very limited language.
Subselects are a major feature, and you should review your code for Subselects are a major feature, and you should review your code for
places where subselects provide a better solution for your queries. I places where subselects provide a better solution for your queries. I
think you will find that there are more uses for subselects than you may think you will find that there are more uses for subselects than you might
think. Vadim has put us on the big SQL map with subselects, and fully think. Vadim has put us on the big SQL map with subselects, and fully
functional ones too. The only thing you can't do with subselects is to functional ones too. The only thing you cannot do with subselects is to
use them in the target list. use them in the target list.
</para> </para>
<para> <para>
@ -8145,7 +8277,7 @@ Better identify tcl and tk libs and includes(Bruce)
Third, <type>char()</type> fields will now allow faster access than <type>varchar()</type> or Third, <type>char()</type> fields will now allow faster access than <type>varchar()</type> or
<type>text</type>. Specifically, the <type>text</> and <type>varchar()</type> have a penalty for access to <type>text</type>. Specifically, the <type>text</> and <type>varchar()</type> have a penalty for access to
any columns after the first column of this type. <type>char()</type> used to also any columns after the first column of this type. <type>char()</type> used to also
have this access penalty, but it no longer does. This may suggest that have this access penalty, but it no longer does. This might suggest that
you redesign some of your tables, especially if you have short character you redesign some of your tables, especially if you have short character
columns that you have defined as <type>varchar()</type> or <type>text</type>. This and other columns that you have defined as <type>varchar()</type> or <type>text</type>. This and other
changes make 6.3 even faster than earlier releases. changes make 6.3 even faster than earlier releases.
@ -8241,7 +8373,7 @@ Check boolean input literals for 'true','false','yes','no','1','0'
and throw elog(ERROR) if unrecognized(Thomas) and throw elog(ERROR) if unrecognized(Thomas)
Major large objects fix Major large objects fix
Fix for GROUP BY showing duplicates(Vadim) Fix for GROUP BY showing duplicates(Vadim)
Fix for index scans in MergeJion(Vadim) Fix for index scans in MergeJoin(Vadim)
Enhancements Enhancements
------------ ------------
@ -8694,7 +8826,7 @@ optimizer which uses <firstterm>genetic</firstterm>
The interpretation of array specifiers (the curly braces around atomic The interpretation of array specifiers (the curly braces around atomic
values) appears to have changed sometime after the original regression values) appears to have changed sometime after the original regression
tests were generated. The current <filename>./expected/*.out</filename> files reflect this tests were generated. The current <filename>./expected/*.out</filename> files reflect this
new interpretation, which may not be correct! new interpretation, which might not be correct!
</para> </para>
<para> <para>
@ -8866,7 +8998,7 @@ because the COPY output format was improved from the 1.02 release.
<programlisting> <programlisting>
Bug Fixes Bug Fixes
--------- ---------
ALTER TABLE bug - running postgress process needs to re-read table definition ALTER TABLE bug - running postgres process needs to re-read table definition
Allow vacuum to be run on one table or entire database(Bruce) Allow vacuum to be run on one table or entire database(Bruce)
Array fixes Array fixes
Fix array over-runs of memory writes(Kurt) Fix array over-runs of memory writes(Kurt)
@ -8874,7 +9006,7 @@ Fix elusive btree range/non-range bug(Dan)
Fix for hash indexes on some types like time and date Fix for hash indexes on some types like time and date
Fix for pg_log size explosion Fix for pg_log size explosion
Fix permissions on lo_export()(Bruce) Fix permissions on lo_export()(Bruce)
Fix unitialized reads of memory(Kurt) Fix uninitialized reads of memory(Kurt)
Fixed ALTER TABLE ... char(3) bug(Bruce) Fixed ALTER TABLE ... char(3) bug(Bruce)
Fixed a few small memory leaks Fixed a few small memory leaks
Fixed EXPLAIN handling of options and changed full_path option name Fixed EXPLAIN handling of options and changed full_path option name
@ -8918,7 +9050,7 @@ Change default decimal constant representation from float4 to float8(Bruce)
European date format now set when postmaster is started European date format now set when postmaster is started
Execute lowercase function names if not found with exact case Execute lowercase function names if not found with exact case
Fixes for aggregate/GROUP processing, allow 'select sum(func(x),sum(x+y) from z' Fixes for aggregate/GROUP processing, allow 'select sum(func(x),sum(x+y) from z'
Gist now included in the distrubution(Marc) Gist now included in the distribution(Marc)
Idend authentication of local users(Bryan) Idend authentication of local users(Bryan)
Implement BETWEEN qualifier(Bruce) Implement BETWEEN qualifier(Bruce)
Implement IN qualifier(Bruce) Implement IN qualifier(Bruce)
@ -8947,7 +9079,7 @@ Vacuum now had VERBOSE option(Bruce)
Source tree changes Source tree changes
------------------- -------------------
All functions now have prototypes that are compared against the calls All functions now have prototypes that are compared against the calls
Allow asserts to be disabled easly from Makefile.global(Bruce) Allow asserts to be disabled easily from Makefile.global(Bruce)
Change oid constants used in code to #define names Change oid constants used in code to #define names
Decoupled sparc and solaris defines(Kurt) Decoupled sparc and solaris defines(Kurt)
Gcc -Wall compiles cleanly with warnings only from unfixable constructs Gcc -Wall compiles cleanly with warnings only from unfixable constructs
@ -8960,13 +9092,13 @@ Name change from Postgres95 to PostgreSQL
New config.h file(Marc, Bryan) New config.h file(Marc, Bryan)
PG_VERSION now set to 6.0 and used by postmaster PG_VERSION now set to 6.0 and used by postmaster
Portability additions, including Ultrix, DG/UX, AIX, and Solaris Portability additions, including Ultrix, DG/UX, AIX, and Solaris
Reduced the number of #define's, centeralized #define's Reduced the number of #define's, centralized #define's
Remove duplicate OIDS in system tables(Dan) Remove duplicate OIDS in system tables(Dan)
Remove duplicate system catalog info or report mismatches(Dan) Remove duplicate system catalog info or report mismatches(Dan)
Removed many os-specific #define's Removed many os-specific #define's
Restructured object file generation/location(Bryan, Marc) Restructured object file generation/location(Bryan, Marc)
Restructured port-specific file locations(Bryan, Marc) Restructured port-specific file locations(Bryan, Marc)
Unused/uninialized variables corrected Unused/uninitialized variables corrected
</programlisting> </programlisting>
</para> </para>
</sect2> </sect2>
@ -9106,7 +9238,7 @@ New Ports
</programlisting> </programlisting>
</para> </para>
<!-- <!--
Contributors (appologies to any missed) Contributors (apologies to any missed)
* Kurt J. Lidl &lt;lidl@va.pubnix.com&gt; * Kurt J. Lidl &lt;lidl@va.pubnix.com&gt;
(missed in first run, but no less important) (missed in first run, but no less important)
* Erich Stamberger &lt;eberger@gewi.kfunigraz.ac.at&gt; * Erich Stamberger &lt;eberger@gewi.kfunigraz.ac.at&gt;
@ -9182,7 +9314,7 @@ If you do, you must create a file name <literal>pg_hba</literal> in your top-lev
<step> <step>
<para> <para>
If you do not want host-based authentication, you can comment out If you do not want host-based authentication, you can comment out
the line the line:
<programlisting> <programlisting>
HBA = 1 HBA = 1
</programlisting> </programlisting>
@ -9408,7 +9540,7 @@ Incompatible changes:
* float literals (eg. 3.14) are now of type float4 (instead of float8 in * float literals (eg. 3.14) are now of type float4 (instead of float8 in
previous releases); you might have to do typecasting if you depend on it previous releases); you might have to do typecasting if you depend on it
being of type float8. If you neglect to do the typecasting and you assign being of type float8. If you neglect to do the typecasting and you assign
a float literal to a field of type float8, you may get incorrect values a float literal to a field of type float8, you might get incorrect values
stored! stored!
* LIBPQ has been totally revamped so that frontend applications * LIBPQ has been totally revamped so that frontend applications
can connect to multiple backends can connect to multiple backends
@ -9444,7 +9576,7 @@ more compliant to the SQL-92 standard):
"WITH GRANT OPTION" is not supported. Only class owners can change "WITH GRANT OPTION" is not supported. Only class owners can change
access control access control
- The default access control is to to grant users readonly access. - The default access control is to grant users readonly access.
You must explicitly grant insert/update access to users. To change You must explicitly grant insert/update access to users. To change
this, modify the line in this, modify the line in
src/backend/utils/acl.h src/backend/utils/acl.h
@ -9671,20 +9803,3 @@ In general, however, 6.3 is substantially faster than previous releases (thanks,
</sect1> </sect1>
]]> ]]>
</appendix> </appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode:sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"./reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:("/usr/lib/sgml/catalog")
sgml-local-ecat-files:nil
End:
-->