Newer
Older
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
information (Tom Lane)
</para>
<para>
The dependency links included in archive-format dumps were formerly
of very limited use, because they frequently referenced objects that
appeared nowhere in the dump. Now they represent actual dependencies
(possibly indirect) among the dumped objects.
</para>
</listitem>
<listitem>
<para>
Improve <application>pg_dump</>'s performance when dumping many
database objects (Tom Lane)
</para>
</listitem>
</itemizedlist>
</sect4>
</sect3>
<sect3>
<title><link linkend="libpq"><application>libpq</></link></title>
<itemizedlist>
<listitem>
<para>
Allow <application>libpq</> connection strings to have the format of a
<link linkend="libpq-connstring"><acronym>URI</acronym></link>
(Alexander Shulgin)
The syntax begins with <literal>postgres://</>. This can allow
applications to avoid implementing their own parser for URIs
representing database connections.
</para>
</listitem>
<listitem>
<para>
Add a <link linkend="libpq-connect-sslcompression">connection
option</link> to disable <acronym>SSL</acronym> compression
(Laurenz Albe)
<para>
This can be used to remove the overhead of <acronym>SSL</acronym>
compression on fast networks.
</para>
</listitem>
<listitem>
<para>
Add a <link linkend="libpq-single-row-mode">single-row processing
mode</link> for better handling of large result sets
(Kyotaro Horiguchi, Marko Kreen)
Previously, <application>libpq</> always collected the entire query
result in memory before passing it back to the application.
</para>
</listitem>
<listitem>
<para>
Add <literal>const</> qualifiers to the declarations of the functions
<function>PQconnectdbParams</>, <function>PQconnectStartParams</>,
and <function>PQpingParams</> (Lionel Elie Mamane)
</para>
</listitem>
<listitem>
<para>
Allow the <filename>.pgpass</> file to include escaped characters
in the password field (Robert Haas)
</para>
</listitem>
<listitem>
<para>
Make library functions use <function>abort()</> instead of
<function>exit()</> when it is necessary to terminate the process
(Peter Eisentraut)
This choice does not interfere with the normal exit codes used by the
program, and generates a signal that can be caught by the caller.
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Source Code</title>
<itemizedlist>
<listitem>
<para>
Remove dead ports (Peter Eisentraut)
</para>
<para>
The following platforms are no longer supported: dgux,
nextstep, sunos4, svr4, ultrix4, univel, bsdi.
</para>
</listitem>
<listitem>
<para>
Add support for building with <link linkend="install-windows">MS
Visual Studio 2010</link> (Brar Piening)
</para>
</listitem>
<listitem>
<para>
Enable compiling with the MinGW-w64 32-bit compiler (Lars Kanis)
</para>
</listitem>
<listitem>
<para>
Install <filename>plpgsql.h</> into <filename>include/server</> during installation
(Heikki Linnakangas)
</para>
</listitem>
<listitem>
<para>
Improve the latch facility to include detection of postmaster death
(Peter Geoghegan, Heikki Linnakangas, Tom Lane)
</para>
<para>
This eliminates one of the main reasons that background processes
formerly had to wake up to poll for events.
</para>
</listitem>
<listitem>
<para>
Use C flexible array members, where supported (Peter Eisentraut)
</para>
</listitem>
<listitem>
<para>
Improve the concurrent transaction regression tests
(<application>isolationtester</>) (Noah Misch)
</para>
</listitem>
<listitem>
<para>
Modify <application>thread_test</> to create its test files in
the current directory, rather than <filename>/tmp</> (Bruce Momjian)
</para>
</listitem>
<listitem>
<para>
Improve flex and bison warning and error reporting (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Add memory barrier support (Robert Haas)
</para>
This is currently unused.
</para>
</listitem>
<listitem>
<para>
Modify pgindent to use a typedef file (Bruce Momjian)
</para>
</listitem>
<listitem>
<para>
Add a hook for processing messages due to be sent to the server
log (Martin Pihlak)
</para>
</listitem>
<listitem>
<para>
Add object access hooks for <command>DROP</command> commands
(KaiGai Kohei)
</para>
</listitem>
<listitem>
<para>
Centralize <command>DROP</command> handling for some object types
(KaiGai Kohei)
</para>
</listitem>
<listitem>
<para>
Add a <application>pg_upgrade</> test suite (Peter Eisentraut)
</para>
</listitem>
<listitem>
<para>
Sync regular expression code with <acronym>TCL</acronym> 8.5.11
and improve internal processing (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Move <acronym>CRC</acronym> tables to libpgport, and provide them
in a separate include file (Daniel Farina)
</para>
</listitem>
<listitem>
<para>
Add options to <application>git_changelog</> for use in major
release note creation (Bruce Momjian)
</para>
</listitem>
<listitem>
<para>
Support Linux's <filename>/proc/self/oom_score_adj</> API (Tom Lane)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Additional Modules</title>
<itemizedlist>
<listitem>
<para>
Improve efficiency of <link linkend="dblink">dblink</link> by using
libpq's new single-row processing mode (Kyotaro Horiguchi, Marko
Kreen)
This improvement does not apply to
<function>dblink_send_query()</>/<function>dblink_get_result()</>.
</para>
</listitem>
<listitem>
<para>
Support <literal>force_not_null</> option in <link
linkend="file-fdw">file_fdw</link> (Shigeru Hanada)
</para>
</listitem>
<listitem>
<para>
Implement dry-run mode for <link
linkend="pgarchivecleanup"><application>pg_archivecleanup</></link>
(Gabriele Bartolini)
<para>
This only outputs the names of files to be deleted.
</para>
</listitem>
<listitem>
<para>
Add new <link linkend="pgbench">pgbench</link> switches
<option>--unlogged-tables</>, <option>--tablespace</>, and
<option>--index-tablespace</> (Robert Haas)
</para>
</listitem>
<listitem>
<para>
Change <link
linkend="pgtestfsync"><application>pg_test_fsync</></link> to test
for a fixed amount of time, rather than a fixed number of cycles
(Bruce Momjian)
</para>
<para>
The <option>-o</>/cycles option was removed, and
<option>-s</>/seconds added.
</para>
</listitem>
<listitem>
<para>
Add a <link
linkend="pgtesttiming"><application>pg_test_timing</></link>
utility to measure clock monotonicity and timing overhead (Ants
Aasma, Greg Smith)
</para>
</listitem>
<listitem>
<para>
Add a <link linkend="tcn">tcn</link> (triggered change notification)
module to generate <command>NOTIFY</command> events on table changes
(Kevin Grittner)
</para>
</listitem>
</itemizedlist>
<sect4>
<title><link linkend="pgupgrade"><application>pg_upgrade</></link></title>
<itemizedlist>
<listitem>
<para>
Adjust <application>pg_upgrade</> environment variables (Bruce
Momjian)
</para>
<para>
Rename data, bin, and port environment
variables to begin with <literal>PG</>, and support
<envar>PGPORTOLD</envar>/<envar>PGPORTNEW</envar>, to replace
<envar>PGPORT</envar>.
</para>
</listitem>
<listitem>
<para>
Overhaul <application>pg_upgrade</> logging and failure reporting
(Bruce Momjian)
</para>
Create four append-only log files, and delete them on success.
Add <option>-r</>/<option>--retain</> option to unconditionally
retain these files. Also remove <application>pg_upgrade</> options
<option>-g</>/<option>-G</>/<option>-l</> options as unnecessary,
and tighten log file permissions.
</para>
</listitem>
<listitem>
<para>
Make <application>pg_upgrade</> create a script to incrementally
generate more accurate optimizer statistics (Bruce Momjian)
This reduces the time needed to generate minimal cluster statistics
after an upgrade.
</para>
</listitem>
<listitem>
<para>
Allow <application>pg_upgrade</> to upgrade an old cluster that
does not have a <literal>postgres</> database (Bruce Momjian)
</para>
</listitem>
<listitem>
<para>
Allow <application>pg_upgrade</> to handle cases where some
old or new databases are missing, as long as they are empty
(Bruce Momjian)
</para>
Allow <application>pg_upgrade</> to handle configuration-only
directory installations (Bruce Momjian)
</para>
</listitem>
<listitem>
<para>
In <application>pg_upgrade</>, add <option>-o</>/<option>-O</>
options to pass parameters to the servers (Bruce Momjian)
This is useful for configuration-only directory installs.
</para>
</listitem>
<listitem>
<para>
Change <application>pg_upgrade</> to use port 50432 by default
(Bruce Momjian)
This helps avoid unintended client connections during the upgrade.
</para>
</listitem>
<listitem>
<para>
Reduce cluster locking in <application>pg_upgrade</> (Bruce
Momjian)
</para>
<para>
Specifically, only lock the old cluster if link mode is used,
and do it right after the schema is restored.
</para>
</listitem>
</itemizedlist>
</sect4>
<sect4>
<title><link linkend="pgstatstatements"><application>pg_stat_statements</></link></title>
<itemizedlist>
<listitem>
<para>
Allow <application>pg_stat_statements</> to aggregate similar
queries via SQL text normalization (Peter Geoghegan, Tom Lane)
</para>
<para>
Users with applications that use non-parameterized SQL will now
be able to monitor query performance without detailed log analysis.
</para>
</listitem>
<listitem>
<para>
Add dirtied and written block counts and read/write times to
<application>pg_stat_statements</> (Robert Haas, Ants Aasma)
</para>
</listitem>
<listitem>
<para>
Prevent <application>pg_stat_statements</> from double-counting
<command>PREPARE</command> and <command>EXECUTE</command> commands
(Tom Lane)
</para>
</listitem>
</itemizedlist>
</sect4>
<sect4>
<title><link linkend="sepgsql">sepgsql</link></title>
<itemizedlist>
<listitem>
<para>
Support <literal>SECURITY LABEL</> on global objects (KaiGai
Kohei, Robert Haas)
Specifically, add security labels to databases,
tablespaces, and roles.
</para>
</listitem>
<listitem>
<para>
Allow sepgsql to honor database labels (KaiGai Kohei)
</para>
</listitem>
<listitem>
<para>
Perform sepgsql permission checks during the creation of various
objects (KaiGai Kohei)
</para>
</listitem>
<listitem>
<para>
Add <function>sepgsql_setcon()</> and related functions to control
the sepgsql security domain (KaiGai Kohei)
</para>
</listitem>
<listitem>
<para>
Add a user space access cache to sepgsql to improve performance
(KaiGai Kohei)
</para>
</listitem>
</itemizedlist>
</sect4>
</sect3>
<sect3>
<title>Documentation</title>
<itemizedlist>
<listitem>
<para>
Add a rule to optionally build HTML documentation using the
stylesheet from the website (Magnus Hagander)
Use <command>gmake STYLE=website draft</>.
</para>
</listitem>
<listitem>
<para>
Improve <command>EXPLAIN</command> documentation (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Document that user/database names are preserved with double-quoting
by command-line tools like <application>vacuumdb</> (Bruce
Momjian)
</para>
</listitem>
<listitem>
<para>
Document the actual string returned by the client for MD5
authentication (Cyan Ogilvie)
</para>
</listitem>
<listitem>
<para>
Deprecate use of <literal>GLOBAL</> and <literal>LOCAL</> in
<command>CREATE TEMP TABLE</> (Noah Misch)
</para>
<para>
<productname>PostgreSQL</> has long treated these keyword as no-ops,
and continues to do so; but in future they might mean what the SQL
standard says they mean, so applications should avoid using them.
</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
</sect1>