Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
77b0f459
Commit
77b0f459
authored
Oct 04, 2007
by
Neil Conway
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
First pass at SGML-ifying the 8.3 release notes. Plenty of improvements
left to made, but this is a start.
parent
0a04109d
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
381 additions
and
302 deletions
+381
-302
doc/src/sgml/release.sgml
doc/src/sgml/release.sgml
+381
-302
No files found.
doc/src/sgml/release.sgml
View file @
77b0f459
<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.51
1 2007/10/03 23:02:16 tgl
Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.51
2 2007/10/04 03:53:58 neilc
Exp $ -->
<!--
<!--
Typical markup:
Typical markup:
...
@@ -48,8 +48,8 @@ do it for earlier branch release files.
...
@@ -48,8 +48,8 @@ do it for earlier branch release files.
<title>Overview</title>
<title>Overview</title>
<para>
<para>
This release adds many improvements that
This release adds many improvements that
were requested by users,
were requested by users,
including:
including:
<itemizedlist>
<itemizedlist>
...
@@ -61,7 +61,8 @@ do it for earlier branch release files.
...
@@ -61,7 +61,8 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
XML data type
Support for the SQL/XML standard, including a new <type>xml</type> builtin
data type
</para>
</para>
</listitem>
</listitem>
...
@@ -73,7 +74,7 @@ do it for earlier branch release files.
...
@@ -73,7 +74,7 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
UUID data type
UUID data type
, similar to that defined by RFC 4122
</para>
</para>
</listitem>
</listitem>
...
@@ -91,7 +92,7 @@ do it for earlier branch release files.
...
@@ -91,7 +92,7 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
U
PDATE/DELETE WHERE CURRENT OF cursor_name
U
pdatable cursors
</para>
</para>
</listitem>
</listitem>
...
@@ -107,8 +108,8 @@ do it for earlier branch release files.
...
@@ -107,8 +108,8 @@ do it for earlier branch release files.
</para>
</para>
<para>
<para>
Declarations such as
varchar(42) are no longer restricted to use
Declarations such as
<type>varchar(42)</type> are no longer
by built-in data types.
restricted to use
by built-in data types.
</para>
</para>
</listitem>
</listitem>
...
@@ -150,7 +151,8 @@ do it for earlier branch release files.
...
@@ -150,7 +151,8 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
The entire PostgreSQL system can now be built with Microsoft Visual C++
The entire <productname>PostgreSQL</productname> system can
now be compiled with Microsoft Visual C++
</para>
</para>
<para>
<para>
...
@@ -176,11 +178,12 @@ do it for earlier branch release files.
...
@@ -176,11 +178,12 @@ do it for earlier branch release files.
<para>
<para>
This would not, of course, be acceptable if the client takes some
This would not, of course, be acceptable if the client takes some
critical external action on the assumption that the transaction
critical external action on the assumption that the transaction
will be remembered; but for
many
applications, it is an acceptable
will be remembered; but for
certain
applications, it is an acceptable
risk for some or all transactions to use this mode. Unlike existing
risk for some or all transactions to use this mode. Unlike existing
options such as fsync, asynchronous commit does not risk database
options such as <varname>fsync</varname>, asynchronous commit does
corruption; the worst case is that after a crash, the last few
not risk database corruption; the worst case is that after a crash,
reportedly-committed transactions will not have taken effect.
the last few reportedly-committed transactions will not have
taken effect.
</para>
</para>
</listitem>
</listitem>
...
@@ -213,8 +216,8 @@ do it for earlier branch release files.
...
@@ -213,8 +216,8 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Efficiency improvements for large sequential scans, including
Efficiency improvements for large sequential scans, including
prevention of cache flushing and
"piggybacking" to let concurren
t
prevention of cache flushing and
<quote>piggybacking</quote> to le
t
scans read the table only once
concurrent
scans read the table only once
</para>
</para>
</listitem>
</listitem>
...
@@ -273,8 +276,8 @@ do it for earlier branch release files.
...
@@ -273,8 +276,8 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Casts to
text that formerly occurred implicitly may now need to be
Casts to
<type>text</type> that formerly occurred implicitly may now
written explicitly
need to be
written explicitly
</para>
</para>
<para>
<para>
...
@@ -319,8 +322,8 @@ do it for earlier branch release files.
...
@@ -319,8 +322,8 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
ARRAY(SELECT ...) now returns an empty array, rather than a NULL
,
<literal>ARRAY(SELECT ...)</literal> now returns an empty array
,
when the sub-select returns zero rows
rather than a NULL,
when the sub-select returns zero rows
</para>
</para>
</listitem>
</listitem>
...
@@ -332,16 +335,16 @@ do it for earlier branch release files.
...
@@ -332,16 +335,16 @@ do it for earlier branch release files.
</para>
</para>
<para>
<para>
This prevents less-than-sane behavior that formerly ensued
This prevents less-than-sane behavior that formerly ensued
if an
if an operator that doesn't
operator that doesn't actually define a proper sort ordering was
actually define a proper sort ordering was
specified.
specified.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
The array type associated with a type named
"foo" is not necessarily
The array type associated with a type named
<quote>foo</quote>
named "_foo"
anymore
is not necessarily named <quote>_foo</quote>
anymore
</para>
</para>
<para>
<para>
...
@@ -364,8 +367,8 @@ do it for earlier branch release files.
...
@@ -364,8 +367,8 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
SET LOCAL's effects now persist until the end of the
The effects of <command>SET LOCAL</command> now persist until
current top transaction, unless rolled back
the end of the
current top transaction, unless rolled back
</para>
</para>
<para>
<para>
...
@@ -385,7 +388,8 @@ do it for earlier branch release files.
...
@@ -385,7 +388,8 @@ do it for earlier branch release files.
<para>
<para>
For example, "BEGIN; DROP DATABASE; COMMIT" will now be rejected
For example, "BEGIN; DROP DATABASE; COMMIT" will now be rejected
even if submitted as a single Query message. This was always quite
even if submitted as a single Query message. This was always quite
unsafe, but the PreventTransactionChain test failed to detect it.
unsafe, but the <function>PreventTransactionChain</function>
test failed to detect it.
</para>
</para>
</listitem>
</listitem>
...
@@ -395,15 +399,15 @@ do it for earlier branch release files.
...
@@ -395,15 +399,15 @@ do it for earlier branch release files.
</para>
</para>
<para>
<para>
Some cases that might formerly have allowed invalid data to
enter
Some cases that might formerly have allowed invalid data to
the database will now be rejected. In particular, the chr()
enter the database will now be rejected. In particular, the
function changed behavior.
<function>chr()</function>
function changed behavior.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
convert()
family of functions changed behavior
<function>convert()</function>
family of functions changed behavior
</para>
</para>
<para>
<para>
...
@@ -425,10 +429,10 @@ do it for earlier branch release files.
...
@@ -425,10 +429,10 @@ do it for earlier branch release files.
</para>
</para>
<para>
<para>
The new
SET_VARSIZE() macro *must* be used to set the length wor
d
The new
<function>SET_VARSIZE()</> macro <emphasis>must</> be use
d
of a generated datum. Also, it
to set the length word of a generated datum. Also, it may be
may be necessary to "detoast" input varlena datums in cases where
necessary to <quote>detoast</quote> input varlena datums in cases
no toasting could have happened before.
where
no toasting could have happened before.
</para>
</para>
</listitem>
</listitem>
...
@@ -454,11 +458,12 @@ do it for earlier branch release files.
...
@@ -454,11 +458,12 @@ do it for earlier branch release files.
</para>
</para>
<para>
<para>
When synchronous_commit is off, we don't flush WAL before reporting
When <varname>synchronous_commit</varname> is off, we don't flush
a transaction committed. Data consistency is still guaranteed
WAL before reporting a transaction committed. Data consistency is
(unlike turning fsync off), but a crash may lose the effects of the
still guaranteed (unlike turning <varname>fsync</varname> off), but
last few transactions. In many applications this is an acceptable
a crash may lose the effects of the last few transactions. In many
tradeoff for improved performance.
applications this is an acceptable tradeoff for improved
performance.
</para>
</para>
</listitem>
</listitem>
...
@@ -489,8 +494,9 @@ do it for earlier branch release files.
...
@@ -489,8 +494,9 @@ do it for earlier branch release files.
index searches follow the HOT-chain links to ensure they find the
index searches follow the HOT-chain links to ensure they find the
correct tuple version. In addition, this patch introduces the
correct tuple version. In addition, this patch introduces the
ability to "prune" dead tuples on a per-page basis, without having
ability to "prune" dead tuples on a per-page basis, without having
to do a complete VACUUM pass to recover space. VACUUM is still
to do a complete <command>VACUUM</command> pass to recover space.
needed to clean up dead index entries, however.
<command>VACUUM</command> is still needed to clean up dead index
entries, however.
</para>
</para>
</listitem>
</listitem>
...
@@ -592,8 +598,8 @@ do it for earlier branch release files.
...
@@ -592,8 +598,8 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Skip writing WAL in
CLUSTER and COPY in cases where it's not neede
d
Skip writing WAL in
<command>CLUSTER</command> an
d
(Simon)
<command>COPY</command> in cases where it's not needed
(Simon)
</para>
</para>
<para>
<para>
...
@@ -605,7 +611,8 @@ do it for earlier branch release files.
...
@@ -605,7 +611,8 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Avoid rewriting pg_control at every WAL segment switch (Simon)
Avoid rewriting <filename>pg_control</filename> at every WAL segment
switch (Simon)
</para>
</para>
</listitem>
</listitem>
...
@@ -629,15 +636,15 @@ do it for earlier branch release files.
...
@@ -629,15 +636,15 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Make large sequential scans and
VACUUMs work in a limited-size
Make large sequential scans and
<command>VACUUM</command>s work in a
"ring"
of buffers (Simon, Heikki, Tom)
limited-size <quote>ring</quote>
of buffers (Simon, Heikki, Tom)
</para>
</para>
<para>
<para>
Aside from avoiding cache spoliation, this fixes the problem that
Aside from avoiding cache spoliation, this fixes the problem that
VACUUM formerly tended to cause a WAL flush for every page it
<command>VACUUM</command> formerly tended to cause a WAL flush for
modified, because we had it hacked to use only a single buffer.
every page it modified, because we had it hacked to use only a
Those flushes will now occur only once per ring-ful.
single buffer.
Those flushes will now occur only once per ring-ful.
</para>
</para>
</listitem>
</listitem>
...
@@ -677,7 +684,8 @@ do it for earlier branch release files.
...
@@ -677,7 +684,8 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Implement "top N" sorting in ORDER BY ... LIMIT queries (Greg Stark)
Implement <quote>top N</quote> sorting in <literal>ORDER BY
... LIMIT</literal> queries (Greg Stark)
</para>
</para>
<para>
<para>
...
@@ -691,7 +699,7 @@ do it for earlier branch release files.
...
@@ -691,7 +699,7 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Improve hash join for cases with many input NULLs (Tom)
Improve hash join
performance
for cases with many input NULLs (Tom)
</para>
</para>
</listitem>
</listitem>
...
@@ -713,8 +721,8 @@ do it for earlier branch release files.
...
@@ -713,8 +721,8 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Avoid computing X^2 at each row in
avg(bigint) and avg(numeric)
Avoid computing X^2 at each row in
<function>avg(bigint)</function>
(Mark Kirkwood)
and <function>avg(numeric)</function>
(Mark Kirkwood)
</para>
</para>
</listitem>
</listitem>
...
@@ -746,16 +754,16 @@ do it for earlier branch release files.
...
@@ -746,16 +754,16 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Set the default autovacuum
vacuum_cost_delay value to 20ms, and
Set the default autovacuum
<varname>vacuum_cost_delay</varname>
reduce the default autovacuum vacuum and analyze threshold values to
value to 20ms, and reduce the default autovacuum vacuum and analyze
50 tuples (Alvaro)
threshold values to
50 tuples (Alvaro)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Make autovacuum report the start time of its current activity in
Make autovacuum report the start time of its current activity in
pg_stat_activity
(Tom)
<literal>pg_stat_activity</literal>
(Tom)
</para>
</para>
</listitem>
</listitem>
...
@@ -779,11 +787,11 @@ do it for earlier branch release files.
...
@@ -779,11 +787,11 @@ do it for earlier branch release files.
<para>
<para>
Aside from improving performance (for example, by being able to make
Aside from improving performance (for example, by being able to make
use of newly-added indexes), this finally fixes the problem
use of newly-added indexes), this finally fixes the problem
that you
that you couldn't drop and recreate a temp table that's used by a
couldn't drop and recreate a temp table that's used by a PL/PgSQL
PL/PgSQL function, unless you used EXECUTE for all references to it.
function, unless you used <literal>EXECUTE</literal> for all
A statement that depends on a temp table will now be replanned
references to it. A statement that depends on a temp table will now
automatically if the temp table has been recreated.
be replanned
automatically if the temp table has been recreated.
</para>
</para>
</listitem>
</listitem>
...
@@ -838,35 +846,37 @@ do it for earlier branch release files.
...
@@ -838,35 +846,37 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Add
log_autovacuum_min_duration parameter to support configurable
Add
<varname>log_autovacuum_min_duration</varname> parameter to
logging of autovacuum actions (Simon, Alvaro)
support configurable
logging of autovacuum actions (Simon, Alvaro)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add log_lock_waits parameter to log long wait times (Simon)
Add <varname>log_lock_waits</varname> parameter to log long wait
times (Simon)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add
log_temp_files parameter to log usage of temporary files (Bill
Add
<varname>log_temp_files</varname> parameter to log usage of
Moran)
temporary files (Bill
Moran)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add
log_checkpoints parameter to improve logging of checkpoints
Add
<varname>log_checkpoints</varname> parameter to improve logging
(Greg Smith, Heikki)
of checkpoints
(Greg Smith, Heikki)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
%s and %c escapes in log_line_prefix can now be used in all
<literal>%s</literal> and <literal>%c</literal> escapes in
processes (Andrew)
<varname>log_line_prefix</varname> can now be used in all processes
(Andrew)
</para>
</para>
</listitem>
</listitem>
...
@@ -878,9 +888,10 @@ do it for earlier branch release files.
...
@@ -878,9 +888,10 @@ do it for earlier branch release files.
<para>
<para>
This avoids Windows-specific problems with localized time zone names
This avoids Windows-specific problems with localized time zone names
that are in the wrong encoding. There is a new log_timezone
that are in the wrong encoding. There is a new
parameter that controls the timezone used in log messages,
<varname>log_timezone</> parameter that controls the timezone used
separately from the client-visible timezone parameter.
in log messages, separately from the client-visible timezone
parameter.
</para>
</para>
</listitem>
</listitem>
...
@@ -900,8 +911,9 @@ do it for earlier branch release files.
...
@@ -900,8 +911,9 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Split the archive_command parameter into separate archive_mode and
Split the <varname>archive_command</> parameter into separate
archive_command parameters (Simon)
<varname>archive_mode</> and <varname>archive_command</> parameters
(Simon)
</para>
</para>
<para>
<para>
...
@@ -912,15 +924,16 @@ do it for earlier branch release files.
...
@@ -912,15 +924,16 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Add a %r option in recovery.conf to provide last restartpoint to
Add a <literal>%r</> option in <filename>recovery.conf</filename> to
recovery_command (Simon)
provide last restartpoint to <varname>restore_command</varname>
(Simon)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add
log_restartpoints recovery option to emit LOG message at each
Add
<varname>log_restartpoints</varname> recovery option to emit a
restartpoint (Simon)
log message at each
restartpoint (Simon)
</para>
</para>
</listitem>
</listitem>
...
@@ -933,36 +946,39 @@ do it for earlier branch release files.
...
@@ -933,36 +946,39 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Create a
temp_tablespaces parameter to allow selection of the
Create a
<varname>temp_tablespaces</varname> parameter to allow
tablespace(s) in which to store temp tables and temporary fi
les
selection of one or more tablespaces in which to store temp tab
les
(Jaime Casanova, Albert Cervera, Bernd Helmle)
and temporary files
(Jaime Casanova, Albert Cervera, Bernd Helmle)
</para>
</para>
<para>
<para>
This is a list to allow spreading the load across multiple
This is a list to allow spreading the load across multiple
tablespaces; a random list element is chosen each time a temp object
tablespaces; a random list element is chosen each time a temp object
is to be created. Temp files are not stored in per-database
is to be created. Temp files are not stored in per-database
pgsql_tmp/ directories anymore, but in per-tablespace directories.
<filename>pgsql_tmp/</filename> directories anymore, but in
per-tablespace directories.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
New system view pg_stat_bgwriter displays statistics about the
New system view <literal>pg_stat_bgwriter</literal> displays
background writer process's performance (Magnus)
statistics about the background writer process's performance
(Magnus)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add new columns for database-wide tuple statistics to
Add new columns for database-wide tuple statistics to
pg_stat_database
(Magnus)
<literal>pg_stat_database</literal>
(Magnus)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add an xact_start column to pg_stat_activity (Neil)
Add an <literal>xact_start</literal> column to
<literal>pg_stat_activity</literal> (Neil)
</para>
</para>
<para>
<para>
...
@@ -972,14 +988,15 @@ do it for earlier branch release files.
...
@@ -972,14 +988,15 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Add n_live_tuples and n_dead_tuples columns to pg_stat_all_tables
Add <literal>n_live_tuples</> and <literal>n_dead_tuples</> columns
and related views (Glen Parker)
to <literal>pg_stat_all_tables</literal> and related views (Glen
Parker)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Remove
stats_start_collector
parameter (Tom)
Remove
<varname>stats_start_collector</varname>
parameter (Tom)
</para>
</para>
<para>
<para>
...
@@ -990,25 +1007,27 @@ do it for earlier branch release files.
...
@@ -990,25 +1007,27 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Remove
stats_reset_on_server_start
parameter (Tom)
Remove
<varname>stats_reset_on_server_start</varname>
parameter (Tom)
</para>
</para>
<para>
<para>
This seemed useless in view of the availability of pg_stat_reset().
This seemed useless in view of the availability of
<function>pg_stat_reset()</function>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Merge
stats_block_level and stats_row_level parameters into a single
Merge
<varname>stats_block_level</> and <varname>stats_row_level</>
parameter
track_counts, which controls all reports sent to the
parameter
s into a single parameter track_counts, which controls all
collector process (Tom)
reports sent to the
collector process (Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Rename stats_command_string parameter to track_activities (Tom)
Rename <varname>stats_command_string</varname> parameter to
<varname>track_activities</varname> (Tom)
</para>
</para>
</listitem>
</listitem>
...
@@ -1020,10 +1039,11 @@ do it for earlier branch release files.
...
@@ -1020,10 +1039,11 @@ do it for earlier branch release files.
<para>
<para>
Previously, dropping (or attempting to drop) a user who owned many
Previously, dropping (or attempting to drop) a user who owned many
objects could result in extremely large NOTICE or ERROR messages
objects could result in extremely large <literal>NOTICE</literal> or
listing all these objects; this caused problems for some client
<literal>ERROR</literal> messages listing all these objects; this
applications. The length of the list is now limited, although a
caused problems for some client applications. The length of the
full list is still sent to the server log.
list is now limited, although a full list is still sent to the
server log.
</para>
</para>
</listitem>
</listitem>
...
@@ -1053,8 +1073,8 @@ do it for earlier branch release files.
...
@@ -1053,8 +1073,8 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Allow
CREATE INDEX CONCURRENTLY to disregard transactions in other
Allow
<command>CREATE INDEX CONCURRENTLY</command> to disregard
databases (Simon)
transactions in other
databases (Simon)
</para>
</para>
</listitem>
</listitem>
...
@@ -1072,14 +1092,14 @@ do it for earlier branch release files.
...
@@ -1072,14 +1092,14 @@ do it for earlier branch release files.
</para>
</para>
<para>
<para>
The features previously provided by
contrib/tsearch2 have been
The features previously provided by
<filename>contrib/tsearch2</>
improved and moved into the standard server.
have been
improved and moved into the standard server.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Support
ORDER BY ... NULLS FIRST/LAST
(Teodor, Tom)
Support
<literal>ORDER BY ... NULLS FIRST/LAST</literal>
(Teodor, Tom)
</para>
</para>
<para>
<para>
...
@@ -1108,7 +1128,7 @@ do it for earlier branch release files.
...
@@ -1108,7 +1128,7 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Allow
FOR UPDATE
in cursors (Arul Shaji, Tom)
Allow
<literal>FOR UPDATE</literal>
in cursors (Arul Shaji, Tom)
</para>
</para>
</listitem>
</listitem>
...
@@ -1132,7 +1152,8 @@ do it for earlier branch release files.
...
@@ -1132,7 +1152,8 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Create a general mechanism that supports casts to and from the
Create a general mechanism that supports casts to and from the
standard string types (text,varchar,bpchar) for *every* datatype, by
standard string types (<type>text</type>, <type>varchar</type>,
<type>bpchar</type>) for <emphasis>every</emphasis> datatype, by
invoking the datatype's I/O functions (Tom)
invoking the datatype's I/O functions (Tom)
</para>
</para>
...
@@ -1146,8 +1167,8 @@ do it for earlier branch release files.
...
@@ -1146,8 +1167,8 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Make
ARRAY(SELECT ...) return an empty array, rather than a NULL
,
Make
<literal>ARRAY(SELECT ...)</literal> return an empty array
,
when the sub-select returns zero rows (Tom)
rather than a NULL,
when the sub-select returns zero rows (Tom)
</para>
</para>
</listitem>
</listitem>
...
@@ -1166,15 +1187,17 @@ do it for earlier branch release files.
...
@@ -1166,15 +1187,17 @@ do it for earlier branch release files.
This allows hash joins, hash indexes, hashed subplans, and hash
This allows hash joins, hash indexes, hashed subplans, and hash
aggregation to be used in situations involving cross-data-type
aggregation to be used in situations involving cross-data-type
comparisons, if the data types have compatible hash functions. That
comparisons, if the data types have compatible hash functions. That
is currently the case for smallint/integer/bigint, and also for
is currently the case for
float4/float8.
<type>smallint</type>/<type>integer</type>/<type>bigint</type>, and
also for <type>float4</type>/<type>float8</type>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Improve handling of "equivalence classes" of variables that are
Improve handling of <quote>equivalence classes</quote> of variables
constrained to be equal within a query's WHERE clause (Tom)
that are constrained to be equal within a query's <literal>WHERE</>
clause (Tom)
</para>
</para>
<para>
<para>
...
@@ -1199,8 +1222,8 @@ do it for earlier branch release files.
...
@@ -1199,8 +1222,8 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Fix cost estimates for
EXISTS subqueries that are evaluated as
Fix cost estimates for
<literal>EXISTS</literal> subqueries that are
initPlans (Tom)
evaluated as
initPlans (Tom)
</para>
</para>
</listitem>
</listitem>
...
@@ -1217,7 +1240,8 @@ do it for earlier branch release files.
...
@@ -1217,7 +1240,8 @@ do it for earlier branch release files.
</para>
</para>
<para>
<para>
This operator was obsoleted long ago by IN (SELECT ...) queries.
This operator was obsoleted long ago by <literal>IN (SELECT
...)</literal> queries.
</para>
</para>
</listitem>
</listitem>
...
@@ -1238,11 +1262,12 @@ do it for earlier branch release files.
...
@@ -1238,11 +1262,12 @@ do it for earlier branch release files.
<para>
<para>
This change also removes the hardwired convention that a type's
This change also removes the hardwired convention that a type's
array type is named exactly "_type", instead using a new column
array type is named exactly <quote>_type</quote>, instead using a
pg_type.typarray to provide the linkage. (It still will be named
new column <literal>pg_type.typarray</literal> to provide the
"_type", though, except in odd corner cases such as maximum-length
linkage. (It still will be named <quote>_type</quote>, though,
type names or collisions with a pre-existing type named with a
except in odd corner cases such as maximum-length type names or
leading underscore.)
collisions with a pre-existing type named with a leading
underscore.)
</para>
</para>
</listitem>
</listitem>
...
@@ -1254,13 +1279,15 @@ do it for earlier branch release files.
...
@@ -1254,13 +1279,15 @@ do it for earlier branch release files.
<para>
<para>
This provides a simple solution for functions that need local
This provides a simple solution for functions that need local
settings for parameters; in particular, security definer functions
settings for parameters; in particular, security definer functions
that must set search_path to avoid security loopholes.
that must set <varname>search_path</varname> to avoid security
loopholes.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add COST and ROWS options to CREATE/ALTER FUNCTION (Tom)
Add <literal>COST</literal> and <literal>ROWS</literal> options to
<command>CREATE/ALTER FUNCTION</command> (Tom)
</para>
</para>
<para>
<para>
...
@@ -1283,10 +1310,13 @@ do it for earlier branch release files.
...
@@ -1283,10 +1310,13 @@ do it for earlier branch release files.
This will allow replication systems to control the firing mechanism
This will allow replication systems to control the firing mechanism
of triggers and rewrite rules without modifying the system catalogs
of triggers and rewrite rules without modifying the system catalogs
directly. The behavior is controlled by a new superuser-only
directly. The behavior is controlled by a new superuser-only
parameter session_replication_role.
parameter <varname>session_replication_role</varname>.
</para>
psql's \d command as well as pg_dump are extended in a backward
<para>
compatible fashion.
<application>psql</application>'s <literal>\d</literal> command as
well as <application>pg_dump</application> are extended in a
backward compatible fashion.
</para>
</para>
</listitem>
</listitem>
...
@@ -1300,15 +1330,15 @@ do it for earlier branch release files.
...
@@ -1300,15 +1330,15 @@ do it for earlier branch release files.
length and precision parameters used by some built-in types. Any
length and precision parameters used by some built-in types. Any
simple constant (numeric or string) or identifier can be used as a
simple constant (numeric or string) or identifier can be used as a
parameter value. A type-specific function must be provided to
parameter value. A type-specific function must be provided to
validate this information and pack it into a 32-bit
"typmod" value
validate this information and pack it into a 32-bit
<quote>typmod</>
for storage.
value
for storage.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Invent
"operator families" to allow improved handling of
Invent
<quote>operator families</quote> to allow improved handling
cross-data-type operators (Tom)
of
cross-data-type operators (Tom)
</para>
</para>
<para>
<para>
...
@@ -1381,8 +1411,9 @@ do it for earlier branch release files.
...
@@ -1381,8 +1411,9 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Support SET FROM CURRENT in CREATE/ALTER FUNCTION, ALTER DATABASE,
Support <literal>SET FROM CURRENT</literal> in <command>CREATE/ALTER
ALTER ROLE (Tom)
FUNCTION</command>, <command>ALTER DATABASE</command>,
<command>ALTER ROLE</command> (Tom)
</para>
</para>
<para>
<para>
...
@@ -1394,8 +1425,10 @@ do it for earlier branch release files.
...
@@ -1394,8 +1425,10 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Implement new commands DISCARD ALL, DISCARD PLANS, DISCARD TEMP,
Implement new commands <command>DISCARD ALL</command>,
CLOSE ALL, and DEALLOCATE ALL (Marko Kreen, Neil)
<command>DISCARD PLANS</command>, <command>DISCARD TEMP</command>,
<command>CLOSE ALL</command>, and <command>DEALLOCATE ALL</command>
(Marko Kreen, Neil)
</para>
</para>
<para>
<para>
...
@@ -1406,82 +1439,85 @@ do it for earlier branch release files.
...
@@ -1406,82 +1439,85 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Add
ALTER VIEW ... RENAME TO and ALTER SEQUENCE ... RENAME TO (David
Add
<command>ALTER VIEW ... RENAME TO</command> and <command>ALTER
Fetter, Neil)
SEQUENCE ... RENAME TO</command> (David
Fetter, Neil)
</para>
</para>
<para>
<para>
While it has long been possible to perform these operations using ALTER
While it has long been possible to perform these operations using
TABLE, users were often surprised that they couldn't say ALTER VIEW
<command>ALTER TABLE</command>, users were often surprised that they
or ALTER SEQUENCE as appropriate.
couldn't say <command>ALTER VIEW</command> or <command>ALTER
SEQUENCE</command> as appropriate.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Implement
CREATE TABLE LIKE ... INCLUDING INDEXES (Trevor
Implement
<command>CREATE TABLE LIKE ... INCLUDING
Hardcastle, Nikhil S, Neil)
INDEXES</command> (Trevor
Hardcastle, Nikhil S, Neil)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Make
CLUSTER
MVCC-safe (Heikki Linnakangas)
Make
<command>CLUSTER</command>
MVCC-safe (Heikki Linnakangas)
</para>
</para>
<para>
<para>
Formerly, a CLUSTER command would discard all tuples that were
Formerly, a <command>CLUSTER</command> command would discard all
committed dead, even if there were still transactions that should be
tuples that were committed dead, even if there were still
able to see them under the MVCC snapshot rules.
transactions that should be able to see them under the MVCC snapshot
rules.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Support
syntax "CLUSTER table USING index", which is more logical
Support
new syntax for <command>CLUSTER</command>: <literal>CLUSTER
than the old CLUSTER syntax
(Holger Schurig)
<replaceable>table</> USING <replaceable>index</></literal>
(Holger Schurig)
</para>
</para>
</listitem>
<listitem>
<para>
<para>
Make CLUSTER freeze tuples where possible (Heikki, Alvaro)
The old <command>CLUSTER</command> syntax is still supported, but
</para>
the new form is considered more logical.
<para>
This is nearly free and may avoid the need for a subsequent VACUUM
of the table.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Make
CLUSTER and TRUNCATE advance the table's relfrozenxid to
Make
<command>CLUSTER</command> freeze tuples where possible
RecentXmin (
Alvaro)
(Heikki,
Alvaro)
</para>
</para>
<para>
<para>
This
may avoid the need for a subsequent VACUUM of the table. The
This
is nearly free and may avoid the need for a subsequent
table-rewriting variants of ALTER TABLE do it too
.
<command>VACUUM</command> of the table
.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Fix EXPLAIN so it can always print the correct referent of an upper
Make <command>CLUSTER</command> and <command>TRUNCATE</command>
plan level expression (Tom)
advance the table's <literal>relfrozenxid</literal> to
<literal>RecentXmin</literal> (Alvaro)
</para>
</para>
<para>
<para>
This fix banishes the old hack of showing "?columnN?" when things
This may avoid the need for a subsequent <command>VACUUM</command>
got too complicated.
of the table. The table-rewriting variants of <command>ALTER
TABLE</command> do it too.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Make EXPLAIN ANALYZE show which sort method was used by a Sort node
Fix <command>EXPLAIN</command> so it can always print the correct
(Tom)
referent of an upper plan level expression (Tom)
</para>
<para>
This fix banishes the old hack of showing <quote>?columnN?</quote>
when things got too complicated.
</para>
</para>
</listitem>
</listitem>
...
@@ -1513,9 +1549,9 @@ do it for earlier branch release files.
...
@@ -1513,9 +1549,9 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Make
NOTIFY/LISTEN/UNLISTEN only accept identifiers without a schema
Make
qualifier
<command>NOTIFY</command>/<command>LISTEN</command>/<command>UNLISTEN</command>
(Bruce)
only accept identifiers without a schema qualifier
(Bruce)
</para>
</para>
<para>
<para>
...
@@ -1552,21 +1588,22 @@ do it for earlier branch release files.
...
@@ -1552,21 +1588,22 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Add a
"uuid" data type similar to that defined in RFC 4122 (Gevik
Add a
<type>uuid</type> data type similar to that defined in RFC
Babakhani, Neil)
4122 (see <xref linkend="datatype-uuid">) (Gevik
Babakhani, Neil)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Widen the
money
data type to 64 bits (D'Arcy Cain)
Widen the
<type>money</type>
data type to 64 bits (D'Arcy Cain)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add new regexp functions regexp_matches(), regexp_split_to_array(),
Add new regexp functions <function>regexp_matches()</function>,
and regexp_split_to_table() (Jeremy Drake, Neil)
<function>regexp_split_to_array()</function>, and
<function>regexp_split_to_table()</function> (Jeremy Drake, Neil)
</para>
</para>
<para>
<para>
...
@@ -1578,25 +1615,28 @@ do it for earlier branch release files.
...
@@ -1578,25 +1615,28 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Add lo_truncate() function for large object truncation (Kris Jurka)
Add <function>lo_truncate()</function> function for large object
truncation (Kris Jurka)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Implement width_bucket() for the float8 data type (Neil)
Implement <function>width_bucket()</function> for the float8 data
type (Neil)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add a function pg_stat_clear_snapshot() that discards any statistics
Add a function <function>pg_stat_clear_snapshot()</function> that
snapshot already collected in the current transaction (Tom)
discards any statistics snapshot already collected in the current
transaction (Tom)
</para>
</para>
<para>
<para>
This allows
plpgsql functions to watch for stats updates even though
This allows
PL/PgSQL functions to watch for stats updates even
they are confined to a single transaction.
th
ough th
ey are confined to a single transaction.
</para>
</para>
</listitem>
</listitem>
...
@@ -1626,8 +1666,8 @@ do it for earlier branch release files.
...
@@ -1626,8 +1666,8 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Make
to_timestamp() and to_date() assume "TM" for potentially
Make
<function>to_timestamp()</> and <function>to_date()</> assume
variable-width fields (Bruce)
"TM" for potentially
variable-width fields (Bruce)
</para>
</para>
<para>
<para>
...
@@ -1644,7 +1684,8 @@ do it for earlier branch release files.
...
@@ -1644,7 +1684,8 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Fix float4/float8 to handle Infinity and Nan consistently (Bruce)
Fix <type>float4</type>/<type>float8</type> to handle Infinity and
Nan consistently (Bruce)
</para>
</para>
<para>
<para>
...
@@ -1655,33 +1696,35 @@ do it for earlier branch release files.
...
@@ -1655,33 +1696,35 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Make
setseed() return void, rather than a useless integer value
Make
<function>setseed()</function> return void, rather than a
(Neil)
useless integer value
(Neil)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add a hash function for
"numeric"
(Neil)
Add a hash function for
<type>numeric</type>
(Neil)
</para>
</para>
<para>
<para>
This allows hash indexes and hash-based plans to be used with
This allows hash indexes and hash-based plans to be used with
the
numeric
datatype.
the
<type>numeric</type>
datatype.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Improve efficiency of LIKE/ILIKE code, especially for multi-byte
Improve efficiency of
charsets, and most especially for UTF8 (Andrew, Itagaki Takahiro)
<literal>LIKE</literal>/<literal>ILIKE</literal> code, especially
for multi-byte charsets, and most especially for UTF8 (Andrew,
Itagaki Takahiro)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow leading and trailing whitespace in the input to the
boolean
Allow leading and trailing whitespace in the input to the
type (Neil)
<type>boolean</type>
type (Neil)
</para>
</para>
</listitem>
</listitem>
...
@@ -1692,15 +1735,16 @@ do it for earlier branch release files.
...
@@ -1692,15 +1735,16 @@ do it for earlier branch release files.
<para>
<para>
This change plugs some holes that formerly existed in SQL literal
This change plugs some holes that formerly existed in SQL literal
backslash escape processing and
COPY escape processing: th
e
backslash escape processing and
<command>COPY</command> escap
e
de-escaped string is rechecked if it might have resulted in creating
processing: the de-escaped string is rechecked if it might have
invalid multi-byte characters.
resulted in creating
invalid multi-byte characters.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Ensure that chr() cannot create invalidly encoded text (Andrew)
Ensure that <function>chr()</function> cannot create invalidly
encoded text (Andrew)
</para>
</para>
<para>
<para>
...
@@ -1708,31 +1752,37 @@ do it for earlier branch release files.
...
@@ -1708,31 +1752,37 @@ do it for earlier branch release files.
point. In other multi-byte encodings the argument must designate a
point. In other multi-byte encodings the argument must designate a
7-bit ASCII character, or an error is raised, as is also the case if
7-bit ASCII character, or an error is raised, as is also the case if
the argument is 0.
the argument is 0.
</para>
ascii() is adjusted so that it remains the inverse of chr().
<para>
<function>ascii()</function> has been adjusted so that it remains
the inverse of <function>chr()</function>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Adjust convert() behavior to ensure encoding validity (Andrew)
Adjust <function>convert()</function> behavior to ensure encoding
validity (Andrew)
</para>
</para>
<para>
<para>
The two argument form of convert() is gone, and the three argument
The two argument form of <function>convert()</function> is gone, and
form now takes a bytea first argument and returns a bytea. To cover
the three argument form now takes a <type>bytea</type> first
this loss three new functions are introduced: . convert_from(bytea,
argument and returns a <type>bytea</type>. To cover this loss three
name) returns text - converts the first argument from the named
new functions are introduced: . convert_from(bytea, name) returns
encoding to the database encoding . convert_to(text, name) returns
text - converts the first argument from the named encoding to the
bytea - converts the first argument from the database encoding to
database encoding . convert_to(text, name) returns bytea - converts
the named encoding . length(bytea, name) returns int - gives the
the first argument from the database encoding to the named encoding
length of the first argument in characters in the named encoding.
. length(bytea, name) returns int - gives the length of the first
argument in characters in the named encoding.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Remove CONVERT(argument USING conversion_name) (Andrew)
Remove <literal>CONVERT(argument USING conversion_name)</literal>
(Andrew)
</para>
</para>
<para>
<para>
...
@@ -1749,20 +1799,21 @@ do it for earlier branch release files.
...
@@ -1749,20 +1799,21 @@ do it for earlier branch release files.
</para>
</para>
<para>
<para>
Restrict pg_database_size() to users who can connect to the target
Restrict <function>pg_database_size()</function> to users who can
database (note that CONNECT privilege is granted by default, so this
connect to the target database (note that <literal>CONNECT</literal>
does not change the default behavior). Restrict
privilege is granted by default, so this does not change the default
pg_tablespace_size() to users who have CREATE privilege on the
behavior). Restrict <function>pg_tablespace_size()</function> to
tablespace (which is *not* granted by default), except when the
users who have <literal>CREATE</literal> privilege on the tablespace
tablespace is the default tablespace for the current database (since
(which is <emphasis>not</emphasis> granted by default), except when
we treat that as implicitly allowing use of the tablespace).
the tablespace is the default tablespace for the current database
(since we treat that as implicitly allowing use of the tablespace).
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Make
currtid() functions require SELECT privileges on the target
Make
<function>currtid()</function> functions require
table (Tom)
<literal>SELECT</literal> privileges on the target
table (Tom)
</para>
</para>
</listitem>
</listitem>
...
@@ -1776,50 +1827,52 @@ do it for earlier branch release files.
...
@@ -1776,50 +1827,52 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Support scrollable cursors (ie, add a "direction" clause in
FETCH)
Support scrollable cursors (ie, add a "direction" clause in
in plpgsql
(Pavel Stehule)
<command>FETCH</command>) in PL/PgSQL
(Pavel Stehule)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add support for IN as alternative to FROM in PL/PgSQL's FETCH
Add support for <literal>IN</literal> as alternative to
statement, for consistency with the backend's FETCH command (Pavel
<literal>FROM</literal> in PL/PgSQL's <command>FETCH</command>
Stehule)
statement, for consistency with the backend's
<command>FETCH</command> command (Pavel Stehule)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Support MOVE in PL/PgSQL (Magnus, Pavel Stehule, Neil)
Support <command>MOVE</command> in PL/PgSQL (Magnus, Pavel Stehule,
Neil)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Implement
RETURN QUERY
for PL/PgSQL (Pavel Stehule, Neil)
Implement
<command>RETURN QUERY</command>
for PL/PgSQL (Pavel Stehule, Neil)
</para>
</para>
<para>
<para>
This provides some convenient syntax sugar for PL/PgSQL
This provides some convenient syntax sugar for PL/PgSQL
set-returning functions that want to return the result of evaluating
set-returning functions that want to return the result of evaluating
a query; it should also be more efficient than repeated
RETURN NEXT
a query; it should also be more efficient than repeated
statements.
<command>RETURN NEXT</command>
statements.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow
plpgsql
function parameter names to be qualified with the
Allow
PL/PgSQL
function parameter names to be qualified with the
function's name (Tom)
function's name (Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Reject zero or negative
BY step in plpgsql integer FOR-loops, and
Reject zero or negative
<literal>BY</literal> step in plpgsql
behave sanely if the loop value overflows int32 on the way to the
integer <literal>FOR</literal>-loops, and behave sanely if the loop
end value (Tom)
value overflows <type>int32</type> on the way to the
end value (Tom)
</para>
</para>
</listitem>
</listitem>
...
@@ -1839,8 +1892,9 @@ do it for earlier branch release files.
...
@@ -1839,8 +1892,9 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Allow type-name arguments to spi_prepare() to be standard type
Allow type-name arguments to <function>spi_prepare()</function> to
aliases as well as the names given in pg_type (Andrew)
be standard type aliases as well as the names given in
<literal>pg_type</literal> (Andrew)
</para>
</para>
</listitem>
</listitem>
...
@@ -1860,8 +1914,9 @@ do it for earlier branch release files.
...
@@ -1860,8 +1914,9 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Allow type-name arguments to plpy.prepare() to be standard type
Allow type-name arguments to <function>plpy.prepare()</function> to
aliases as well as the names given in pg_type (Andrew)
be standard type aliases as well as the names given in
<literal>pg_type</literal> (Andrew)
</para>
</para>
</listitem>
</listitem>
...
@@ -1882,8 +1937,9 @@ do it for earlier branch release files.
...
@@ -1882,8 +1937,9 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Allow type-name arguments to spi_prepare to be standard type aliases
Allow type-name arguments to <function>spi_prepare</> to be standard
as well as the names given in pg_type (Andrew)
type aliases as well as the names given in <literal>pg_type</>
(Andrew)
</para>
</para>
</listitem>
</listitem>
...
@@ -1927,57 +1983,61 @@ do it for earlier branch release files.
...
@@ -1927,57 +1983,61 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Add the function's volatility to the output of \df+ (Neil)
Add the function's volatility to the output of
<literal>\df+</literal> (Neil)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
In
\d patterns, always match $ literally, whether quoted or not
In
<literal>\d</literal> patterns, always match <literal>$</literal>
(Tom)
literally, whether quoted or not
(Tom)
</para>
</para>
<para>
<para>
Since we allow
$ as a character within identifiers, this behavior is
Since we allow
<literal>$</literal> as a character within
useful, whereas the previous behavior of treating it as the regexp
identifiers, this behavior is useful, whereas the previous behavior
ending anchor was nearly useless given that the pattern is
of treating it as the regexp ending anchor was nearly useless given
automatically anchored anyway.
that the pattern is
automatically anchored anyway.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add
\prompt
command (Chad Wagner)
Add
<literal>\prompt</literal>
command (Chad Wagner)
</para>
</para>
<para>
<para>
This lets a
psql
script prompt the user for input.
This lets a
<application>psql</application>
script prompt the user for input.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow \pset and \x, \t to use boolean constants on/off, rather than
Allow <literal>\pset</literal>, <literal>\t</literal> and
<literal>\x</literal> to use boolean constants on/off, rather than
always toggling (Chad Wagner)
always toggling (Chad Wagner)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add \sleep command to allow delays in psql scripts (Jan)
Add <literal>\sleep</> command to allow delays in
<application>psql</application> scripts (Jan)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Enable \timing output for \copy commands (Andrew)
Enable <literal>\timing</> output for <literal>\copy</> commands
(Andrew)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow
\timing to have better resolution than ~15ms on Windows
Allow
<literal>\timing</literal> to have better resolution than
(Itagaki Takahiro)
~15ms on Windows
(Itagaki Takahiro)
</para>
</para>
</listitem>
</listitem>
...
@@ -1997,19 +2057,20 @@ do it for earlier branch release files.
...
@@ -1997,19 +2057,20 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Add --tablespaces-only and --roles-only options to
pg_dumpall (Dave
Add --tablespaces-only and --roles-only options to
Page)
<application>pg_dumpall</application> (Dave
Page)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add output-file option for pg_dumpall (Dave Page)
Add output-file option for <application>pg_dumpall</application>
(Dave Page)
</para>
</para>
<para>
<para>
This is primarily useful on Windows, where output redirection of
This is primarily useful on Windows, where output redirection of
child
pg_dump
processes doesn't work.
child
<application>pg_dump</application>
processes doesn't work.
</para>
</para>
</listitem>
</listitem>
...
@@ -2022,15 +2083,15 @@ do it for earlier branch release files.
...
@@ -2022,15 +2083,15 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
In -n and -t switches, always match
$ literally, whether quoted or
In -n and -t switches, always match
<literal>$</literal> literally,
not (Tom)
whether quoted or
not (Tom)
</para>
</para>
<para>
<para>
Since we allow
$ as a character within identifiers, this behavior is
Since we allow
<literal>$</literal> as a character within
useful, whereas the previous behavior of treating it as the regexp
identifiers, this behavior is useful, whereas the previous behavior
ending anchor was nearly useless given that the pattern is
of treating it as the regexp ending anchor was nearly useless given
automatically anchored anyway.
that the pattern is
automatically anchored anyway.
</para>
</para>
</listitem>
</listitem>
...
@@ -2056,8 +2117,8 @@ do it for earlier branch release files.
...
@@ -2056,8 +2117,8 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Allow a nondefault
pg_xlog directory location to be specified to
Allow a nondefault
<filename>pg_xlog</filename> directory location
initdb (Euler Taveira de Oliveira)
to be specified to
initdb (Euler Taveira de Oliveira)
</para>
</para>
</listitem>
</listitem>
...
@@ -2126,14 +2187,16 @@ do it for earlier branch release files.
...
@@ -2126,14 +2187,16 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Add lo_truncate() function for large object truncation (Kris Jurka)
Add <function>lo_truncate()</function> function for large object
truncation (Kris Jurka)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Provide PQconnectionUsedPassword() function that returns true if the
Provide <function>PQconnectionUsedPassword()</function> function
server demanded a password during authentication (Joe Conway)
that returns true if the server demanded a password during
authentication (Joe Conway)
</para>
</para>
<para>
<para>
...
@@ -2239,10 +2302,10 @@ do it for earlier branch release files.
...
@@ -2239,10 +2302,10 @@ do it for earlier branch release files.
</para>
</para>
<para>
<para>
Third-party C code that manipulates varlena datums
*must*
convert to
Third-party C code that manipulates varlena datums
<emphasis>must</emphasis>
convert to
this convention, since the varvarlena patch changes the
this convention, since the varvarlena patch changes the
representation of length words on some architectures. Also, it
representation of length words on some architectures. Also, it
may be necessary to
"detoast"
input varlena datums in cases where
may be necessary to
<quote>detoast</quote>
input varlena datums in cases where
no toasting could have happened before.
no toasting could have happened before.
</para>
</para>
</listitem>
</listitem>
...
@@ -2257,7 +2320,7 @@ do it for earlier branch release files.
...
@@ -2257,7 +2320,7 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Remove the prohibition on executing cursor commands through
Remove the prohibition on executing cursor commands through
SPI_execute
(Tom)
<function>SPI_execute</function>
(Tom)
</para>
</para>
<para>
<para>
...
@@ -2342,8 +2405,8 @@ do it for earlier branch release files.
...
@@ -2342,8 +2405,8 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Get rid of client-code dependencies on the exact text of the
Get rid of client-code dependencies on the exact text of the
no-password error message, by using
PQconnectionUsedPassword()
no-password error message, by using
instead (Tom)
<function>PQconnectionUsedPassword()</function>
instead (Tom)
</para>
</para>
</listitem>
</listitem>
...
@@ -2356,15 +2419,18 @@ do it for earlier branch release files.
...
@@ -2356,15 +2419,18 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Remove the xlog-centric "database system is ready" message and
Remove the xlog-centric <quote>database system is ready</quote>
replace it with "database system is ready to accept connections"
message and replace it with <quote>database system is ready to
accept connections</quote>
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Provide strlcpy() and strlcat() on all platforms, and replace
Provide <function>strlcpy()</function> and
error-prone uses of strncpy(), strncat(), etc (Peter)
<function>strlcat()</function> on all platforms, and replace
error-prone uses of <function>strncpy()</function>,
<function>strncat()</function>, etc (Peter)
</para>
</para>
</listitem>
</listitem>
...
@@ -2376,9 +2442,10 @@ do it for earlier branch release files.
...
@@ -2376,9 +2442,10 @@ do it for earlier branch release files.
<para>
<para>
This improves error detection and reporting, both for external
This improves error detection and reporting, both for external
problems and for coding errors inside the backend. Notably,
problems and for coding errors inside the backend. Notably,
disallow mdread() beyond EOF, and enforce that mdwrite() is to be
disallow <function>mdread()</function> beyond EOF, and enforce that
used for rewriting existing blocks while mdextend() is to be used
<function>mdwrite()</function> is to be used for rewriting existing
for extending the relation EOF.
blocks while <function>mdextend()</function> is to be used for
extending the relation EOF.
</para>
</para>
</listitem>
</listitem>
...
@@ -2437,11 +2504,15 @@ do it for earlier branch release files.
...
@@ -2437,11 +2504,15 @@ do it for earlier branch release files.
determines the content of toast tables. Add TOAST_MAX_CHUNK_SIZE to
determines the content of toast tables. Add TOAST_MAX_CHUNK_SIZE to
the values checked in pg_control, since it can't be changed without
the values checked in pg_control, since it can't be changed without
invalidating toast table content.
invalidating toast table content.
</para>
Note: while TOAST_TUPLE_THRESHOLD can now be changed without
<note>
initdb, some thought still needs to be given to needs_toast_table()
<para>
in toasting.c before unleashing random changes.
While TOAST_TUPLE_THRESHOLD can now be changed without initdb, some
thought still needs to be given to needs_toast_table() in
toasting.c before unleashing random changes.
</para>
</para>
</note>
</listitem>
</listitem>
<listitem>
<listitem>
...
@@ -2492,7 +2563,8 @@ do it for earlier branch release files.
...
@@ -2492,7 +2563,8 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Downgrade some boring startup messages to DEBUG1 (Peter)
Downgrade some boring startup messages to <literal>DEBUG1</literal>
(Peter)
</para>
</para>
</listitem>
</listitem>
...
@@ -2512,8 +2584,9 @@ do it for earlier branch release files.
...
@@ -2512,8 +2584,9 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Arrange for quote_identifier() and pg_dump to not quote keywords
Arrange for <function>quote_identifier()</function> and
that are unreserved according to the grammar (Tom)
<application>pg_dump</application> to not quote keywords that are
unreserved according to the grammar (Tom)
</para>
</para>
<para>
<para>
...
@@ -2531,16 +2604,17 @@ do it for earlier branch release files.
...
@@ -2531,16 +2604,17 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Adjust the output of
MemoryContextStats() so that the line for a
Adjust the output of
<function>MemoryContextStats()</function> so
child memory context is indented two spaces to the right of its
that the line for a child memory context is indented two spaces to
parent context (Neil)
the right of its
parent context (Neil)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Change on-disk representation of NUMERIC datatype so that the
Change the on-disk representation of the <type>numeric</type>
sign_dscale word comes before the weight instead of after (Tom)
datatype so that the sign_dscale word comes before the weight
instead of after (Tom)
</para>
</para>
</listitem>
</listitem>
...
@@ -2561,26 +2635,28 @@ do it for earlier branch release files.
...
@@ -2561,26 +2635,28 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Add
/contrib/pageinspect module for low-level page inspection
Add
<filename>/contrib/pageinspect</filename> module for low-level
(Simon, Heikki)
page inspection
(Simon, Heikki)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add /contrib/pg_standby module for warm standby operation (Simon)
Add <filename>/contrib/pg_standby</filename> module for warm standby
operation (Simon)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add
/contrib/uuid-ossp module for generating UUID values using the OSSP
Add
<filename>/contrib/uuid-ossp</filename> module for generating
UUID library (Peter)
UUID
values using the OSSP UUID
library (Peter)
</para>
</para>
<para>
<para>
Use configure option --with-ossp-uuid to activate. This takes
Use configure option <literal>--with-ossp-uuid</literal> to
advantage of the new UUID builtin type.
activate. This takes advantage of the new <type>uuid</type> builtin
type.
</para>
</para>
</listitem>
</listitem>
...
@@ -2617,27 +2693,31 @@ do it for earlier branch release files.
...
@@ -2617,27 +2693,31 @@ do it for earlier branch release files.
<listitem>
<listitem>
<para>
<para>
Update /contrib/start-scripts OS/X startup files, and move to a
Update <filename>/contrib/start-scripts</filename> OS/X startup
separate OS/X directory (Mark Cotner, David Fetter)
files, and move to a separate OS/X directory (Mark Cotner, David
Fetter)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Restrict pgrowlocks() and dblink_get_pkey() to users who have SELECT
Restrict <function>pgrowlocks()</function> and
privilege on the target table (Tom)
<function>dblink_get_pkey()</function> to users who have
<literal>SELECT</literal> privilege on the target table (Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Restrict contrib/pgstattuple functions to superusers (Tom)
Restrict <filename>contrib/pgstattuple</filename> functions to
superusers (Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
contrib/xml2 is deprecated and planned for removal in 8.4 (Peter)
<filename>contrib/xml2</filename> is deprecated and planned for
removal in 8.4 (Peter)
</para>
</para>
<para>
<para>
...
@@ -2648,7 +2728,6 @@ do it for earlier branch release files.
...
@@ -2648,7 +2728,6 @@ do it for earlier branch release files.
</itemizedlist>
</itemizedlist>
</sect3>
</sect3>
</sect2>
</sect2>
</sect1>
</sect1>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment