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
e328f8b0
Commit
e328f8b0
authored
Sep 18, 2006
by
Bruce Momjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Wrap long lines in 8.2 release notes.
parent
1fc333f0
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
628 additions
and
455 deletions
+628
-455
doc/src/sgml/release.sgml
doc/src/sgml/release.sgml
+628
-455
No files found.
doc/src/sgml/release.sgml
View file @
e328f8b0
<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.43
6 2006/09/18 22:43:16
momjian Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.43
7 2006/09/18 23:01:43
momjian Exp $ -->
<!--
<!--
Typical markup:
Typical markup:
...
@@ -59,8 +59,9 @@ For new features, add links to the documentation sections.
...
@@ -59,8 +59,9 @@ For new features, add links to the documentation sections.
<title>Migration to version 8.2</title>
<title>Migration to version 8.2</title>
<para>
<para>
A dump/restore using <application>pg_dump</application> is required
A dump/restore using <application>pg_dump</application> is
for those wishing to migrate data from any previous release.
required for those wishing to migrate data from any previous
release.
</para>
</para>
<para>
<para>
...
@@ -96,130 +97,144 @@ For new features, add links to the documentation sections.
...
@@ -96,130 +97,144 @@ For new features, add links to the documentation sections.
<listitem>
<listitem>
<para>
<para>
Improve efficiency of <literal>IN</> (list-of-expressions) clauses (Tom)
Improve efficiency of <literal>IN</> (list-of-expressions)
clauses (Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Reduce locking requirements of sequential scans (Qingqing Zhou)
Reduce locking requirements of sequential scans (Qingqing
Zhou)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Improve subtransaction performance (Alvaro, Itagaki Takahiro, Tom)
Improve subtransaction performance (Alvaro, Itagaki Takahiro,
Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Improve locking performance by breaking locks into sections (Tom)
Improve locking performance by breaking locks into sections
(Tom)
</para>
</para>
<para>
<para>
This allows locking to be more fine-grained, reducing contention.
This allows locking to be more fine-grained, reducing
contention.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow the planner to re-order <literal>OUTER JOIN</>s when possible (Tom)
Allow the planner to re-order <literal>OUTER JOIN</>s when
possible (Tom)
</para>
</para>
<para>
<para>
This makes a considerable difference for queries involving multiple outer
This makes a considerable difference for queries involving
joins.
multiple outer
joins.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Improve planning of joins to inherited tables and <literal>UNION ALL</> views (Tom)
Improve planning of joins to inherited tables and <literal>UNION
ALL</> views (Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Improve cost estimation for nestloop index scans (Tom)
Improve cost estimation for nestloop index scans (Tom)
</para>
</para>
<para>
<para>
This may eliminate the need to set unrealistically small values of
This may eliminate the need to set unrealistically small
<envar>random_page_cost</>. If you have been using a very small
values of <envar>random_page_cost</>. If you have been
<envar>random_page_cost</>, please recheck your test cases.
using a very small <envar>random_page_cost</>, please
recheck your test cases.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Increase default values for <envar>shared_buffers</> and <envar>max_fsm_pages</>(Andrew)
Increase default values for <envar>shared_buffers</> and
<envar>max_fsm_pages</>(Andrew)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Improve the optimizer statistics used by <literal>LIKE</>, <literal>ILIKE</>, and regular expression
Improve the optimizer statistics used by <literal>LIKE</>,
operations (Tom)
<literal>ILIKE</>, and regular expression
operations (Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow constraint exclusion to be applied to inherited <command>UPDATE</>/<command>DELETE</>
Allow constraint exclusion to be applied to inherited
queries (Tom)
<command>UPDATE</>/<command>DELETE</>
queries (Tom)
</para>
</para>
<para>
<para>
<command>SELECT</> already honored constraint exclusion.
<command>SELECT</> already honored constraint exclusion.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Improve sorting speed and reduce memory usage (Simon, Tom)
Improve sorting speed and reduce memory usage (Simon, Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
<function>MIN()</>/<function>MAX()</> can now use indexes in more cases (Tom)
<function>MIN()</>/<function>MAX()</> can now use indexes
in more cases (Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Improve concurrency for database creation and destruction (Tom)
Improve concurrency for database creation and destruction
(Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Speed up vacuuming of btree indexes (Heikki Linnakangas, Tom)
Speed up vacuuming of btree indexes (Heikki Linnakangas,
Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Improve <command>COPY</> performance (Alon Goldshuv, Tom)
Improve <command>COPY</> performance (Alon Goldshuv, Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <literal>FILLFACTOR</> to <command>CREATE INDEX</> (ITAGAKI Takahiro)
Add <literal>FILLFACTOR</> to <command>CREATE INDEX</>
(ITAGAKI Takahiro)
</para>
</para>
<para>
<para>
This provides infrastructure to allow index access methods to
This provides infrastructure to allow index access methods
accept special parameters of all kinds, but <literal>FILLFACTOR</> is
to accept special parameters of all kinds, but
implemented first.
<literal>FILLFACTOR</> is
implemented first.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Remove dead index entries before btree page split (Junji Teramoto)
Remove dead index entries before btree page split (Junji
Teramoto)
</para>
</para>
</listitem>
</listitem>
</sect3>
</sect3>
...
@@ -244,195 +259,212 @@ For new features, add links to the documentation sections.
...
@@ -244,195 +259,212 @@ For new features, add links to the documentation sections.
<listitem>
<listitem>
<para>
<para>
Add support for include directives in <filename>postgresql.conf</> (Joachim Wieland)
Add support for include directives in <filename>postgresql.conf</>
(Joachim Wieland)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add native <acronym>LDAP</> authentication (Magnus Hagander)
Add native <acronym>LDAP</> authentication (Magnus Hagander)
</para>
</para>
<para>
<para>
This is particularly useful for platforms that do not support <acronym>PAM</>,
This is particularly useful for platforms that do not
such as Win32.
support <acronym>PAM</>,
such as Win32.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Re-enable <envar>full_page_writes</> (Tom)
Re-enable <envar>full_page_writes</> (Tom)
</para>
</para>
<para>
<para>
This flag can now be used even with <acronym>PITR</>. It is turned on
This flag can now be used even with <acronym>PITR</>. It
automatically between <function>pg_start_backup()</> and <function>pg_stop_backup()</> calls.
is turned on automatically between <function>pg_start_backup()</>
and <function>pg_stop_backup()</> calls.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add support for <acronym>SSL</> Certificate Revocation List (<acronym>CRL</>) files, <filename>root.crl</>
Add support for <acronym>SSL</> Certificate Revocation List
(Libor Hohoš)
(<acronym>CRL</>) files, <filename>root.crl</> (Libor
Hohoš)
</para>
</para>
<para>
<para>
This was added to <application>libpq</> as well.
This was added to <application>libpq</> as well.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Remove routine autovacuum server log entries (Bruce)
Remove routine autovacuum server log entries (Bruce)
</para>
</para>
<para>
<para>
<literal>pg_stat_activity</> now shows autovacuum activity.
<literal>pg_stat_activity</> now shows autovacuum activity.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <literal>GRANT CONNECT ON DATABASE</>, to be used in addition to <filename>pg_hba.conf</>
Add <literal>GRANT CONNECT ON DATABASE</>, to be used in
(Gevik Babakhani)
addition to <filename>pg_hba.conf</>
(Gevik Babakhani)
</para>
</para>
<para>
<para>
This gives SQL-control over database access, and works in combination
This gives SQL-control over database access, and works in
with the existing <filename>pg_hba.conf</> controls.
combination with the existing <filename>pg_hba.conf</>
controls.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add last vacuum and analyze timestamp columns to the stats collector (Larry
Add last vacuum and analyze timestamp columns to the stats
Rosenman)
collector (Larry
Rosenman)
</para>
</para>
<para>
<para>
These values now appear in the <literal>pg_stat_*_tables</> system views, and are used
These values now appear in the <literal>pg_stat_*_tables</>
by autovacuum. ?
system views, and are used
by autovacuum. ?
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Deprecate use of <application>postmaster</> symlink (Peter)
Deprecate use of <application>postmaster</> symlink (Peter)
</para>
</para>
<para>
<para>
<application>postmaster</> and <application>postgres</> commands now act identically, with the behavior
<application>postmaster</> and <application>postgres</>
determined by switches. The <application>postmaster</> symlink is kept for
commands now act identically, with the behavior determined
compatibility, but is not really needed.
by switches. The <application>postmaster</> symlink is
kept for compatibility, but is not really needed.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <acronym>GUC</> <envar>update_process_title</> to control whether the <application>ps</> display is
Add <acronym>GUC</> <envar>update_process_title</> to
updated for every command, default to <literal>on</> (Bruce)
control whether the <application>ps</> display is updated
for every command, default to <literal>on</> (Bruce)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Track tables needing vacuum with more accuracy (Alvaro)
Track tables needing vacuum with more accuracy (Alvaro)
</para>
</para>
<para>
<para>
This reduces the overhead involved in preventing transaction ID
This reduces the overhead involved in preventing transaction
wraparound.
ID
wraparound.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow units to be specified in configuration settings (Peter)
Allow units to be specified in configuration settings
(Peter)
</para>
</para>
<para>
<para>
You can now set <envar>shared_buffer</> to <literal>32000kB</>, for example.
You can now set <envar>shared_buffer</> to <literal>32000kB</>,
for example.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Improve logging of protocol-level prepare/bind/execute messages (Bruce, Tom)
Improve logging of protocol-level prepare/bind/execute
messages (Bruce, Tom)
</para>
</para>
<para>
<para>
Such logging now shows statement names, bind parameter values, and the
Such logging now shows statement names, bind parameter
text of the query being executed.
values, and the
text of the query being executed.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Change <envar>log_duration</> to output even if the query is not output (Tom)
Change <envar>log_duration</> to output even if the query
is not output (Tom)
</para>
</para>
<para>
<para>
In prior releases, <envar>log_duration</> only printed if the query appeared
In prior releases, <envar>log_duration</> only printed if
earlier in the logs.
the query appeared earlier in the logs.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow a forced switch to a new xlog file (Simon Riggs, Tom)
Allow a forced switch to a new xlog file (Simon Riggs, Tom)
</para>
</para>
<para>
<para>
This is valuable for keeping <acronym>PITR</> standby servers in sync with the master.
This is valuable for keeping <acronym>PITR</> standby
xlog file switching also happens automatically during <function>pg_stop_backup()</>.
servers in sync with the master. xlog file switching also
This ensures that <acronym>PITR</> servers have all xlog files needed
happens automatically during <function>pg_stop_backup()</>.
for recovery.
This ensures that <acronym>PITR</> servers have all xlog
files needed for recovery.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <acronym>WAL</> informational functions (Simon Riggs)
Add <acronym>WAL</> informational functions (Simon Riggs)
</para>
</para>
<para>
<para>
Add functions for interrogating the current xlog insertion point and
Add functions for interrogating the current xlog insertion
determining <acronym>WAL</> filenames from the hex <acronym>WAL</> locations displayed by
point and determining <acronym>WAL</> filenames from the
<function>pg_stop_backup()</> and friends.
hex <acronym>WAL</> locations displayed by
<function>pg_stop_backup()</> and friends.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow <acronym>WAL</> replay to be restored quicker in case of a crash (Simon Riggs)
Allow <acronym>WAL</> replay to be restored quicker in case
of a crash (Simon Riggs)
</para>
</para>
<para>
<para>
The server now does periodic checkpoints during <acronym>WAL</> recovery, so
The server now does periodic checkpoints during <acronym>WAL</>
if there is a crash, future <acronym>WAL</> recovery is shortened. This also eliminates
recovery, so if there is a crash, future <acronym>WAL</>
the need for <acronym>PITR</> standby servers to replay the entire log since the base
recovery is shortened. This also eliminates the need for
backup if they crash.
<acronym>PITR</> standby servers to replay the entire log
since the base backup if they crash.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <envar>archive_timeout</> to force xlog file switches at a given interval (Simon Riggs)
Add <envar>archive_timeout</> to force xlog file switches
at a given interval (Simon Riggs)
</para>
</para>
<para>
<para>
This enforces a maximum delay for <acronym>PITR</> standby servers.
This enforces a maximum delay for <acronym>PITR</> standby
servers.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add a <literal>waiting</> column to <literal>pg_stat_activity</> (Tom)
Add a <literal>waiting</> column to <literal>pg_stat_activity</>
(Tom)
</para>
</para>
<para>
<para>
This allows <literal>pg_stat_activity</> to show the same information as the <literal>ps</>
This allows <literal>pg_stat_activity</> to show the same
display.
information as the <literal>ps</>
display.
</para>
</para>
</sect3>
</sect3>
...
@@ -442,247 +474,274 @@ For new features, add links to the documentation sections.
...
@@ -442,247 +474,274 @@ For new features, add links to the documentation sections.
<listitem>
<listitem>
<para>
<para>
Support portal parameters in <command>EXPLAIN</> and <command>EXECUTE</> (Tom)
Support portal parameters in <command>EXPLAIN</> and
<command>EXECUTE</> (Tom)
</para>
</para>
<para>
<para>
This allows, for example, <literal>?</> parameters to work in these commands in
This allows, for example, <literal>?</> parameters to work
<acronym>JDBC</>.
in these commands in
<acronym>JDBC</>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <literal>IS NOT DISTINCT FROM</> (Pavel Stehule)
Add <literal>IS NOT DISTINCT FROM</> (Pavel Stehule)
</para>
</para>
<para>
<para>
It is similar to equals (<literal>=</>), but is true when both left and right arguments
It is similar to equals (<literal>=</>), but is true when
are <literal>NULL</>, and false when just one is, rather than yielding <literal>NULL</> in these cases.
both left and right arguments are <literal>NULL</>, and
false when just one is, rather than yielding <literal>NULL</>
in these cases.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Make row comparisons follow <acronym>SQL</> standard semantics and allow them to be
Make row comparisons follow <acronym>SQL</> standard
used in index scans (Tom)
semantics and allow them to be
used in index scans (Tom)
</para>
</para>
<para>
<para>
Previously, row = and <> comparisons followed the standard but <
Previously, row = and <> comparisons followed the
<= > >= did not. A row comparison can now be used as an index
standard but < <= > >= did not. A row comparison
constraint for a multicolumn index matching the row value.
can now be used as an index constraint for a multicolumn
index matching the row value.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow additional row values comparison (Tom)
Allow additional row values comparison (Tom)
</para>
</para>
<para>
<para>
Add <, <=, >, >=.
Add <, <=, >, >=.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add system view <literal>pg_prepared_statements</> to show prepared statements (Joachim
Add system view <literal>pg_prepared_statements</> to show
Wieland)
prepared statements (Joachim
Wieland)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add system view <literal>pg_cursors</> to show open cursors (Joachim Wieland)
Add system view <literal>pg_cursors</> to show open cursors
(Joachim Wieland)
</para>
</para>
<para>
<para>
Both this and <literal>pg_prepared_statements</> are very useful for pooled
Both this and <literal>pg_prepared_statements</> are very
connection setups.
useful for pooled
connection setups.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
If <acronym>SQL</>-level <command>PREPARE</> parameters are unknown, infer their types from the
If <acronym>SQL</>-level <command>PREPARE</> parameters
context of the query (Neil)
are unknown, infer their types from the context of the
query (Neil)
</para>
</para>
<para>
<para>
Protocol-level <command>PREPARE</> already did this.
Protocol-level <command>PREPARE</> already did this.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow <command>UPDATE</> and <command>DELETE</> to use an alias for the target table (Atsushi Ogawa)
Allow <command>UPDATE</> and <command>DELETE</> to use an
alias for the target table (Atsushi Ogawa)
</para>
</para>
<para>
<para>
This allows these statements to support self-joins more conveniently.
This allows these statements to support self-joins more
<command>UPDATE</> already supported as <literal>FROM</> clause, but <command>DELETE</> did not.
conveniently. <command>UPDATE</> already supported as
<literal>FROM</> clause, but <command>DELETE</> did not.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <literal>CASCADE</> option to <command>TRUNCATE</> (Joachim Wieland)
Add <literal>CASCADE</> option to <command>TRUNCATE</>
(Joachim Wieland)
</para>
</para>
<para>
<para>
This allows <command>TRUNCATE</> also to automatically truncate all foreign-ke
y
This allows <command>TRUNCATE</> also to automaticall
y
referencing tables.
truncate all foreign-key
referencing tables.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Enable <envar>standard_conforming_strings</> to be turned on (Kevin Grittner)
Enable <envar>standard_conforming_strings</> to be turned
<literal>on</> (Kevin Grittner)
</para>
</para>
<para>
<para>
This allow special backslash escaping in strings to be turned off
This allow special backslash escaping in strings to be
so <productname>PostgreSQL</> is more standards-compliant. The default is <literal>off</>,
turned off so <productname>PostgreSQL</> is more
but future releases will default this to <literal>on</>.
standards-compliant. The default is <literal>off</>, but
future releases will default this to <literal>on</>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Set <envar>escape_string_warning</> to <literal>on</> by default (Bruce)
Set <envar>escape_string_warning</> to <literal>on</> by
default (Bruce)
</para>
</para>
<para>
<para>
This issues a warning if backslash escapes are used in non-escape
This issues a warning if backslash escapes are used in
(non-<literal>E''</>) strings.
non-escape
(non-<literal>E''</>) strings.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Support <literal>FOR UPDATE</> and <literal>FOR SHARE</> in the same command (Tom)
Support <literal>FOR UPDATE</> and <literal>FOR SHARE</>
in the same command (Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Disallow aggregate functions in <command>UPDATE</> commands (unless within a
Disallow aggregate functions in <command>UPDATE</> commands
subquery) (Tom)
(unless within a
subquery) (Tom)
</para>
</para>
<para>
<para>
The standard disallows this, and it leads to unpredictable results.
The standard disallows this, and it leads to unpredictable
results.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Change the row constructor syntax (<literal>ROW(...)</>) so that list elements <literal>foo.*</>
Change the row constructor syntax (<literal>ROW(...)</>)
will be expanded to a list of their member fields, rather than creating
so that list elements <literal>foo.*</> will be expanded
a nested rowtype field as formerly (Tom)
to a list of their member fields, rather than creating a
nested rowtype field as formerly (Tom)
</para>
</para>
<para>
<para>
The new behavior is substantially more useful since it allows, for example,
The new behavior is substantially more useful since it
triggers to check for data changes with <literal>IF row(new.*) IS DISTINCT FROM row(old.*)</>.
allows, for example, triggers to check for data changes
The old behavior is still available by omitting <literal>.*</>.
with <literal>IF row(new.*) IS DISTINCT FROM row(old.*)</>.
The old behavior is still available by omitting <literal>.*</>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Change <literal>LIMIT</>/<literal>OFFSET</> to use <type>int8</> (Dhanaraj M)
Change <literal>LIMIT</>/<literal>OFFSET</> to use
<type>int8</> (Dhanaraj M)
</para>
</para>
<para>
<para>
This allows <literal>LIMIT</>/<literal>OFFSET</> over two-billion.
This allows <literal>LIMIT</>/<literal>OFFSET</> over
two-billion.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add support for multi-row <literal>VALUES</> clauses as part of <command>INSERT</> and <command>SELECT</> statements
Add support for multi-row <literal>VALUES</> clauses as
(Joe, Tom)
part of <command>INSERT</> and <command>SELECT</> statements
(Joe, Tom)
</para>
</para>
<para>
<para>
This allows <command>INSERT</> to insert multiple rows of constants, or queries
This allows <command>INSERT</> to insert multiple rows of
to generate result sets using constants. For example, <literal>INSERT ...
constants, or queries to generate result sets using constants.
VALUES (...), (...), ....</>, and <literal>SELECT * FROM (VALUES (...),
For example, <literal>INSERT ... VALUES (...), (...),
(...), ....) AS alias(f1, ...)</>.
....</>, and <literal>SELECT * FROM (VALUES (...), (...),
....) AS alias(f1, ...)</>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Improve the length output used by <literal>UNION</>/<literal>INTERSECT</>/<literal>EXCEPT</> (Tom)
Improve the length output used by
<literal>UNION</>/<literal>INTERSECT</>/<literal>EXCEPT</>
(Tom)
</para>
</para>
<para>
<para>
When all columns are of the same defined length, that length is used
When all columns are of the same defined length, that length
for output, rather than a generic length.
is used
for output, rather than a generic length.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <command>INSERT</>/<command>UPDATE</>/<command>DELETE</> <literal>RETURNING</> (Jonah Harris, Tom)
Add <command>INSERT</>/<command>UPDATE</>/<command>DELETE</>
<literal>RETURNING</> (Jonah Harris, Tom)
</para>
</para>
<para>
<para>
This allows these commands to return values, such as the computed serial
This allows these commands to return values, such as the
key for a new row. In the <command>UPDATE</> case, values from the new state of the
computed serial key for a new row. In the <command>UPDATE</>
row are returned.
case, values from the new state of the
row are returned.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow <command>UPDATE</> to set multiple columns with a list of values (Susanne
Allow <command>UPDATE</> to set multiple columns with a
Ebrecht)
list of values (Susanne
Ebrecht)
</para>
</para>
<para>
<para>
This is basically as short-hand for assigning the columns and values
This is basically as short-hand for assigning the columns
in pairs. The syntax is <literal>UPDATE tab SET (col, ...) = (val, ...)</>.
and values in pairs. The syntax is <literal>UPDATE tab
SET (col, ...) = (val, ...)</>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow <literal>ILIKE</> to work for multi-byte encodings (Tom)
Allow <literal>ILIKE</> to work for multi-byte encodings
(Tom)
</para>
</para>
<para>
<para>
Internally, <literal>ILIKE</> now calls <function>lower()</> and then uses <literal>LIKE</>. Locale-specific
Internally, <literal>ILIKE</> now calls <function>lower()</>
regular expression operations still do not work in these encodings.
and then uses <literal>LIKE</>. Locale-specific regular
expression operations still do not work in these encodings.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Protocol-level unnamed prepared statements are re-planned for each
Protocol-level unnamed prepared statements are re-planned
set of <literal>BIND</> values (Tom)
for each
set of <literal>BIND</> values (Tom)
</para>
</para>
<para>
<para>
This improves performance because the exact parameter values can be used
This improves performance because the exact parameter values
in the plan.
can be used
in the plan.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Do not flatten subqueries that contain <literal>VOLATILE</> functions in their
Do not flatten subqueries that contain <literal>VOLATILE</>
target lists (Jaime Casanova)
functions in their
target lists (Jaime Casanova)
</para>
</para>
<para>
<para>
This prevents surprising behavior due to multiple evaluation of a <literal>volatile</>
This prevents surprising behavior due to multiple evaluation
function (such as <function>random()</> or <function>nextval()</>). It may cause performance
of a <literal>volatile</> function (such as <function>random()</>
degradation in the presence of functions that are unnecessarily marked as
or <function>nextval()</>). It may cause performance
<literal>volatile</>.
degradation in the presence of functions that are unnecessarily
marked as <literal>volatile</>.
</para>
</para>
</sect3>
</sect3>
...
@@ -692,183 +751,204 @@ For new features, add links to the documentation sections.
...
@@ -692,183 +751,204 @@ For new features, add links to the documentation sections.
<listitem>
<listitem>
<para>
<para>
Add <command>DROP</> object <literal>IF EXISTS</> for many object types (Andrew)
Add <command>DROP</> object <literal>IF EXISTS</> for many
object types (Andrew)
</para>
</para>
<para>
<para>
This allows <command>DROP</> operations on non-existent objects without generating
This allows <command>DROP</> operations on non-existent
an error.
objects without generating
an error.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <literal>DROP OWNED</> to drop all objects owned by a role (Alvaro)
Add <literal>DROP OWNED</> to drop all objects owned by a
role (Alvaro)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <literal>REASSIGN OWNED</> to reassign ownership of all objects owned by a role
Add <literal>REASSIGN OWNED</> to reassign ownership of
(Alvaro)
all objects owned by a role
(Alvaro)
</para>
</para>
<para>
<para>
This, and <literal>DROP OWNED</> above, facilitate dropping roles.
This, and <literal>DROP OWNED</> above, facilitate dropping
roles.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <command>CREATE</>/<command>ALTER ROLE PASSWORD NULL</>, which removes the role's password
Add <command>CREATE</>/<command>ALTER ROLE PASSWORD NULL</>,
(Peter)
which removes the role's password
(Peter)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Properly enforce <literal>DOMAIN</> check constraints everywhere (Neil, Tom)
Properly enforce <literal>DOMAIN</> check constraints
everywhere (Neil, Tom)
</para>
</para>
<para>
<para>
For example, the result of a user-defined function that is declared
For example, the result of a user-defined function that is
to return a domain type is now checked against the constraints.
declared to return a domain type is now checked against
the constraints.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <command>GRANT ON SEQUENCE</> syntax (Bruce)
Add <command>GRANT ON SEQUENCE</> syntax (Bruce)
</para>
</para>
<para>
<para>
This was added for setting sequence-specific permissions. <literal>GRANT ON [TABLE]</>
This was added for setting sequence-specific permissions.
for sequences is still supported for backward compatibility.
<literal>GRANT ON [TABLE]</> for sequences is still supported
for backward compatibility.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <literal>USAGE</> permission for sequences that allows only <function>currval()</> and
Add <literal>USAGE</> permission for sequences that allows
<function>nextval()</>, not <function>setval()</> (Bruce)
only <function>currval()</> and <function>nextval()</>,
not <function>setval()</> (Bruce)
</para>
</para>
<para>
<para>
<literal>USAGE</> permission allows more find-grained control over sequence access.
<literal>USAGE</> permission allows more find-grained
It allows users to increment a sequence, but prevents them from
control over sequence access. It allows users to increment
setting the sequence to an arbitrary value using <function>setval()</>.
a sequence, but prevents them from setting the sequence to
an arbitrary value using <function>setval()</>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow comments on global objects to be stored globally (Kris Jurka)
Allow comments on global objects to be stored globally
(Kris Jurka)
</para>
</para>
<para>
<para>
Previously, global object comments were stored in individual
Previously, global object comments were stored in individual
databases, making them ineffective. This adds a new <literal>pg_shdescription</>
databases, making them ineffective. This adds a new
table.
<literal>pg_shdescription</>
table.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <literal>ON COMMIT</> clauses to <command>CREATE TABLE AS</> (Neil)
Add <literal>ON COMMIT</> clauses to <command>CREATE TABLE
AS</> (Neil)
</para>
</para>
<para>
<para>
This allows temporary tables to be truncated or dropped on transacti
on
This allows temporary tables to be truncated or dropped
on
commit. The default behavior is for the table to remain until th
e
transaction commit. The default behavior is for the tabl
e
session ends.
to remain until the
session ends.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <literal>TABLESPACE</> and <literal>ON COMMIT</> clauses to <command>CREATE TABLE AS</> (Neil)
Add <literal>TABLESPACE</> and <literal>ON COMMIT</> clauses
to <command>CREATE TABLE AS</> (Neil)
</para>
</para>
<para>
<para>
This allows the tablespace to be specified for the new table.
This allows the tablespace to be specified for the new
table.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow placeholder (shell) types to be created (Martijn van Oosterhout)
Allow placeholder (shell) types to be created (Martijn van
Oosterhout)
</para>
</para>
<para>
<para>
Shell types create a type reference, without specifying any of the
Shell types create a type reference, without specifying
aspects of the type. It is useful for creating types with input/output
any of the aspects of the type. It is useful for creating
functions that reference the data type. The syntax is <command>CREATE TYPE typname</>.
types with input/output functions that reference the data
type. The syntax is <command>CREATE TYPE typname</>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add new aggregate creation syntax (Tom)
Add new aggregate creation syntax (Tom)
</para>
</para>
<para>
<para>
The new syntax is <command>CREATE AGGREGATE</> aggname (input_type) (parameter_list).
The new syntax is <command>CREATE AGGREGATE</> aggname
This more naturally supports the new multi-parameter aggregate
(input_type) (parameter_list). This more naturally supports
functionality. The previous syntax is still supported.
the new multi-parameter aggregate functionality. The
previous syntax is still supported.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Aggregate functions now support multiple input parameters (Sergey
Aggregate functions now support multiple input parameters
Koposov, Tom)
(Sergey
Koposov, Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Have <command>SET CONSTRAINT</> affect only one constraint (Kris Jurka)
Have <command>SET CONSTRAINT</> affect only one constraint
(Kris Jurka)
</para>
</para>
<para>
<para>
In previous releases, <command>SET CONSTRAINT</> modified all constraints with
In previous releases, <command>SET CONSTRAINT</> modified
a matching name. In this release, the schema search path is used to
all constraints with a matching name. In this release,
modify only the first matching constraint. A schema specification is
the schema search path is used to modify only the first
also supported.
matching constraint. A schema specification is also
supported.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <literal>INCLUDING CONSTRAINTS</> to <command>CREATE TABLE LIKE</> (Greg Stark)
Add <literal>INCLUDING CONSTRAINTS</> to <command>CREATE
TABLE LIKE</> (Greg Stark)
</para>
</para>
<para>
<para>
This allows the new table to receive matching constraints.
This allows the new table to receive matching constraints.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <literal>ALTER TABLE ... [NO] INHERIT</> (Greg Stark)
Add <literal>ALTER TABLE ... [NO] INHERIT</> (Greg Stark)
</para>
</para>
<para>
<para>
This allow inheritance to be added and removed dynamically, rather
This allow inheritance to be added and removed dynamically,
than just at table creation and destruction. This is very valuable
rather than just at table creation and destruction. This
for table partitioning using constraint exclusion.
is very valuable for table partitioning using constraint
exclusion.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Remove rule permission for tables, for security reasons (Tom)
Remove rule permission for tables, for security reasons
(Tom)
</para>
</para>
<para>
<para>
In this release, only a table's owner can create or modify rules
In this release, only a table's owner can create or modify
for the table. For backwards compatibility, <command>GRANT</>/<command>REVOKE RULE</> is still
rules for the table. For backwards compatibility,
accepted, but it does nothing.
<command>GRANT</>/<command>REVOKE RULE</> is still accepted,
but it does nothing.
</para>
</para>
</sect3>
</sect3>
...
@@ -878,62 +958,67 @@ For new features, add links to the documentation sections.
...
@@ -878,62 +958,67 @@ For new features, add links to the documentation sections.
<listitem>
<listitem>
<para>
<para>
Reduce progress messages displayed by initdb (Tom)
Reduce progress messages displayed by initdb (Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Have initdb detect the operating system locale and set the default
Have initdb detect the operating system locale and set the
<envar>DateStyle</> accordingly (Peter)
default
<envar>DateStyle</> accordingly (Peter)
</para>
</para>
<para>
<para>
This make it more likely that the installed <filename>postgresql.conf</> <envar>DateStyle</>
This make it more likely that the installed
value will be correct.
<filename>postgresql.conf</> <envar>DateStyle</> value will
be correct.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Have the <command>COPY</> command return a command tag that includes the number of
Have the <command>COPY</> command return a command tag that
rows copied (Volkan Yazıcı)
includes the number of
rows copied (Volkan Yazıcı)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow <command>VACUUM</> to expire rows without being affected by other concurrent
Allow <command>VACUUM</> to expire rows without being
<command>VACUUM</>s (Hannu Krossing, Alvaro, Tom)
affected by other concurrent <command>VACUUM</>s (Hannu
Krossing, Alvaro, Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Avoid extra scan of tables during <command>VACUUM</> of index-less table (Greg Stark)
Avoid extra scan of tables during <command>VACUUM</> of
index-less table (Greg Stark)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add option to allow indexes to be created without blocking
Add option to allow indexes to be created without blocking
concurrent writes to the table (Greg Stark)
concurrent writes to the table (Greg Stark)
</para>
</para>
<para>
<para>
The new syntax is <command>CREATE INDEX CONCURRENTLY</>. The default behavior is
The new syntax is <command>CREATE INDEX CONCURRENTLY</>.
still to block table modification while a index is being created.
The default behavior is still to block table modification
while a index is being created.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow <command>COPY</> to dump a <command>SELECT</> query (Zoltan Boszormenyi, Karel Zak)
Allow <command>COPY</> to dump a <command>SELECT</> query
(Zoltan Boszormenyi, Karel Zak)
</para>
</para>
<para>
<para>
This allows <command>COPY</> to dump arbitrary <acronym>SQL</> queries. The syntax is
This allows <command>COPY</> to dump arbitrary <acronym>SQL</>
<literal>COPY (SELECT ...) TO</>.
queries. The syntax is
<literal>COPY (SELECT ...) TO</>.
</para>
</para>
</sect3>
</sect3>
...
@@ -943,205 +1028,234 @@ For new features, add links to the documentation sections.
...
@@ -943,205 +1028,234 @@ For new features, add links to the documentation sections.
<listitem>
<listitem>
<para>
<para>
Allow arrays to contain <literal>NULL</> elements (Tom)
Allow arrays to contain <literal>NULL</> elements (Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Change array concatenation to match documented behavior (Tom)
Change array concatenation to match documented behavior
(Tom)
</para>
</para>
<para>
<para>
This changes the previous behavior where concatenation would
This changes the previous behavior where concatenation
adjust the lower array dimensions.
would
adjust the lower array dimensions.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Array comparison improvements (Tom)
Array comparison improvements (Tom)
</para>
</para>
<para>
<para>
Now array dimensions are also compared.
Now array dimensions are also compared.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow <function>to_char(time)</> and <function>to_char(interval)</> to output <acronym>AM</>/<acronym>PM</> specifications
Allow <function>to_char(time)</> and <function>to_char(interval)</>
(Bruce)
to output <acronym>AM</>/<acronym>PM</> specifications
(Bruce)
</para>
</para>
<para>
<para>
Intervals and times are treated as 24-hour periods, e.g. <literal>25 hours</> is
Intervals and times are treated as 24-hour periods, e.g.
<acronym>AM</>.
<literal>25 hours</> is
<acronym>AM</>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Have <function>to_char(time)</> and <function>to_char(interval)</> treat <literal>'HH'</> and <literal>'HH12'</> as 12-hour
Have <function>to_char(time)</> and <function>to_char(interval)</>
intervals.
treat <literal>'HH'</> and <literal>'HH12'</> as 12-hour
intervals.
<para>
<para>
Most applications should use <literal>'HH24'</> unless they want a 12-hour display.
Most applications should use <literal>'HH24'</> unless they
want a 12-hour display.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add a server-side sleep function <function>pg_sleep()</> (Joachim Wieland)
Add a server-side sleep function <function>pg_sleep()</>
(Joachim Wieland)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Zero unmasked bits in conversion from <type>INET</> to <type>CIDR</> (Tom)
Zero unmasked bits in conversion from <type>INET</> to
<type>CIDR</> (Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add convenient arithmetic operations on <type>INET</>/<type>CIDR</> values (Stephen R. van
Add convenient arithmetic operations on <type>INET</>/<type>CIDR</>
den Berg)
values (Stephen R. van
den Berg)
</para>
</para>
<para>
<para>
The new operators are <literal>&</> (and), <literal>|</> (or), <literal>~</> (not), <literal>+</> <type>int8</>,
The new operators are <literal>&</> (and), <literal>|</>
<literal>-</> <type>int8</>, and <type>inet</> <literal>-</> <type>inet</>.
(or), <literal>~</> (not), <literal>+</> <type>int8</>,
<literal>-</> <type>int8</>, and <type>inet</> <literal>-</>
<type>inet</>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow <function>to_char()</> to print localized month and day names (Euler Taveira de
Allow <function>to_char()</> to print localized month and
Oliveira)
day names (Euler Taveira de
Oliveira)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add all comparison operators for the <type>tid</> data type (Mark Kirkwood, Greg Stark,
Add all comparison operators for the <type>tid</> data type
Tom)
(Mark Kirkwood, Greg Stark,
Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add new function <function>justify_interval()</> to adjust interval units (Mark Dilger)
Add new function <function>justify_interval()</> to adjust
interval units (Mark Dilger)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add new aggregate functions from SQL2003 (Neil)
Add new aggregate functions from SQL2003 (Neil)
</para>
</para>
<para>
<para>
The new functions are <function>var_pop()</>, <function>var_samp()</>, <function>stddev_pop()</>, and <function>stddev_samp()</>.
The new functions are <function>var_pop()</>,
<function>var_samp()</> and <function>stddev_samp()</> are merely renamings of the existing
<function>var_samp()</>, <function>stddev_pop()</>, and
aggregates <function>variance()</> and <function>stddev()</>. The latter names have been
<function>stddev_samp()</>. <function>var_samp()</> and
kept for backward compatibility.
<function>stddev_samp()</> are merely renamings of the
existing aggregates <function>variance()</> and
<function>stddev()</>. The latter names have been kept
for backward compatibility.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
New operators for array-subset comparisons (<literal>@></>, <literal><@</>, <literal>&&</>) (Teodor
,
New operators for array-subset comparisons (<literal>@></>
,
Tom)
<literal><@</>, <literal>&&</>) (Teodor,
Tom)
</para>
</para>
<para>
<para>
The old operators were kept for backward compatibility.
The old operators were kept for backward compatibility.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow domains to be created using other domains (Tom)
Allow domains to be created using other domains (Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <function>clock_timestamp()</>, <function>statement_timestamp()</>, and <function>transaction_timestamp()</>
Add <function>clock_timestamp()</>,
(Bruce)
<function>statement_timestamp()</>, and
<function>transaction_timestamp()</> (Bruce)
</para>
</para>
<para>
<para>
<function>clock_timestamp()</> is the true current time, and <function>statement_timestamp()</> is the
<function>clock_timestamp()</> is the true current time,
time the current command arrived at the server. <function>transaction_timestamp()</> is
and <function>statement_timestamp()</> is the time the
the same as <function>now()</>.
current command arrived at the server.
<function>transaction_timestamp()</> is the same as
<function>now()</>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow full timezone names in <type>timestamp</> values (Joachim Wieland)
Allow full timezone names in <type>timestamp</> values
(Joachim Wieland)
</para>
</para>
<para>
<para>
For example, <literal>'2006-05-24 21:11 America/New_York'::timestamptz</>.
For example, <literal>'2006-05-24 21:11
America/New_York'::timestamptz</>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Create a configuration file of timezone abbreviations (Joachim Wieland)
Create a configuration file of timezone abbreviations
(Joachim Wieland)
</para>
</para>
<para>
<para>
The file name is controlled by GUC variable <envar>timezone_abbreviations</>.
The file name is controlled by GUC variable
<envar>timezone_abbreviations</>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Remove <envar>australian_timezones</> configuration variable (Joachim Wieland)
Remove <envar>australian_timezones</> configuration variable
(Joachim Wieland)
</para>
</para>
<para>
<para>
No longer needed now that timezone abbreviations are configurable.
No longer needed now that timezone abbreviations are
configurable.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <envar>pg_timezone_abbrevs</> and <envar>pg_timezone_names</> views to show
Add <envar>pg_timezone_abbrevs</> and <envar>pg_timezone_names</>
supported timezones (Magnus Hagander)
views to show
supported timezones (Magnus Hagander)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add SQL2003-standard statistical aggregates (Sergey Koposov)
Add SQL2003-standard statistical aggregates (Sergey Koposov)
</para>
</para>
<para>
<para>
New functions: <function>regr_intercept()</>, <function>regr_slope()</>, <function>regr_r2()</>, <function>corr()</>,
New functions: <function>regr_intercept()</>,
<function>covar_samp()</>, <function>covar_pop()</>, <function>regr_avgx()</>, <function>regr_avgy()</>, <function>regr_sxy()</>,
<function>regr_slope()</>, <function>regr_r2()</>,
<function>regr_sxx()</>, <function>regr_syy()</>, <function>regr_count()</>
<function>corr()</>, <function>covar_samp()</>,
<function>covar_pop()</>, <function>regr_avgx()</>,
<function>regr_avgy()</>, <function>regr_sxy()</>,
<function>regr_sxx()</>, <function>regr_syy()</>,
<function>regr_count()</>
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Fix problems with dumping renamed <type>SERIAL</> columns (Tom)
Fix problems with dumping renamed <type>SERIAL</> columns
(Tom)
</para>
</para>
<para>
<para>
The fix is to dump a <type>SERIAL</> column by explicitly specifying its <literal>DEFAULT</> and
The fix is to dump a <type>SERIAL</> column by explicitly
sequence elements, and reconstructing the <type>SERIAL</> column on reload using a new
specifying its <literal>DEFAULT</> and sequence elements,
<command>ALTER SEQUENCE OWNED BY</> command. This also allows dropping a <type>SERIAL</> column
and reconstructing the <type>SERIAL</> column on reload
specification.
using a new <command>ALTER SEQUENCE OWNED BY</> command.
This also allows dropping a <type>SERIAL</> column
specification.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Interval computation improvements (Michael Glaesemann, Bruce)
Interval computation improvements (Michael Glaesemann,
Bruce)
</para>
</para>
</sect3>
</sect3>
...
@@ -1151,33 +1265,35 @@ Tom)
...
@@ -1151,33 +1265,35 @@ Tom)
<listitem>
<listitem>
<para>
<para>
Allow <literal>FOR</> statements to return values to scalars as well a
s
Allow <literal>FOR</> statements to return values to scalar
s
records and row types (Pavel Stehule)
as well as
records and row types (Pavel Stehule)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add a <literal>BY</> clause to the <literal>FOR</> loop, to control the iteration increment
Add a <literal>BY</> clause to the <literal>FOR</> loop,
(Jaime Casanova)
to control the iteration increment
(Jaime Casanova)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <literal>table_name</> and <literal>table_schema</> as trigger data (Andrew)
Add <literal>table_name</> and <literal>table_schema</> as
trigger data (Andrew)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <literal>STRICT</> to <command>SELECT INTO</> (Matt Miller)
Add <literal>STRICT</> to <command>SELECT INTO</> (Matt
Miller)
</para>
</para>
<para>
<para>
<literal>STRICT</> mode throws an exception if more or less than
<literal>STRICT</> mode throws an exception if more or less
one row is returned by the <command>SELECT</>, for <productname>Oracle PL/SQL</>
than one row is returned by the <command>SELECT</>, for
compatibility.
<productname>Oracle PL/SQL</>
compatibility.
</para>
</para>
</sect3>
</sect3>
...
@@ -1187,34 +1303,35 @@ Tom)
...
@@ -1187,34 +1303,35 @@ Tom)
<listitem>
<listitem>
<para>
<para>
Honor <envar>check_function_bodies</> (Tom)
Honor <envar>check_function_bodies</> (Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add prepared queries (Dmitry Karasik)
Add prepared queries (Dmitry Karasik)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <literal>table_name</> and <literal>table_schema</> as trigger data (Adam Sjøgren)
Add <literal>table_name</> and <literal>table_schema</> as
trigger data (Adam Sjøgren)
</para>
</para>
<para>
<para>
<literal>relname</> is kept but now deprecated
<literal>relname</> is kept but now deprecated
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Make <literal>$_TD</> trigger data a global variable (Andrew)
Make <literal>$_TD</> trigger data a global variable (Andrew)
</para>
</para>
<para>
<para>
Previously, it was lexical, which caused unexpected sharing
Previously, it was lexical, which caused unexpected sharing
violations.
violations.
</para>
</para>
</sect3>
</sect3>
...
@@ -1224,37 +1341,41 @@ Tom)
...
@@ -1224,37 +1341,41 @@ Tom)
<listitem>
<listitem>
<para>
<para>
Allow functions to return <literal>void</> (Neil)
Allow functions to return <literal>void</> (Neil)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add named parameters to the <literal>args[]</> array (Sven Suursoho)
Add named parameters to the <literal>args[]</> array (Sven
Suursoho)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Return composite-types as dictionary (Sven Suursoho)
Return composite-types as dictionary (Sven Suursoho)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Return result-set as <literal>list</>, <literal>iterator</>, or <literal>generator </>(Sven Suursoho)
Return result-set as <literal>list</>, <literal>iterator</>,
or <literal>generator </>(Sven Suursoho)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow returning of <literal>composite types</> and <literal>result sets</> (Sven Suursoho)
Allow returning of <literal>composite types</> and
<literal>result sets</> (Sven Suursoho)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <literal>table_name</> and <literal>table_schema</> as trigger data (Andrew)
Add <literal>table_name</> and <literal>table_schema</> as
trigger data (Andrew)
</para>
</para>
</sect3>
</sect3>
...
@@ -1264,92 +1385,97 @@ Tom)
...
@@ -1264,92 +1385,97 @@ Tom)
<listitem>
<listitem>
<para>
<para>
Add new command <literal>\password</> for changing role password with client-sid
e
Add new command <literal>\password</> for changing rol
e
password encryption (Peter)
password with client-side
password encryption (Peter)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow multi-line values to align in the proper column (Martijn va
n
Allow multi-line values to align in the proper colum
n
Oosterhout)
(Martijn van
Oosterhout)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Save multi-line statements as a single entry, rather than one
Save multi-line statements as a single entry, rather than
line at a time (Sergey E. Koposov)
one
line at a time (Sergey E. Koposov)
</para>
</para>
<para>
<para>
This makes up-arrow recall of queries easier.
This makes up-arrow recall of queries easier.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow <literal>\c</> to connect to a new host and port number (David, Volkan Yazıcı)
Allow <literal>\c</> to connect to a new host and port
number (David, Volkan Yazıcı)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add option to run the entire session in a single transaction (Simon)
Add option to run the entire session in a single transaction
(Simon)
</para>
</para>
<para>
<para>
Use options <literal>-1</> or <literal>--single-transaction</>.
Use options <literal>-1</> or <literal>--single-transaction</>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Improve highlighting of error location in query in more cases (Tom)
Improve highlighting of error location in query in more
cases (Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add tablespace display to <literal>\l+</> (Philip Yarra)
Add tablespace display to <literal>\l+</> (Philip Yarra)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Support binary <command>COPY</> (Andreas Pflug)
Support binary <command>COPY</> (Andreas Pflug)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Improve <literal>\df</> slash command to include the argument names and modes
Improve <literal>\df</> slash command to include the argument
(<literal>OUT</> or <literal>INOUT</>) of the function (David Fetter)
names and modes (<literal>OUT</> or <literal>INOUT</>) of
the function (David Fetter)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Make the line counter 64-bit so it can handle files over two billion lines
Make the line counter 64-bit so it can handle files over
(David Fetter)
two billion lines
(David Fetter)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Report both the returned data and the command status tag
Report both the returned data and the command status tag
for <command>INSERT</>/<command>UPDATE</>/<command>DELETE RETURNING</> (Tom)
for <command>INSERT</>/<command>UPDATE</>/<command>DELETE
RETURNING</> (Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Support retrieving <command>SELECT</> results in batches using a cursor (Chri
s
Support retrieving <command>SELECT</> results in batche
s
Mair)
using a cursor (Chris
Mair)
</para>
</para>
<para>
<para>
This is accomplished using <command>\set FETCH_COUNT</>.
This is accomplished using <command>\set FETCH_COUNT</>.
</para>
</para>
</sect3>
</sect3>
...
@@ -1359,31 +1485,36 @@ Tom)
...
@@ -1359,31 +1485,36 @@ Tom)
<listitem>
<listitem>
<para>
<para>
Allow complex selection of objects to be included or excluded by <application>pg_dump</>
Allow complex selection of objects to be included or excluded
(Greg Sabino Mullane)
by <application>pg_dump</>
(Greg Sabino Mullane)
</para>
</para>
<para>
<para>
<application>pg_dump</> now supports multiple <literal>-n</> (schema) and <literal>-t</> (table) options, and
<application>pg_dump</> now supports multiple <literal>-n</>
adds <literal>-T</> and <literal>-N</> options to exclude objects. Also adds support for regular
(schema) and <literal>-t</> (table) options, and adds
expressions for object names in these switches.
<literal>-T</> and <literal>-N</> options to exclude objects.
Also adds support for regular expressions for object names
in these switches.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <application>pg_dump</> <literal>-X no-data-for-failed-tables</> option to suppress loading data
Add <application>pg_dump</> <literal>-X
if table creation failed (the table already exists) (Martin Pitt)
no-data-for-failed-tables</> option to suppress loading
data if table creation failed (the table already exists)
(Martin Pitt)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <application>pg_restore</> option to run the entire session in a single transaction (Simon)
Add <application>pg_restore</> option to run the entire
session in a single transaction (Simon)
</para>
</para>
<para>
<para>
Use options <literal>-1</> or <literal>--single-transaction</>.
Use options <literal>-1</> or <literal>--single-transaction</>.
</para>
</para>
</sect3>
</sect3>
...
@@ -1393,61 +1524,67 @@ Tom)
...
@@ -1393,61 +1524,67 @@ Tom)
<listitem>
<listitem>
<para>
<para>
Add <function>PQencryptPassword()</> to encrypt passwords (Tom)
Add <function>PQencryptPassword()</> to encrypt passwords
(Tom)
</para>
</para>
<para>
<para>
This allows passwords to be sent encrypted for commands like <command>ALTER
This allows passwords to be sent encrypted for commands
USER ... PASSWORD</>.
like <command>ALTER
USER ... PASSWORD</>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Change <function>PQdsplen()</> to return a useful value (Martijn van
Change <function>PQdsplen()</> to return a useful value
Oosterhout)
(Martijn van
Oosterhout)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Change <function>PQgetssl()</> to return a <literal>void*</>, rather than <literal>SSL*</> (Martijn van Oosterhout)
Change <function>PQgetssl()</> to return a <literal>void*</>,
rather than <literal>SSL*</> (Martijn van Oosterhout)
</para>
</para>
<para>
<para>
This allows applications to use the function without <acronym>SSL</> headers.
This allows applications to use the function without
<acronym>SSL</> headers.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow the <filename>.pgpass</> hostname to match the default socket directory, as
Allow the <filename>.pgpass</> hostname to match the default
well as a blank <literal>pghost</> (Bruce)
socket directory, as well as a blank <literal>pghost</>
(Bruce)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add function <function>PQisthreadsafe()</> (Bruce)
Add function <function>PQisthreadsafe()</> (Bruce)
</para>
</para>
<para>
<para>
This allows applications to query the thread-safety status
This allows applications to query the thread-safety status
of the library.
of the library.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow <acronym>LDAP</> lookups from <filename>pg_service.conf</> (Albe Laurenz)
Allow <acronym>LDAP</> lookups from <filename>pg_service.conf</>
(Albe Laurenz)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <function>PQdescribePrepared()</>, <function>PQdescribePortal()</>, and related functions
Add <function>PQdescribePrepared()</>,
return information about previously prepared statements and
<function>PQdescribePortal()</>, and related functions
open cursors (Volkan Yazıcı)
return information about previously prepared statements
and open cursors (Volkan Yazıcı)
</para>
</para>
</sect3>
</sect3>
...
@@ -1457,25 +1594,26 @@ Tom)
...
@@ -1457,25 +1594,26 @@ Tom)
<listitem>
<listitem>
<para>
<para>
Allow <command>SHOW</> to put its result into a variable (Joachim Wieland)
Allow <command>SHOW</> to put its result into a variable
(Joachim Wieland)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <command>COPY TO STDOUT</> (Joachim Wieland)
Add <command>COPY TO STDOUT</> (Joachim Wieland)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add regression tests (Joachim Wieland, Michael)
Add regression tests (Joachim Wieland, Michael)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Major source code cleanups (Joachim Wieland, Michael)
Major source code cleanups (Joachim Wieland, Michael)
</para>
</para>
</sect3>
</sect3>
...
@@ -1485,48 +1623,51 @@ Tom)
...
@@ -1485,48 +1623,51 @@ Tom)
<listitem>
<listitem>
<para>
<para>
Improve handling of intermittent file system and resource failures (Qingqing Zhou)
Improve handling of intermittent file system and resource
failures (Qingqing Zhou)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Stability fixes (Magnus)
Stability fixes (Magnus)
</para>
</para>
<para>
<para>
Particularly, prevent the postmaster from stopping if too many
Particularly, prevent the postmaster from stopping if too
connection requests arrive too rapidly.
many
connection requests arrive too rapidly.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add support for Windows code pages <literal>1253</>, <literal>1254</>, <literal>1255</>,
Add support for Windows code pages <literal>1253</>,
and <literal>1257</> (Kris Jurka)
<literal>1254</>, <literal>1255</>, and <literal>1257</>
(Kris Jurka)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow <acronym>MSVC</> to compile the <productname>PostgreSQL</> server (Magnus, Hiroshi
Allow <acronym>MSVC</> to compile the <productname>PostgreSQL</>
Saito)
server (Magnus, Hiroshi
Saito)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <acronym>MSVC</> support for utility commands and <application>pg_dump </>(Hiroshi Saito)
Add <acronym>MSVC</> support for utility commands and
<application>pg_dump </>(Hiroshi Saito)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add native semaphore implementation (Qingqing Zhou)
Add native semaphore implementation (Qingqing Zhou)
</para>
</para>
<para>
<para>
Previous implementations mimicked SysV semaphores.
Previous implementations mimicked SysV semaphores.
</para>
</para>
</sect3>
</sect3>
...
@@ -1536,194 +1677,214 @@ Tom)
...
@@ -1536,194 +1677,214 @@ Tom)
<listitem>
<listitem>
<para>
<para>
Remove R-tree indexing (Tom)
Remove R-tree indexing (Tom)
</para>
</para>
<para>
<para>
Rtree has been re-implemented using <acronym>GIST</>.
Rtree has been re-implemented using <acronym>GIST</>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Reduce libraries linked into the backend needlessly (Martijn va
n
Reduce libraries linked into the backend needlessly (Martij
n
Oosterhout, Tom)
van
Oosterhout, Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
New macro <literal>PG_VERSION_NUM</> for use by third-party applications wanting to
New macro <literal>PG_VERSION_NUM</> for use by third-party
test the backend version in C using > and < comparisons (Bruce)
applications wanting to test the backend version in C using
> and < comparisons (Bruce)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Improve multicolumn <acronym>GIST</> indexing (Oleg, Teodor)
Improve multicolumn <acronym>GIST</> indexing (Oleg, Teodor)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
<acronym>GIST</> indexes now are clusterable (Teodor)
<acronym>GIST</> indexes now are clusterable (Teodor)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add a configure flag to allow libedit to be preferred over <acronym>GNU</> readline
Add a configure flag to allow libedit to be preferred over
(Bruce)
<acronym>GNU</> readline
(Bruce)
</para>
</para>
<para>
<para>
Use configure <literal>--with-libedit-preferred</>.
Use configure <literal>--with-libedit-preferred</>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow installation into directories containing spaces (Peter)
Allow installation into directories containing spaces
(Peter)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Improve ability to relocate installs in more complex configurations (Tom)
Improve ability to relocate installs in more complex
configurations (Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add support for <productname>Solaris x86_64</> using the <productname>Solaris</> compiler (Pierre Girard,
Add support for <productname>Solaris x86_64</> using the
Theo Schlossnagle, Bruce)
<productname>Solaris</> compiler (Pierre Girard, Theo
Schlossnagle, Bruce)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Remove <acronym>QNX</> and <acronym>BEOS</> ports (Bruce)
Remove <acronym>QNX</> and <acronym>BEOS</> ports (Bruce)
</para>
</para>
<para>
<para>
These ports no longer had active maintainers.
These ports no longer had active maintainers.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Make command-line options of postmaster and postgres identical (Peter)
Make command-line options of postmaster and postgres
identical (Peter)
</para>
</para>
<para>
<para>
This allows the postmaster to pass arguments to each backend without
This allows the postmaster to pass arguments to each backend
using <literal>-o</>.
without
using <literal>-o</>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <literal>XLOG_BLCKSZ</> as independent from <literal>BLCKSZ</> (Mark Wong)
Add <literal>XLOG_BLCKSZ</> as independent from <literal>BLCKSZ</>
(Mark Wong)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <literal>LWLOCK_STATS</> define to report locking activity (Tom)
Add <literal>LWLOCK_STATS</> define to report locking
activity (Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <acronym>GIN</> (Generalized Inverted iNdex) index access method (Teodor)
Add <acronym>GIN</> (Generalized Inverted iNdex) index
access method (Teodor)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Emit warnings for unknown <application>configure</> options (Martijn van Oosterhout)
Emit warnings for unknown <application>configure</> options
(Martijn van Oosterhout)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <literal>PG_MODULE_MAGIC</> header block to all shared object files (Martijn van Oosterhout)
Add <literal>PG_MODULE_MAGIC</> header block to all shared
object files (Martijn van Oosterhout)
</para>
</para>
<para>
<para>
The magic blocks prevent version mismatches between object files and
The magic blocks prevent version mismatches between object
servers.
files and
servers.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add a <acronym>GUC</> parameter <envar>seq_page_cost</> (Tom)
Add a <acronym>GUC</> parameter <envar>seq_page_cost</>
(Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Re-implement the regression test script as a C program (Magnus, Tom)
Re-implement the regression test script as a C program
(Magnus, Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <application>DTrace</> support (Robert Lor)
Add <application>DTrace</> support (Robert Lor)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Allow loadable modules to allocate shared memory and lightweight locks (Marc Munro)
Allow loadable modules to allocate shared memory and
lightweight locks (Marc Munro)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add automatic initialization and finalization of dynamically
Add automatic initialization and finalization of dynamically
loaded libraries (Ralf Engelschall, Tom)
loaded libraries (Ralf Engelschall, Tom)
</para>
</para>
<para>
<para>
New functions <function>_PG_init()</> and <function>_PG_fini()</> are called if the library
New functions <function>_PG_init()</> and <function>_PG_fini()</>
defines such symbols. Hence we no longer need to specify an initialization
are called if the library defines such symbols. Hence we
function in <envar>shared_preload_libraries</>; we can assume that the library used the
no longer need to specify an initialization function in
<function>_PG_init()</> convention instead.
<envar>shared_preload_libraries</>; we can assume that the
library used the <function>_PG_init()</> convention instead.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add support for libraries that enhance server-side languages (Korry Douglas)
Add support for libraries that enhance server-side languages
(Korry Douglas)
</para>
</para>
<para>
<para>
Such libraries can be used for debugging or performance measurement.
Such libraries can be used for debugging or performance
measurement.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Rename existing <acronym>GUC</> variable <envar>preload_libraries</> to <envar>shared_preload_libraries</> (Tom)
Rename existing <acronym>GUC</> variable
<envar>preload_libraries</> to <envar>shared_preload_libraries</>
(Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add new variable <envar>server_version_num</> (Greg Sabino Mullane)
Add new variable <envar>server_version_num</> (Greg Sabino
Mullane)
</para>
</para>
<para>
<para>
This is like server_version, but is an integer, e.g. <literal>80200</>. It allows
This is like server_version, but is an integer, e.g.
easy applications version checks.
<literal>80200</>. It allows easy applications version
checks.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
New <acronym>XML</> documentation section (Bruce)
New <acronym>XML</> documentation section (Bruce)
</para>
</para>
</sect3>
</sect3>
...
@@ -1733,39 +1894,40 @@ Tom)
...
@@ -1733,39 +1894,40 @@ Tom)
<listitem>
<listitem>
<para>
<para>
Major tsearch2 improvements (Oleg, Teodor)
Major tsearch2 improvements (Oleg, Teodor)
</para>
</para>
<itemizedlist>
<itemizedlist>
<listitem>
<listitem>
<para>
<para>
multibyte encoding support, including <acronym>UTF8</>
multibyte encoding support, including <acronym>UTF8</>
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
query rewriting support
query rewriting support
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
improved ranking functions
improved ranking functions
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
thesaurus dictionary support
thesaurus dictionary support
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Ispell dictionaries now recognize <application>MySpell</> format, used by <application>OpenOffice</>.
Ispell dictionaries now recognize <application>MySpell</>
format, used by <application>OpenOffice</>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
<acronym>GIN</> support
<acronym>GIN</> support
</para>
</para>
</listitem>
</listitem>
...
@@ -1775,127 +1937,138 @@ Tom)
...
@@ -1775,127 +1937,138 @@ Tom)
<listitem>
<listitem>
<para>
<para>
Add pg_freespacemap to display free space map information (Mark
Add pg_freespacemap to display free space map information
Kirkwood)
(Mark
Kirkwood)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
New uninstall scripts (David)
New uninstall scripts (David)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add pgrowlocks (Tatsuo)
Add pgrowlocks (Tatsuo)
</para>
</para>
<para>
<para>
This shows row locking information for a specified table.
This shows row locking information for a specified table.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add <application>Pgadmin</> administration functions to adminpack (Dave)
Add <application>Pgadmin</> administration functions to
adminpack (Dave)
</para>
</para>
<para>
<para>
These functions provide additional file system access routines not present
These functions provide additional file system access
in the default <productname>PostgreSQL</> server.
routines not present in the default <productname>PostgreSQL</>
server.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add index information to pgstattuple (ITAGAKI Takahiro, Satoshi Nagayasu)
Add index information to pgstattuple (ITAGAKI Takahiro,
Satoshi Nagayasu)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
pgcrypto now has all planned functionality (Marko Kreen)
pgcrypto now has all planned functionality (Marko Kreen)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Update cube (Joshua Reich)
Update cube (Joshua Reich)
</para>
</para>
<para>
<para>
New functions are <function>cube(float[])</>, <function>cube(float[], float[])</>, and
New functions are <function>cube(float[])</>,
<function>cube_subset(cube, int4[])</>.
<function>cube(float[], float[])</>, and
<function>cube_subset(cube, int4[])</>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Added async query capability to dblink (Kai Londenberg, Joe Conway)
Added async query capability to dblink (Kai Londenberg,
Joe Conway)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add sslinfo (Victor Wagner)
Add sslinfo (Victor Wagner)
</para>
</para>
<para>
<para>
Reports information about the current <acronym>SSL</> certificate.
Reports information about the current <acronym>SSL</>
certificate.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Remove ora2pg, now at <ulink url="http://www.samse.fr/GPL/ora2pg"></ulink>
Remove ora2pg, now at <ulink
url="http://www.samse.fr/GPL/ora2pg"></ulink>
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Remove contrib modules that have been migrated to pgfoundry: adddepend,
Remove contrib modules that have been migrated to pgfoundry:
dbase, dbmirror, fulltextindex, mac, userlock
adddepend,
dbase, dbmirror, fulltextindex, mac, userlock
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Remove abandoned modules: mSQL-interface, ips
Remove abandoned modules: mSQL-interface, ips
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add hstore module (Oleg, Teodor)
Add hstore module (Oleg, Teodor)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
Add isn module, replacing isbn_issn (Jeremy Kronuz)
Add isn module, replacing isbn_issn (Jeremy Kronuz)
</para>
</para>
<para>
<para>
This now supports <acronym>EAN13</>, <acronym>UPC</>, <acronym>ISBN</> (books), <acronym>ISMN</> (music), and
This now supports <acronym>EAN13</>, <acronym>UPC</>,
<acronym>ISSN</> (serials).
<acronym>ISBN</> (books), <acronym>ISMN</> (music), and
<acronym>ISSN</> (serials).
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
New operators for array-subset comparisons (<literal>@></>, <literal><@</>, <literal>&&</>) (Tom)
New operators for array-subset comparisons (<literal>@></>,
<literal><@</>, <literal>&&</>) (Tom)
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
In xml, rename <function>xml_valid()</> to <function>xml_is_well_formed()</> (Tom)
In xml, rename <function>xml_valid()</> to
<function>xml_is_well_formed()</> (Tom)
</para>
</para>
<para>
<para>
<function>xml_valid()</> will remain for backward compability, but its behavior
<function>xml_valid()</> will remain for backward compability,
will change to do schema checks in future releases.
but its behavior will change to do schema checks in future
releases.
</para>
</para>
</listitem>
</listitem>
...
...
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