Newer
Older
if a <literal>postgres</> database connection fails (Robert Haas)
</para>
</listitem>
</itemizedlist>
<sect4>
<title><link linkend="APP-PSQL"><application>psql</></link></title>
<itemizedlist>
<listitem>
<para>
Add <application>psql</> mode to auto-expand output based on the
display width (Peter Eisentraut)
<para>
This adds the <literal>auto</> option to the <command>\x</>
command, which switches to the expanded mode when the normal
output would be wider than the screen.
</para>
</listitem>
<listitem>
<para>
Allow inclusion of <application>psql</> files relative to the
directory of the input file from which it was invoked (Gurjeet
<para>
The <application>psql</> command is <command>\ir</>.
</para>
</listitem>
<listitem>
<para>
Add support for non-<acronym>ASCII</acronym> characters in
<application>psql</> variable names (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Add support for major-version-specific <filename>.psqlrc</> files
(Bruce Momjian)
</para>
<application>psql</> already supported minor-version-specific
<filename>.psqlrc</>
files.
</para>
</listitem>
<listitem>
<para>
Provide environment variable overrides for <application>psql</>
history and startup file locations (Andrew Dunstan)
</para>
<para>
Specifically, <envar>PSQL_HISTORY</envar> and
<envar>PSQLRC</envar>.
</para>
</listitem>
<listitem>
<para>
Add a <application>psql</> <command>\setenv</> command to modify
the environment variables used by child processes (Andrew Dunstan)
<para>
This is useful in <filename>.psqlrc</> files.
</para>
</listitem>
<listitem>
<para>
Have <application>psql</> temporary editor files use a
<filename>.sql</> extension (Peter Eisentraut)
</para>
</listitem>
<listitem>
<para>
Allows <application>psql</> to use zero-byte field and record
separators (Peter Eisentraut)
<para>
Various shell tools use zero/null-byte separators, e.g. find.
</para>
</listitem>
<listitem>
<para>
Have <application>psql</> <command>\timing</> report times for
failed queries (Magnus Hagander)
</para>
<para>
Previously only successful query times were reported.
</para>
</listitem>
<listitem>
<para>
Unify and tighten <application>psql</> treatment of <command>\copy</>
and plain <command>COPY</> (Noah Misch)
This makes failure behavior more predictable and honors <command>\set
ON_ERROR_ROLLBACK</>.
</para>
</listitem>
</itemizedlist>
</sect4>
<sect4>
<title>Informational Commands</title>
<itemizedlist>
<listitem>
<para>
Make <application>psql</> <command>\d</> on a sequence show the
table/column name owning it (Magnus Hagander)
</para>
</listitem>
<listitem>
<para>
Show statistics target for columns in <application>psql</>
<command>\d+</> (Magnus Hagander)
</para>
</listitem>
<listitem>
<para>
Show role password expiration dates in <application>psql</>
<command>\du</> (Fabrízio de Royes Mello)
</para>
</listitem>
</itemizedlist>
<sect5>
<title>Comments</title>
<itemizedlist>
<listitem>
<para>
Allow <application>psql</> to display comments for languages and
casts (Josh Kupershmidt)
</para>
<para>
These are output via <command>\dL</> and <command>\dC</>.
</para>
</listitem>
<listitem>
<para>
Allow <application>psql</> to display comments for conversions
and domains (Josh Kupershmidt)
</para>
<para>
This is accomplished with the addition of <literal>+</> to
<command>\dc</> and <command>\dD</> commands.
</para>
</listitem>
<listitem>
<para>
Allow <application>psql</> to display the comments on
<acronym>SQL</acronym>/<acronym>MED</acronym> objects in verbose
mode (Josh Kupershmidt)
</para>
</listitem>
<listitem>
<para>
Change <application>psql</>'s <command>\dd</> command to display
only objects without their own backslash command (Josh Kupershmidt)
</para>
</listitem>
</itemizedlist>
</sect5>
</sect4>
<sect4>
<title>Tab Completion</title>
<itemizedlist>
<listitem>
<para>
In <application>psql</> tab completion,
complete <acronym>SQL</acronym> keywords based on
<varname>COMP_KEYWORD_CASE</> setting and the perhaps case of
the partially-supplied word (Peter Eisentraut)
</para>
</listitem>
<listitem>
<para>
Add <application>psql</> tab completion support for
<command>EXECUTE</command> (Andreas Karlsson)
</para>
</listitem>
<listitem>
<para>
Allow tab completion of role references in
<command>GRANT</command>/<command>REVOKE</command> (Peter
Eisentraut)
</para>
</listitem>
<listitem>
<para>
Allow tab completion of file names to supply quotes, when necessary
(Noah Misch)
</para>
</listitem>
<listitem>
<para>
Change <application>psql</> tab completion support for
<command>TABLE</command> to also display views (Magnus Hagander)
</para>
</listitem>
</itemizedlist>
</sect4>
<sect4>
<title><link linkend="APP-PGDUMP"><application>pg_dump</></link></title>
<itemizedlist>
<listitem>
<para>
Add an <option>--exclude-table-data</> option to
<application>pg_dump</> (Andrew Dunstan)
</para>
<para>
This allows dumping of a table's definition but not its data,
on a per-table basis.
</para>
</listitem>
<listitem>
<para>
Add a <option>--section</> option to <application>pg_dump</>
and <application>pg_restore</> (Andrew Dunstan)
<para>
Valid values are <literal>pre-data</>, <literal>data</>,
and <literal>post-data</>. The option can be
given more than once. <option>--schema-only</>
is equivalent to <literal>--section=pre-data
--section=post-data</>. <option>--data-only</> is equivalent to
<literal>--section=data</>.
</para>
</listitem>
<listitem>
<para>
Have <link
linkend="APP-PG-DUMPALL"><application>pg_dumpall</></link> dump all
roles first, then all configuration settings on roles (Phil Sorber)
</para>
<para>
This allows a role's configuration settings to rely on other
roles without generating an error.
</para>
</listitem>
<listitem>
<para>
Allow <application>pg_dumpall</> to avoid errors if the
<literal>postgres</> database is missing in the new cluster
(Robert Haas)
</para>
</listitem>
<listitem>
<para>
Dump foreign server user mappings in user name order (Peter
Eisentraut)
</para>
<para>
This helps produce deterministic dump files.
</para>
</listitem>
<listitem>
<para>
Dump operators in a predictable order (Peter Eisentraut)
</para>
</listitem>
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
<listitem>
<para>
Tighten rules for when extension configuration tables are dumped
by <application>pg_dump</> (Tom Lane)
</para>
</listitem>
</itemizedlist>
</sect4>
</sect3>
<sect3>
<title><link linkend="libpq"><application>libpq</></link></title>
<itemizedlist>
<listitem>
<para>
Add <acronym>URI</acronym>s support to libpq connection functions
(Alexander Shulgin)
</para>
<para>
The syntax begins with <literal>postgres://</>.
</para>
</listitem>
<listitem>
<para>
Add a libpq <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 row processor <acronym>API</acronym> to libpq for better
handling of large result sets (Kyotaro Horiguchi)
Previously, libpq collected the entire query result into memory
before passing it back to the application.
</para>
</listitem>
<listitem>
<para>
Enhance <literal>const</> qualifiers in the libpq functions
PQconnectdbParams, PQconnectStartParams, and PQpingParams (Lionel
Elie Mamane)
</para>
</listitem>
<listitem>
<para>
Allow libpq's <filename>.pgpass</> file to process escaped characters
in the password field (Robert Haas)
</para>
</listitem>
<listitem>
<para>
Have library functions use <function>abort()</> instead of
<function>exit()</> to terminate the executable (Peter Eisentraut)
</para>
<para>
This 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>
<listitem>
<para>
Fix a libpq memory leak by freeing client encoding connection
parameters (Peter Eisentraut)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Source Code</title>
<itemizedlist>
<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>
Use C flexible array members, where supported (Peter Eisentraut)
</para>
</listitem>
<listitem>
<para>
Improve the concurrent transaction regression tests
(isolationtester) (Noah Misch)
</para>
</listitem>
<listitem>
<para>
Modify <application>thread_test</> to create its test files in
the current directory, rather than /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>
Remove dead ports (Peter Eisentraut)
</para>
<para>
The removed ports are: dgux, nextstep, sunos4, svr4, ultrix4,
univel, bsdi.
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Modules</title>
<itemizedlist>
<listitem>
<para>
Improve efficiency of <link linkend="dblink">dblink</link> by
using libpq's new row processor <acronym>API</acronym> (Kyotaro
Horiguchi)
<para>
This cannot be used by
<function>dblink_send_query()</>/<function>dblink_get_result()</>.
</para>
</listitem>
<listitem>
<para>
Add <link linkend="tcn">tcn</link> (triggered change notification)
to generate <command>NOTIFY</command> events on table changes
(Kevin Grittner)
</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>
Have <link linkend="vacuumlo">vacuumlo</link> remove large objects
in batches, to reduce locking (Tim Lewis, Tom Lane)
</para>
<para>
The new <option>-l</> option allows changing the number of large
objects removed per transaction.
</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>
</itemizedlist>
<sect4>
<title><link linkend="pgupgrade"><application>pg_upgrade</></link></title>
<itemizedlist>
<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>
</listitem>
<listitem>
<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)
</para>
<para>
This is useful for configuration-only directory installs.
</para>
</listitem>
<listitem>
<para>
Change <application>pg_upgrade</> to use port 50432 by default
(Bruce Momjian)
</para>
<para>
This helps avoid unintended client connections during the upgrade.
</para>
</listitem>
<listitem>
<para>
Overhaul <application>pg_upgrade</> logging and failure reporting
(Bruce Momjian)
</para>
<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>
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>. INCOMPATIBILITY?
</para>
</listitem>
<listitem>
<para>
Have <application>pg_upgrade</> create a script to incrementally
generate more accurate optimizer statistics (Bruce Momjian)
</para>
<para>
This reduces the time needed to generate minimal cluster statistics
after an 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>
Improve <application>pg_stat_statements</> to aggregate similar
queries (Peter Geoghegan, Tom Lane)
</para>
</listitem>
<listitem>
<para>
Add dirtied and written block counts to
<application>pg_stat_statements</> (Robert Haas)
</para>
</listitem>
<listitem>
<para>
Improve <application>pg_stat_statements</>' handling of
<command>PREPARE</command>/<command>EXECUTE</command> statements
(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)
<para>
Specifically, add <literal>SECURITY LABEL</>s 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 userspace 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 docs with the stylesheet from the
website (Magnus Hagander)
</para>
<para>
Use <command>make 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>
Improve the foreign data wrapper <acronym>API</acronym> and
documentation (Hanada Shigeru)
</para>
</listitem>
<listitem>
<para>
Document the actual string returned by the client for MD5
authentication (Cyan Ogilvie)
</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
</sect1>