Preliminary pass at release note editing.
This commit is contained in:
parent
cc88ed6303
commit
bd19ee3457
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.361 2005/08/24 19:41:33 momjian Exp $
|
$PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.362 2005/08/24 22:03:14 tgl Exp $
|
||||||
|
|
||||||
Typical markup:
|
Typical markup:
|
||||||
|
|
||||||
@ -49,24 +49,7 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>
|
<term>
|
||||||
Automatically use indexes for <function>MIN()</> and
|
Allow index scans to use an intermediate in-memory bitmap (Tom)
|
||||||
<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>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>
|
|
||||||
Add in-memory bitmaps which allows multiple indexes to be merged
|
|
||||||
in a single query (Tom)
|
|
||||||
</term>
|
</term>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -75,12 +58,16 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
lookups on a table. With this feature, if a query has
|
lookups on a table. With this feature, if a query has
|
||||||
<command>WHERE tab.col1 = 4 and tab.col2 = 9</>, and there is no
|
<command>WHERE tab.col1 = 4 and tab.col2 = 9</>, and there is no
|
||||||
multicolumn index on col1 and col2, but there is an index on
|
multicolumn index on col1 and col2, but there is an index on
|
||||||
col1 and another on col2, it is possible to do lookups on the
|
col1 and another on col2, it is possible to search both indexes
|
||||||
col1 index and the col2 index and combine them in memory to do
|
and combine the results in memory, then do heap fetches for only
|
||||||
heap lookups on rows matching both the col1 and col2
|
the rows matching both the col1 and col2
|
||||||
restrictions. This is very useful in environments that have a
|
restrictions. This is very useful in environments that have a
|
||||||
lot of unstructured queries where it is impossible to create
|
lot of unstructured queries where it is impossible to create
|
||||||
indexes that match all possible access conditions.
|
indexes that match all possible access conditions. Bitmap scans
|
||||||
|
are useful even with a single index, as they reduce the amount
|
||||||
|
of random access needed; a bitmap index scan is efficient for
|
||||||
|
retrieving fairly large fractions of the complete table, whereas
|
||||||
|
plain index scans are not.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -96,8 +83,8 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
computers, and once all computers have successfully prepared
|
computers, and once all computers have successfully prepared
|
||||||
their transactions (none failed), all transactions can be
|
their transactions (none failed), all transactions can be
|
||||||
committed. Even if a machine crashes after a prepare, the
|
committed. Even if a machine crashes after a prepare, the
|
||||||
prepared transaction can be committed after it is restarted. New
|
prepared transaction can be committed after the machine is
|
||||||
syntax includes <command>PREPARE TRANSACTION</> and
|
restarted. New syntax includes <command>PREPARE TRANSACTION</> and
|
||||||
<command>COMMIT/ROLLBACK PREPARED</>. A new system view
|
<command>COMMIT/ROLLBACK PREPARED</>. A new system view
|
||||||
<literal>pg_prepared_xacts</> has also been added.
|
<literal>pg_prepared_xacts</> has also been added.
|
||||||
</para>
|
</para>
|
||||||
@ -122,7 +109,7 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Have optionally have login capability
|
Have login capability (optionally)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -134,40 +121,58 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Inherit permission from other member roles
|
Hold access permissions for database objects
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Switch to another member role using <command>SET ROLE</>
|
Inherit permissions from other roles it is a member of
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
<para>
|
<para>
|
||||||
So, once a user logs into a role, she inherits capabilities of
|
Once a user logs into a role, she obtains capabilities of
|
||||||
the login role plus any inherited roles, and can use
|
the login role plus any inherited roles, and can use
|
||||||
<command>SET ROLE</> to switch to other member roles. This
|
<command>SET ROLE</> to switch to other roles she is a member of.
|
||||||
change also replaces <literal>pg_shadow</> and
|
This feature is a generalization of the SQL standard's concept of
|
||||||
<literal>pg_group</> by with new role-capable catalogs
|
roles.
|
||||||
<literal>pg_authid</> and <literal>pg_auth_members</>. The old
|
This change also replaces <structname>pg_shadow</> and
|
||||||
tables are redefined as views on the new role tables.
|
<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>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>
|
<term>
|
||||||
Move <filename>/contrib/pgautovacuum</> into the main server
|
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>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
Move <filename>/contrib/pg_autovacuum</> into the main server
|
||||||
(Alvaro Herrera)
|
(Alvaro Herrera)
|
||||||
</term>
|
</term>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Moving pgautovacuum from <filename>/contrib</> allows it to be
|
Integrating autovacuum into the server allows it to be
|
||||||
automatically started and stopped in sync with the database
|
automatically started and stopped in sync with the database
|
||||||
server, and allows for pgautovacuum to be configured from
|
server, and allows autovacuum to be configured from
|
||||||
<filename>postgresql.conf</>.
|
<filename>postgresql.conf</>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -185,8 +190,25 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
allows <command>SELECT</> to never be blocked by writers and
|
allows <command>SELECT</> to never be blocked by writers and
|
||||||
therefore does not need shared row locks for typical operations,
|
therefore does not need shared row locks for typical operations,
|
||||||
shared locks are useful for applications that require shared row
|
shared locks are useful for applications that require shared row
|
||||||
locking, and to reduce the locking requirements to maintain
|
locking. In particular this reduces the locking requirements
|
||||||
referential integrity.
|
imposed by referential integrity checks.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
Add dependencies on shared objects, specifically roles
|
||||||
|
(Alvaro)
|
||||||
|
</term>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
This extension of the dependency mechanism prevents roles from
|
||||||
|
being dropped while there are still database objects they own.
|
||||||
|
Formerly it was possible to accidentally <quote>orphan</> objects by
|
||||||
|
deleting their owner. While this could be recovered from, it
|
||||||
|
was messy and unpleasant.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -205,8 +227,8 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
<para>
|
<para>
|
||||||
The 8.0 release announced that the <function>to_char()</> function
|
The 8.0 release announced that the <function>to_char()</> function
|
||||||
for intervals would be removed in 8.1. However, since no better API
|
for intervals would be removed in 8.1. However, since no better API
|
||||||
has been suggested, to_char(interval) has been enhanced in 8.1 and
|
has been suggested, <function>to_char(interval)</> has been enhanced in
|
||||||
will remain in the server.
|
8.1 and will remain in the server.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -217,19 +239,19 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Change add_missing_from to 'false'
|
<varname>add_missing_from</> is now false by default (Neil)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Generate an error if a table used in a query without a
|
By default, we now generate an error if a table is used in a query
|
||||||
<command>FROM</> reference (Neil) This command, <command>SELECT
|
without a <command>FROM</> reference. The old behavior is still
|
||||||
pg_class.*</>, now generates an error.
|
available, but the parameter must be set to 'true' to obtain it.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Cause input of a zero-length strings ('') for float4/float8/oid
|
Cause input of a zero-length string ('') for float4/float8/oid
|
||||||
to throw an error, rather than treat it as a zero (Neil)
|
to throw an error, rather than treating it as a zero (Neil)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
This change is consistent with the current handling of
|
This change is consistent with the current handling of
|
||||||
@ -240,18 +262,18 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Change <varname>default_with_oids</> to default to false (Neil)
|
<varname>default_with_oids</> is now false by default (Neil)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
With this option set to false, user-created tables no longer have
|
With this option set to false, user-created tables no longer have
|
||||||
an the usually-invisible OID column unless <command>WITH OIDS</>
|
the usually-invisible OID column unless <command>WITH OIDS</>
|
||||||
is specified in <command>CREATE TABLE</>. Though OIDs have
|
is specified in <command>CREATE TABLE</>. Though OIDs have
|
||||||
existed in all previous releases of
|
existed in all releases of
|
||||||
<productname>PostgreSQL</productname>, their use is limited
|
<productname>PostgreSQL</productname>, their use is limited
|
||||||
because they are only four bytes long and the counter is unique
|
because they are only four bytes long and the counter is shared
|
||||||
across all installed databases. The preferred way of uniquely
|
across all installed databases. The preferred way of uniquely
|
||||||
identifying rows is via sequences and <command>SERIAL</>, which
|
identifying rows is via sequences and <command>SERIAL</>, which
|
||||||
has been supported since <productname>PostgreSQL</productname>
|
have been supported since <productname>PostgreSQL</productname>
|
||||||
6.4.
|
6.4.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -263,37 +285,23 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Currently <productname>PostgreSQL</productname> processes a
|
Currently <productname>PostgreSQL</productname> processes a
|
||||||
backslash in a string as preceeding a character that requires
|
backslash in a string literal as introducing a special escape sequence,
|
||||||
special processing, e.g. <literal>\n</> or <literal>\010</>.
|
e.g. <literal>\n</> or <literal>\010</>.
|
||||||
While this allows easy entry of special values, it is
|
While this allows easy entry of special values, it is
|
||||||
non-standard and makes porting of application from other
|
non-standard and makes porting of applications from other
|
||||||
databases more difficult. For this reason, the
|
databases more difficult. For this reason, the
|
||||||
<productname>PostgreSQL</productname> project is planning to
|
<productname>PostgreSQL</productname> project is planning to
|
||||||
remove the special meaning of backslashes in strings. For
|
remove the special meaning of backslashes in strings. For
|
||||||
backward compatibility and for users who want special backslash
|
backward compatibility and for users who want special backslash
|
||||||
processing, a new string type will be created. This new string
|
processing, a new string syntax has been created. This new string
|
||||||
type is formed by having an E precede the single quote that
|
syntax is formed by writing an <literal>E</> immediately preceding the
|
||||||
starts the string, e.g. <literal>E'hi\n'</>. While this release
|
single quote that starts the string, e.g. <literal>E'hi\n'</>. While
|
||||||
does not change the handling of backslashes in strings, it does
|
this release does not change the handling of backslashes in strings, it
|
||||||
add several new GUC variables to help users migrate applications
|
does add new GUC variables to help users migrate applications
|
||||||
for future releases:
|
for future releases:
|
||||||
</para>
|
</para>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<varname>escape_string_warning</> - warn about backslashes in
|
|
||||||
ordinary (non-E) strings
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<varname>escape_string_syntax</> - does this release support
|
|
||||||
the E'' syntax?
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<varname>standard_conforming_strings</> - does this release
|
<varname>standard_conforming_strings</> - does this release
|
||||||
@ -301,22 +309,31 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<varname>escape_string_warning</> - warn about backslashes in
|
||||||
|
ordinary (non-E) strings
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The last two values are read-only and should assist in the
|
The <varname>standard_conforming_strings</> value is read-only.
|
||||||
porting of applications. Applications can retrieve these values
|
Applications can retrieve the value to know how backslashes are
|
||||||
to know how backslashes are processed. In a later release,
|
processed. (Presence of the parameter can also be taken as an
|
||||||
standard_conforming_strings will be true, meaning backslashes
|
indication that <literal>E''</> string syntax is supported.) In a
|
||||||
will be treated literally in non-E strings. To prepare for this
|
future release, <varname>standard_conforming_strings</> will be true,
|
||||||
change, use E'' strings in places that need special backslash
|
meaning backslashes will be treated literally in non-E strings. To
|
||||||
processing, and turn on escape_string_warning to find additional
|
prepare for this change, use <literal>E''</> strings in places that
|
||||||
strings that need to be converted to use <literal>E''</>. Also,
|
need special backslash processing, and turn on
|
||||||
use two single-quotes ('') to embed a literal single-quote
|
<varname>escape_string_warning</> to find additional strings that need
|
||||||
in a string, rather than the PostgreSQL-supported syntax of
|
to be converted to use <literal>E''</>. Also, use two single-quotes
|
||||||
backslash single-quote (\'). The former is standards-conforming
|
(<literal>''</>) to embed a literal single-quote in a string, rather
|
||||||
and does not require the use of the E'' string syntax. You can
|
than the PostgreSQL-supported syntax of backslash single-quote
|
||||||
also use the $$ string syntax, which does not treat backslashes
|
(<literal>\'</>). The former is standards-conforming and does not
|
||||||
|
require the use of the <literal>E''</> string syntax. You can also use
|
||||||
|
the <literal>$$</> string syntax, which does not treat backslashes
|
||||||
specially.
|
specially.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -401,7 +418,11 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Change WAL CRC records from 64bit to 32bit (Tom)
|
Change WAL record CRCs from 64-bit to 32-bit (Tom)
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
We determined that the extra cost of computing 64-bit CRCs was
|
||||||
|
significant, and the gain in reliability too marginal to justify it.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -431,7 +452,8 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
<para>
|
<para>
|
||||||
Since a crash during <command>CREATE TABLE</> would cause the
|
Since a crash during <command>CREATE TABLE</> would cause the
|
||||||
table to be dropped during recovery, there is no reason to WAL
|
table to be dropped during recovery, there is no reason to WAL
|
||||||
log as the table is loaded.
|
log as the table is loaded. (Logging still happens if WAL
|
||||||
|
archiving is enabled, however.)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -451,9 +473,9 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
To prevent partial disk writes from corrupting the database,
|
To prevent partial disk writes from corrupting the database,
|
||||||
<productname>PostgreSQL</productname> writes a complete copy of
|
<productname>PostgreSQL</productname> writes a complete copy of
|
||||||
each database disk page to WAL the first time it is modified
|
each database disk page to WAL the first time it is modified
|
||||||
after a checkpoint. This turns off that functionality for users
|
after a checkpoint. This option turns off that functionality for more
|
||||||
with battery-backed disk caches where partial page writes cannot
|
speed. This is safe to use with battery-backed disk caches where
|
||||||
happen.
|
partial page writes cannot happen.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -463,10 +485,10 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
on table constraints (Simon)
|
on table constraints (Simon)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
This allows for a type of table partitioning. If child table
|
This allows for a type of table partitioning. If child tables
|
||||||
placed in a different tablespaces using appropriate
|
store separate key ranges and this is enforced using appropriate
|
||||||
<command>CHECK</> constraints, the optimizer will skip child
|
<command>CHECK</> constraints, the optimizer will skip child
|
||||||
table accesses if the constraint guarantees no matching rows
|
table accesses when the constraint guarantees no matching rows
|
||||||
exist in the child table.
|
exist in the child table.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -505,17 +527,17 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
Prevent problems due to transaction ID (XID) wraparound (Tom)
|
Prevent problems due to transaction ID (XID) wraparound (Tom)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
This was accomplished by warning the transaction counter is near
|
The server will now warn when the transaction counter approaches
|
||||||
the the earliest transaction id determined by the database whose
|
the wraparound point. If the counter becomes too close to wraparound,
|
||||||
last vacuum is the oldest. If the limit is reached, the server
|
the server will stop accepting queries. This ensures that data is
|
||||||
will no longer accept queries.
|
not lost before needed vacuuming is performed.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Fix problem of object ID (OID) wraparound conflicting with
|
Fix problems with object IDs (OIDs) conflicting with existing system
|
||||||
existing system objects (Tom)
|
objects after the OID counter has wrapped around (Tom)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -607,6 +629,11 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
Add GUC variables to control TCP/IP keep-alive times for idle,
|
Add GUC variables to control TCP/IP keep-alive times for idle,
|
||||||
interval, and count (Oliver Jowett)
|
interval, and count (Oliver Jowett)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
These values can be changed to allow more rapid detection of
|
||||||
|
lost client connections.
|
||||||
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -615,8 +642,8 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Using <command>ALTER USER</> and <command>ALTER DATABASE</>,
|
Using <command>ALTER USER</> and <command>ALTER DATABASE</>,
|
||||||
limits can now be enforced on the maximum number of users who
|
limits can now be enforced on the maximum number of sessions that
|
||||||
can connect as as a specific user or to a specific database.
|
can concurrently connect as a specific user or to a specific database.
|
||||||
Setting the limit to zero disables user or database connections.
|
Setting the limit to zero disables user or database connections.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -696,10 +723,10 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
UPDATE/SHARE</> (Hans-Juergen Schoenig)
|
UPDATE/SHARE</> (Hans-Juergen Schoenig)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
While <command>SET</> statement_timeout allows a query taking
|
While <command>SET</> <varname>statement_timeout</> allows a query
|
||||||
over a certain amount of time to be cancelled, the <command>NO
|
taking over a certain amount of time to be cancelled, the
|
||||||
WAIT</> option allows a query to be canceled as soon as a
|
<command>NOWAIT</> option allows a query to be canceled as soon as a
|
||||||
<command>SELECT ... FOR UPDATE/SHARE</> cannot immediately
|
<command>SELECT ... FOR UPDATE/SHARE</> command cannot immediately
|
||||||
acquire a row lock.
|
acquire a row lock.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -733,10 +760,12 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
by the object owner (Stephen Frost)
|
by the object owner (Stephen Frost)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Prior releases allowed only the super-user to change object owners,
|
Prior releases allowed only superusers to change object owners.
|
||||||
even if the current owner was executing the command and the new
|
Now, ownership can be transferred if the user executing the command
|
||||||
owner was in the same group. With roles such transfers are now
|
owns the object and would be able to create it as the new owner
|
||||||
possible.
|
(that is, the user is a member of the new owning role and that role
|
||||||
|
has the CREATE permission that would be needed to create the object
|
||||||
|
afresh).
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -771,12 +800,12 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
single command (Alvaro)
|
single command (Alvaro)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Because of referential integrity checks, it is impossible to
|
Because of referential integrity checks, it is not allowed to
|
||||||
truncate a table that is part of a referential integrity
|
truncate a table that is part of a referential integrity
|
||||||
constraint. Using this new functionality, <command>TRUNCATE</>
|
constraint. Using this new functionality, <command>TRUNCATE</>
|
||||||
can be used to truncate all tables involved in referential
|
can be used to truncate such tables, if both tables involved in
|
||||||
integrity if they are truncated in a single <command>TRUNCATE</>
|
a referential integrity constraint are truncated in a single
|
||||||
command.
|
<command>TRUNCATE</> command.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -807,7 +836,7 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
On Win32, display better sub-second precision in
|
On Windows, display better sub-second precision in
|
||||||
<command>EXPLAIN ANALYZE</> (Magnus)
|
<command>EXPLAIN ANALYZE</> (Magnus)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -818,8 +847,9 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
(Tom)
|
(Tom)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Prior releases accumulated trigger execution time as part of the
|
Prior releases included trigger execution time as part of the
|
||||||
total execution time.
|
total execution time, but did not show it separately. It is now
|
||||||
|
possible to see how much time is spent in each trigger.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -835,7 +865,7 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Have <command>SHOW ALL</> include variable descriptions
|
Make <command>SHOW ALL</> include variable descriptions
|
||||||
(Matthias Schmidt)
|
(Matthias Schmidt)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
@ -846,16 +876,16 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Have initdb create new standard database called
|
Make initdb create a new standard database called
|
||||||
<literal>postgres</> and convert utilities to use
|
<literal>postgres</>, and convert utilities to use
|
||||||
<literal>postgres</> rather than <literal>template1</> for
|
<literal>postgres</> rather than <literal>template1</> for
|
||||||
standard lookups (Dave)
|
standard lookups (Dave)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
In prior releases, template1 was used both as a default
|
In prior releases, <literal>template1</> was used both as a default
|
||||||
connection for utilities like createuser, and as a template for
|
connection for utilities like createuser, and as a template for
|
||||||
new databases. This caused <command>CREATE DATABASE</> to
|
new databases. This caused <command>CREATE DATABASE</> to
|
||||||
sometimes fail because a new database cannot be created if
|
sometimes fail, because a new database cannot be created if
|
||||||
anyone else is in the template database. With this change, the
|
anyone else is in the template database. With this change, the
|
||||||
default connection database is now <literal>postgres</>, meaning
|
default connection database is now <literal>postgres</>, meaning
|
||||||
it is much less likely someone will be using
|
it is much less likely someone will be using
|
||||||
@ -884,9 +914,6 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
Add <function>MAX()</> and <function>MIN()</> aggregates for
|
Add <function>MAX()</> and <function>MIN()</> aggregates for
|
||||||
array types (Koju Iijima)
|
array types (Koju Iijima)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
|
||||||
How does this work?
|
|
||||||
</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -899,7 +926,7 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
If the format specification contains <literal>CC</> and a year
|
If the format specification contains <literal>CC</> and a year
|
||||||
specification is <literal>YYY</> or longer, ignore the
|
specification is <literal>YYY</> or longer, ignore the
|
||||||
<literal>CC</>. If the year specification is <literal>YY</> or
|
<literal>CC</>. If the year specification is <literal>YY</> or
|
||||||
shorter, interpret <literal>CC</> as the previous century. ?
|
shorter, interpret <literal>CC</> as the previous century.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -927,7 +954,7 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add support for <command>NUMERIC ^ NUMERIC</> based on
|
Add support for <command>numeric ^ numeric</> based on
|
||||||
<function>power(numeric, numeric)</>
|
<function>power(numeric, numeric)</>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
@ -943,7 +970,7 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
In previous releases, modulus for large values sometimes
|
In previous releases, modulus for large values sometimes
|
||||||
returned negative results due to the rounding of the quotient.
|
returned negative results due to rounding of the quotient.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1001,7 +1028,7 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
These functions take a variable number of arguments and return
|
These functions take a variable number of arguments and return
|
||||||
the greatest or least value.
|
the greatest or least value among the arguments.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1020,8 +1047,8 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
Add <function>regexp_replace()</> (Atsushi Ogawa)
|
Add <function>regexp_replace()</> (Atsushi Ogawa)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
This allows regular expression replacement, like sed. A
|
This allows regular expression replacement, like sed. An optional
|
||||||
four-argument version also allows for global (replace all) and
|
flag argument allows selection of global (replace all) and
|
||||||
case-insensitive modes.
|
case-insensitive modes.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -1049,7 +1076,7 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
(not fixed 24-hour periods) to be added to dates who's result
|
(not fixed 24-hour periods) to be added to dates who's result
|
||||||
includes a daylight savings time adjustment period. Therefore,
|
includes a daylight savings time adjustment period. Therefore,
|
||||||
while in previous releases <literal>1 day</> and <literal>24
|
while in previous releases <literal>1 day</> and <literal>24
|
||||||
hours</> where interchangeable interval periods, in this release
|
hours</> were interchangeable interval values, in this release
|
||||||
they are treated differently, e.g.
|
they are treated differently, e.g.
|
||||||
<programlisting>
|
<programlisting>
|
||||||
'2005-05-03 00:00:00 EST' + '1 day' = '2005-05-04 00:00:00-04'
|
'2005-05-03 00:00:00 EST' + '1 day' = '2005-05-04 00:00:00-04'
|
||||||
@ -1157,13 +1184,13 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add <function>pg_rotate_logfile()</> to force rotation of the
|
Add <function>pg_rotate_logfile()</> to force rotation of the
|
||||||
server log file (Dave Page,
|
server log file (Dave Page, Andreas Pflug)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Change <literal>pg_stat_*</> views to show TOAST tables (Tom)
|
Change <literal>pg_stat_*</> views to include TOAST tables (Tom)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1178,7 +1205,7 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Rename some encodings to be more consistent and to follow
|
Rename some encodings to be more consistent and to follow
|
||||||
international standards(Bruce)
|
international standards (Bruce)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
@ -1228,7 +1255,7 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
<para>
|
<para>
|
||||||
Previously only one and two-byte <literal>UTF8</> characters
|
Previously only one and two-byte <literal>UTF8</> characters
|
||||||
were supported. This is particularly important for support for
|
were supported. This is particularly important for support for
|
||||||
some Chinese character.
|
some Chinese characters.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1242,11 +1269,12 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Allow the UTF8 encoding to work on Win32 (Magnus)
|
Allow the UTF8 encoding to work on Windows (Magnus)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
This is done by mapping UTF8 to the Win32-native UTF16
|
This is done by mapping UTF8 to the Windows-native UTF16
|
||||||
implementation.
|
implementation.
|
||||||
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
@ -1295,7 +1323,7 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Move language handlers into the <literal>pg_catalog</> schema
|
Move language handler functions into the <literal>pg_catalog</> schema
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
This makes it easier to drop the public schema if desired.
|
This makes it easier to drop the public schema if desired.
|
||||||
@ -1321,7 +1349,7 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Check function syntax as <command>CREATE FUNCTION</> time,
|
Check function syntax at <command>CREATE FUNCTION</> time,
|
||||||
rather than at runtime (Neil)
|
rather than at runtime (Neil)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
@ -1344,7 +1372,8 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
This is a byproduct of the newly added <command>OUT</> and
|
This is a byproduct of the newly added <command>OUT</> and
|
||||||
<command>INOUT</> functionality.
|
<command>INOUT</> functionality. <command>RETURN</> can
|
||||||
|
be omitted when it is not needed to provide the function result.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1511,8 +1540,8 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Prevent psql <command>\x</> (expanded mode) from affecting other
|
Prevent psql <command>\x</> (expanded mode) from affecting
|
||||||
backslash output (Neil)
|
backslash-command displays (Neil)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1528,7 +1557,7 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Have psql <command>\d</> show tablespace of indexes (Qingqing
|
Make psql <command>\d</> show tablespaces of indexes (Qingqing
|
||||||
Zhou)
|
Zhou)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -1541,8 +1570,8 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
<para>
|
<para>
|
||||||
This allows the user to just add <command>\h</> to the front of
|
This allows the user to just add <command>\h</> to the front of
|
||||||
the syntax error query and get help on the supported syntax.
|
the syntax error query and get help on the supported syntax.
|
||||||
Previously any additional query text beyond the help topics
|
Previously any additional query text beyond the command name
|
||||||
supported had to be removed to use <command>\h</>.
|
had to be removed to use <command>\h</>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1553,7 +1582,7 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
For example, using <literal>C</> locale <literal>100000</> would
|
For example, using <literal>C</> locale <literal>100000</> would
|
||||||
be output as <literal>100,000.0</> and European locale might
|
be output as <literal>100,000.0</> while a European locale might
|
||||||
output this value as <literal>100.000,0</>.
|
output this value as <literal>100.000,0</>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -1650,7 +1679,7 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add Kerberos 5 support for Win32 (Magnus)
|
Add Kerberos 5 support for Windows (Magnus)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1725,7 +1754,7 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Allow libpq to be build thread-safe on Win32 (Dave Page)
|
Allow libpq to be built thread-safe on Windows (Dave Page)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1756,7 +1785,7 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Cleanup the <filename>/contrib/lo</> module (Tom)
|
Clean up the <filename>/contrib/lo</> module (Tom)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1786,7 +1815,7 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<filename>/contrib/pgcrypto</> (Marko Kreen)
|
Improve <filename>/contrib/pgcrypto</> (Marko Kreen)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
@ -1796,7 +1825,7 @@ pg_[A-Za-z0-9_] <application>
|
|||||||
implementation of OpenPGP symmetric-key and public-key encryption
|
implementation of OpenPGP symmetric-key and public-key encryption
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Supported are both RSA and Elgamal public-key algorithms.
|
Both RSA and Elgamal public-key algorithms are supported.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user