提交 0923b01e 编写于 作者: T Tom Lane

Update 9.4 release notes.

Set release date, do a final pass of wordsmithing, improve some other
new-in-9.4 documentation.
上级 c50423c0
...@@ -3180,9 +3180,10 @@ SELECT person.name, holidays.num_weeks FROM person, holidays ...@@ -3180,9 +3180,10 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</indexterm> </indexterm>
<para> <para>
Lines (<type>line</type>) are represented by the linear equation Ax + By Lines are represented by the linear
+ C = 0, where A and B are not both zero. Values of equation <replaceable>A</>x + <replaceable>B</>y + <replaceable>C</> = 0,
type <type>line</type> is input and output in the following form: where <replaceable>A</> and <replaceable>B</> are not both zero. Values
of type <type>line</type> are input and output in the following form:
<synopsis> <synopsis>
{ <replaceable>A</replaceable>, <replaceable>B</replaceable>, <replaceable>C</replaceable> } { <replaceable>A</replaceable>, <replaceable>B</replaceable>, <replaceable>C</replaceable> }
</synopsis> </synopsis>
...@@ -3200,7 +3201,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays ...@@ -3200,7 +3201,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
<literal>(<replaceable>x1</replaceable>,<replaceable>y1</replaceable>)</literal> <literal>(<replaceable>x1</replaceable>,<replaceable>y1</replaceable>)</literal>
and and
<literal>(<replaceable>x2</replaceable>,<replaceable>y2</replaceable>)</literal> <literal>(<replaceable>x2</replaceable>,<replaceable>y2</replaceable>)</literal>
are two (different) points on the line. are two different points on the line.
</para> </para>
</sect2> </sect2>
...@@ -3216,9 +3217,9 @@ SELECT person.name, holidays.num_weeks FROM person, holidays ...@@ -3216,9 +3217,9 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</indexterm> </indexterm>
<para> <para>
Line segments (<type>lseg</type>) are represented by pairs of points. Line segments are represented by pairs of points that are the endpoints
Values of type <type>lseg</type> are specified using any of the following of the segment. Values of type <type>lseg</type> are specified using any
syntaxes: of the following syntaxes:
<synopsis> <synopsis>
[ ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ( <replaceable>x2</replaceable> , <replaceable>y2</replaceable> ) ] [ ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ( <replaceable>x2</replaceable> , <replaceable>y2</replaceable> ) ]
......
...@@ -1078,15 +1078,26 @@ END; ...@@ -1078,15 +1078,26 @@ END;
always sets <literal>FOUND</literal> to true. always sets <literal>FOUND</literal> to true.
</para> </para>
<para>
For <command>INSERT</>/<command>UPDATE</>/<command>DELETE</> with
<literal>RETURNING</>, <application>PL/pgSQL</application> reports
an error for more than one returned row, even when
<literal>STRICT</literal> is not specified. This is because there
is no option such as <literal>ORDER BY</> with which to determine
which affected row should be returned.
</para>
<para> <para>
If <literal>print_strict_params</> is enabled for the function, If <literal>print_strict_params</> is enabled for the function,
you will get information about the parameters passed to the then when an error is thrown because the requirements
query in the <literal>DETAIL</> part of the error message produced of <literal>STRICT</> are not met, the <literal>DETAIL</> part of
when the requirements of STRICT are not met. You can change this the error message will include information about the parameters
setting on a system-wide basis by setting passed to the query.
You can change the <literal>print_strict_params</>
setting for all functions by setting
<varname>plpgsql.print_strict_params</>, though only subsequent <varname>plpgsql.print_strict_params</>, though only subsequent
function compilations will be affected. You can also enable it function compilations will be affected. You can also enable it
on a per-function basis by using a compiler option: on a per-function basis by using a compiler option, for example:
<programlisting> <programlisting>
CREATE FUNCTION get_userid(username text) RETURNS int CREATE FUNCTION get_userid(username text) RETURNS int
AS $$ AS $$
...@@ -1100,15 +1111,12 @@ BEGIN ...@@ -1100,15 +1111,12 @@ BEGIN
END END
$$ LANGUAGE plpgsql; $$ LANGUAGE plpgsql;
</programlisting> </programlisting>
</para> On failure, this function might produce an error message such as
<programlisting>
<para> ERROR: query returned no rows
For <command>INSERT</>/<command>UPDATE</>/<command>DELETE</> with DETAIL: parameters: $1 = 'nosuchuser'
<literal>RETURNING</>, <application>PL/pgSQL</application> reports CONTEXT: PL/pgSQL function get_userid(text) line 6 at SQL statement
an error for more than one returned row, even when </programlisting>
<literal>STRICT</literal> is not specified. This is because there
is no option such as <literal>ORDER BY</> with which to determine
which affected row should be returned.
</para> </para>
<note> <note>
...@@ -2767,28 +2775,36 @@ END; ...@@ -2767,28 +2775,36 @@ END;
</sect2> </sect2>
<sect2 id="plpgsql-get-diagnostics-context"> <sect2 id="plpgsql-get-diagnostics-context">
<title>Obtaining the Call Stack Context Information</title> <title>Obtaining Current Execution Information</title>
<para>
The <command>GET <optional> CURRENT </optional> DIAGNOSTICS</command>
command retrieves information about current execution state (whereas
the <command>GET STACKED DIAGNOSTICS</command> command discussed above
reports information about the execution state as of a previous error).
This command has the form:
</para>
<synopsis> <synopsis>
GET <optional> CURRENT </optional> DIAGNOSTICS <replaceable>variable</replaceable> { = | := } <replaceable>PG_CONTEXT</replaceable> <optional> , ... </optional>; GET <optional> CURRENT </optional> DIAGNOSTICS <replaceable>variable</replaceable> { = | := } <replaceable>item</replaceable> <optional> , ... </optional>;
</synopsis> </synopsis>
<para> <para>
Calling <command>GET DIAGNOSTICS</command> with status Currently only one information item is supported. Status
item <varname>PG_CONTEXT</> will return a text string with line(s) of item <literal>PG_CONTEXT</> will return a text string with line(s) of
text describing the call stack. The first row refers to the text describing the call stack. The first line refers to the
current function and currently executing <command>GET DIAGNOSTICS</command> current function and currently executing <command>GET DIAGNOSTICS</command>
command. The second and any subsequent rows refer to the calling functions command. The second and any subsequent lines refer to calling functions
up the call stack. further up the call stack. For example:
<programlisting> <programlisting>
CREATE OR REPLACE FUNCTION public.outer_func() RETURNS integer AS $$ CREATE OR REPLACE FUNCTION outer_func() RETURNS integer AS $$
BEGIN BEGIN
RETURN inner_func(); RETURN inner_func();
END; END;
$$ LANGUAGE plpgsql; $$ LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION public.inner_func() RETURNS integer AS $$ CREATE OR REPLACE FUNCTION inner_func() RETURNS integer AS $$
DECLARE DECLARE
stack text; stack text;
BEGIN BEGIN
...@@ -2801,8 +2817,9 @@ $$ LANGUAGE plpgsql; ...@@ -2801,8 +2817,9 @@ $$ LANGUAGE plpgsql;
SELECT outer_func(); SELECT outer_func();
NOTICE: --- Call Stack --- NOTICE: --- Call Stack ---
PL/pgSQL function inner_func() line 4 at GET DIAGNOSTICS PL/pgSQL function inner_func() line 5 at GET DIAGNOSTICS
PL/pgSQL function outer_func() line 3 at RETURN PL/pgSQL function outer_func() line 3 at RETURN
CONTEXT: PL/pgSQL function outer_func() line 3 at RETURN
outer_func outer_func
------------ ------------
1 1
......
...@@ -6,9 +6,7 @@ ...@@ -6,9 +6,7 @@
<note> <note>
<title>Release Date</title> <title>Release Date</title>
<simpara>2014-??-??</simpara> <simpara>2014-12-18</simpara>
<simpara>Current as of 2014-11-17</simpara>
<!-- Be sure to remove "delta from 9.4beta" items below before final! -->
</note> </note>
<sect2> <sect2>
...@@ -24,44 +22,44 @@ ...@@ -24,44 +22,44 @@
<listitem> <listitem>
<para> <para>
Allow <link linkend="rules-materializedviews">materialized views</> Add <link linkend="datatype-json"><type>jsonb</></link>, a more
to be refreshed without blocking reads capable and efficient data type for storing <acronym>JSON</> data
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add support for <link linkend="logicaldecoding">logical decoding</> Add new <acronym>SQL</> command <xref linkend="SQL-ALTERSYSTEM">
of WAL data, to allow database changes to be streamed out in a for changing <filename>postgresql.conf</> configuration file entries
customizable format
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <link linkend="bgworker">background worker processes</> Reduce lock strength for some <xref linkend="SQL-ALTERTABLE">
to be dynamically registered, started and terminated commands
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <link linkend="datatype-json"><type>jsonb</></link>, a more Allow <link linkend="rules-materializedviews">materialized views</>
capable and efficient data type for storing <acronym>JSON</> data to be refreshed without blocking concurrent reads
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add new <acronym>SQL</> command <xref linkend="SQL-ALTERSYSTEM"> Add support for <link linkend="logicaldecoding">logical decoding</>
for updating <filename>postgresql.conf</> configuration file entries of WAL data, to allow database changes to be streamed out in a
customizable format
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Reduce lock strength for some <xref linkend="SQL-ALTERTABLE"> Allow <link linkend="bgworker">background worker processes</>
commands to be dynamically registered, started and terminated
</para> </para>
</listitem> </listitem>
...@@ -90,39 +88,6 @@ ...@@ -90,39 +88,6 @@
<itemizedlist> <itemizedlist>
<!-- delta from 9.4beta2, be sure to remove before final: -->
<listitem>
<para>
Change on-disk format of <type>jsonb</> data
(Heikki Linnakangas and Tom Lane)
</para>
<para>
The on-disk representation was changed after 9.4beta2 to improve
efficiency. <application>pg_upgrade</> will refuse to upgrade any
9.4beta1 or 9.4beta2 database containing <type>jsonb</> columns; you
will need to use <application>pg_dumpall</> instead to migrate such
databases.
</para>
</listitem>
<!-- delta from 9.4beta3, be sure to remove before final: -->
<listitem>
<para>
Fix representation of numeric values in <type>jsonb</> GIN indexes
(Tom Lane)
</para>
<para>
Numeric items within <type>jsonb</> values are converted to strings
for storage in GIN <literal>jsonb_ops</> indexes. In 9.4beta3,
trailing zeroes in such items were mishandled. Beta testers
should <command>REINDEX</> any such indexes after upgrading, to ensure
that searches for numeric values will find the expected rows. Note
that <literal>jsonb_path_ops</> indexes were not affected by this bug.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Tighten checks for multidimensional <link Tighten checks for multidimensional <link
...@@ -131,8 +96,8 @@ ...@@ -131,8 +96,8 @@
<para> <para>
Previously, an input array string that started with a single-element Previously, an input array string that started with a single-element
array dimension could later contain multidimensional segments, sub-array could later contain multi-element sub-arrays,
e.g. <literal>'{{1}, {2,3}}'::int[]</>. e.g. <literal>'{{1}, {2,3}}'::int[]</> would be accepted.
</para> </para>
</listitem> </listitem>
...@@ -173,7 +138,7 @@ ...@@ -173,7 +138,7 @@
<listitem> <listitem>
<para> <para>
The <link linkend="functions-json-op-table"><type>json</type> The <link linkend="functions-json-op-table"><type>json</type>
<literal>#&gt;</> <type>text[]</> path extraction operator</link> now <literal>#&gt;</> <type>text[]</></link> path extraction operator now
returns its lefthand input, not NULL, if the array is empty (Tom Lane) returns its lefthand input, not NULL, if the array is empty (Tom Lane)
</para> </para>
...@@ -335,8 +300,14 @@ ...@@ -335,8 +300,14 @@
<listitem> <listitem>
<para> <para>
Use the last specified <xref linkend="recovery-target"> if multiple Use the last specified <link linkend="recovery-target-settings">recovery
values are specified (Heikki Linnakangas) target parameter</link> if multiple target parameters are specified
(Heikki Linnakangas)
</para>
<para>
Previously, there was an undocumented precedence order among
the <literal>recovery_target_<replaceable>xxx</></literal> parameters.
</para> </para>
</listitem> </listitem>
...@@ -443,29 +414,6 @@ ...@@ -443,29 +414,6 @@
</para> </para>
</listitem> </listitem>
<!-- delta from 9.4beta2, be sure to remove before final: -->
<listitem>
<para>
Update time zone data files to tzdata release 2014j for DST law
changes in Russia and elsewhere
</para>
<para>
This change is more significant than most time zone updates because
many Russian zone abbreviations are changing meaning, including IRKT,
KRAT, MAGT, MSK, NOVT, OMST, SAKT, VLAT, YAKT, and YEKT.
<productname>PostgreSQL</> will now associate the correct UTC offset
with these abbreviations depending on the given date. Also, IANA
has formally recognized abbreviations of the form
A<replaceable>x</>ST/A<replaceable>x</>DT for Australian timezones,
so adopt those names as part of the <quote>Default</> abbreviation
set in <productname>PostgreSQL</>. The <quote>Australia</>
abbreviation set now need be selected only if it's desired to use
historical abbreviations that conflict with abbreviations commonly
used elsewhere, such as EST or SAST.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</sect2> </sect2>
...@@ -491,7 +439,7 @@ ...@@ -491,7 +439,7 @@
</para> </para>
<para> <para>
The <filename>contrib/worker_spi</> module shows an example of use The new <filename>worker_spi</> module shows an example of use
of this feature. of this feature.
</para> </para>
</listitem> </listitem>
...@@ -503,7 +451,8 @@ ...@@ -503,7 +451,8 @@
</para> </para>
<para> <para>
This feature is illustrated in <filename>contrib/test_shm_mq</filename>. This feature is illustrated in the <filename>test_shm_mq</filename>
module.
</para> </para>
</listitem> </listitem>
...@@ -555,7 +504,7 @@ ...@@ -555,7 +504,7 @@
<para> <para>
Indexes upgraded via <xref linkend="pgupgrade"> will work fine Indexes upgraded via <xref linkend="pgupgrade"> will work fine
but will still be in the old, larger <acronym>GIN</> format. but will still be in the old, larger <acronym>GIN</> format.
Use <xref linkend="SQL-REINDEX"> to recreate such an index in the Use <xref linkend="SQL-REINDEX"> to recreate old GIN indexes in the
new format. new format.
</para> </para>
</listitem> </listitem>
...@@ -656,8 +605,7 @@ ...@@ -656,8 +605,7 @@
<listitem> <listitem>
<para> <para>
Improve speed of <xref linkend="SQL-COPY"> Improve speed of <xref linkend="SQL-COPY"> with default <link
with <literal>DEFAULT</> <link
linkend="functions-sequence-table"><function>nextval()</></link> linkend="functions-sequence-table"><function>nextval()</></link>
columns (Simon Riggs) columns (Simon Riggs)
</para> </para>
...@@ -687,7 +635,7 @@ ...@@ -687,7 +635,7 @@
<listitem> <listitem>
<para> <para>
Make the planner more aggressive in extracting restriction clauses Make the planner more aggressive about extracting restriction clauses
from mixed <literal>AND</>/<literal>OR</> clauses (Tom Lane) from mixed <literal>AND</>/<literal>OR</> clauses (Tom Lane)
</para> </para>
</listitem> </listitem>
...@@ -830,7 +778,7 @@ ...@@ -830,7 +778,7 @@
<listitem> <listitem>
<para> <para>
Add new <acronym>SQL</> command <xref linkend="SQL-ALTERSYSTEM"> Add new <acronym>SQL</> command <xref linkend="SQL-ALTERSYSTEM">
for updating <filename>postgresql.conf</> configuration file entries for changing <filename>postgresql.conf</> configuration file entries
(Amit Kapila) (Amit Kapila)
</para> </para>
...@@ -948,7 +896,7 @@ ...@@ -948,7 +896,7 @@
<para> <para>
The previous level was <literal>LOG</>, which was too verbose The previous level was <literal>LOG</>, which was too verbose
for per-session libraries. for libraries loaded per-session.
</para> </para>
</listitem> </listitem>
...@@ -993,8 +941,7 @@ ...@@ -993,8 +941,7 @@
<listitem> <listitem>
<para> <para>
Add <link linkend="recovery-config"><filename>recovery.conf</></link> Add recovery parameter <xref linkend="recovery-min-apply-delay">
parameter <xref linkend="recovery-min-apply-delay">
to delay replication (Robert Haas, Fabr&iacute;zio de Royes Mello, to delay replication (Robert Haas, Fabr&iacute;zio de Royes Mello,
Simon Riggs) Simon Riggs)
</para> </para>
...@@ -1145,8 +1092,8 @@ ...@@ -1145,8 +1092,8 @@
<listitem> <listitem>
<para> <para>
Add <link linkend="queries-tablefunctions"><literal>WITH Add <link linkend="queries-tablefunctions"><literal>WITH
ORDINALITY</></link> syntax to number rows returned from ORDINALITY</></link> syntax to number the rows returned from a
set-returning functions in the <literal>FROM</> clause set-returning function in the <literal>FROM</> clause
(Andrew Gierth, David Fetter) (Andrew Gierth, David Fetter)
</para> </para>
...@@ -1272,9 +1219,9 @@ ...@@ -1272,9 +1219,9 @@
<listitem> <listitem>
<para> <para>
Allow <link linkend="rules-materializedviews">materialized views</> Allow a <link linkend="rules-materializedviews">materialized view</>
to be refreshed without blocking reads to be refreshed without blocking other sessions from reading the view
(Kevin Grittner) meanwhile (Kevin Grittner)
</para> </para>
<para> <para>
...@@ -1435,8 +1382,9 @@ ...@@ -1435,8 +1382,9 @@
<para> <para>
The line <emphasis>segment</> data type (<link The line <emphasis>segment</> data type (<link
linkend="datatype-lseg"><type>lseg</></link>) has always been linkend="datatype-lseg"><type>lseg</></link>) has always been
fully supported. The previous <type>line</> data type (enabled fully supported. The previous <type>line</> data type (which was
only via a compile-time option) is not binary or dump-compatible. enabled only via a compile-time option) is not binary or
dump-compatible with the new implementation.
</para> </para>
</listitem> </listitem>
...@@ -1459,8 +1407,8 @@ ...@@ -1459,8 +1407,8 @@
<listitem> <listitem>
<para> <para>
Support time zone abbreviations that change from time to time Support time zone abbreviations that change UTC offset from time to
(Tom Lane) time (Tom Lane)
</para> </para>
<para> <para>
...@@ -1472,6 +1420,8 @@ ...@@ -1472,6 +1420,8 @@
Update the zone abbreviation definition files to make use of this Update the zone abbreviation definition files to make use of this
feature in timezone locales that have changed the UTC offset of their feature in timezone locales that have changed the UTC offset of their
abbreviations since 1970 (according to the IANA timezone database). abbreviations since 1970 (according to the IANA timezone database).
In such timezones, <productname>PostgreSQL</> will now associate the
correct UTC offset with the abbreviation depending on the given date.
</para> </para>
</listitem> </listitem>
...@@ -1507,8 +1457,8 @@ ...@@ -1507,8 +1457,8 @@
</para> </para>
<para> <para>
This new type allows faster access to values in a JSON This new type allows faster access to values within a JSON
document and faster and more useful indexing of JSON columns. document, and faster and more useful indexing of JSON columns.
Scalar values in <type>jsonb</> documents are stored as appropriate Scalar values in <type>jsonb</> documents are stored as appropriate
scalar SQL types, and the JSON document structure is pre-parsed scalar SQL types, and the JSON document structure is pre-parsed
rather than being stored as text as in the original <type>json</> rather than being stored as text as in the original <type>json</>
...@@ -1716,7 +1666,7 @@ ...@@ -1716,7 +1666,7 @@
<listitem> <listitem>
<para> <para>
Add control over which rows are passed Add control over which rows are passed
into aggregate functions using the <link into aggregate functions via the <link
linkend="syntax-aggregates"><literal>FILTER</></link> clause linkend="syntax-aggregates"><literal>FILTER</></link> clause
(David Fetter) (David Fetter)
</para> </para>
...@@ -1732,7 +1682,7 @@ ...@@ -1732,7 +1682,7 @@
<listitem> <listitem>
<para> <para>
Add aggregates <link Add standard ordered-set aggregates <link
linkend="functions-orderedset-table"><function>percentile_cont()</></link>, linkend="functions-orderedset-table"><function>percentile_cont()</></link>,
<function>percentile_disc()</>, <function>mode()</>, <link <function>percentile_disc()</>, <function>mode()</>, <link
linkend="functions-hypothetical-table"><function>rank()</></link>, linkend="functions-hypothetical-table"><function>rank()</></link>,
...@@ -1756,8 +1706,8 @@ ...@@ -1756,8 +1706,8 @@
types (Tom Lane) types (Tom Lane)
</para> </para>
<para> <para>
This allows proper declaration of aggregates like the built-in This allows proper declaration in SQL of aggregates like the built-in
aggregate <function>array_agg()</> in SQL. aggregate <function>array_agg()</>.
</para> </para>
</listitem> </listitem>
...@@ -1801,9 +1751,9 @@ ...@@ -1801,9 +1751,9 @@
<listitem> <listitem>
<para> <para>
Add ability to store the PL/PgSQL Add ability to retrieve the current PL/PgSQL call stack
call stack into a variable using <link using <link linkend="plpgsql-get-diagnostics-context"><command>GET
linkend="plpgsql-get-diagnostics-context"><literal>PG_CONTEXT</></link> DIAGNOSTICS</></link>
(Pavel Stehule, Stephen Frost) (Pavel Stehule, Stephen Frost)
</para> </para>
</listitem> </listitem>
...@@ -1811,10 +1761,9 @@ ...@@ -1811,10 +1761,9 @@
<listitem> <listitem>
<para> <para>
Add option <link Add option <link
linkend="plpgsql-statements-assignment"><option>print_strict_params</></link> linkend="plpgsql-statements-sql-onerow"><option>print_strict_params</></link>
to output parameters passed to queries generating <link to display the parameters passed to a query that violated a
linkend="plpgsql-statements-sql-onerow"><literal>STRICT</></link> <literal>STRICT</> constraint (Marko Tiikkaja)
errors (Marko Tiikkaja)
</para> </para>
</listitem> </listitem>
...@@ -1827,7 +1776,7 @@ ...@@ -1827,7 +1776,7 @@
</para> </para>
<para> <para>
Currently only shadowed variable errors/warnings are available. Currently only warnings/errors about shadowed variables are available.
</para> </para>
</listitem> </listitem>
...@@ -1962,8 +1911,8 @@ ...@@ -1962,8 +1911,8 @@
<listitem> <listitem>
<para> <para>
Allow Control-C to abort <application>psql</> when hung at connection Allow Control-C to abort <application>psql</> when it's hung at
startup (Peter Eisentraut) connection startup (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
...@@ -1976,23 +1925,23 @@ ...@@ -1976,23 +1925,23 @@
<listitem> <listitem>
<para> <para>
Make <application>psql</> <command>\db+</> show tablespace options Make <application>psql</>'s <command>\db+</> show tablespace options
(Magnus Hagander) (Magnus Hagander)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Make <application>psql</> <command>\do+</> display the functions Make <command>\do+</> display the functions
which implement the operators (Marko Tiikkaja) that implement the operators (Marko Tiikkaja)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Make <application>psql</> <command>\d+</> output an Make <command>\d+</> output an
<literal>OID</> line only if an <literal>oid</literal> column <literal>OID</> line only if an <literal>oid</literal> column
exists in a table (Bruce Momjian) exists in the table (Bruce Momjian)
</para> </para>
<para> <para>
...@@ -2015,23 +1964,22 @@ ...@@ -2015,23 +1964,22 @@
<listitem> <listitem>
<para> <para>
Fix <application>psql</> <command>\copy</> to no longer require Fix <command>\copy</> to no longer require
a space between <literal>stdin</> and a semicolon (Etsuro Fujita) a space between <literal>stdin</> and a semicolon (Etsuro Fujita)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Output the row count at the end Output the row count at the end of <command>\copy</>, just
of <application>psql</> <command>\copy</> just like <command>COPY</> already did (Kumar Rajeev Rastogi)
like <xref linkend="SQL-COPY"> (Kumar Rajeev Rastogi)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Fix <application>psql</> <command>\conninfo</> to display the Fix <command>\conninfo</> to display the
server's <acronym>IP</> address for clients that connect using server's <acronym>IP</> address for connections using
<literal>hostaddr</> (Fujii Masao) <literal>hostaddr</> (Fujii Masao)
</para> </para>
...@@ -2043,29 +1991,29 @@ ...@@ -2043,29 +1991,29 @@
<listitem> <listitem>
<para> <para>
Mention the <acronym>SSL</> protocol version in Show the <acronym>SSL</> protocol version in
<application>psql</>'s <command>\conninfo</> (Marko Kreen) <command>\conninfo</> (Marko Kreen)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <application>psql</> tab completion for <command>\pset</> Add tab completion for <command>\pset</>
(Pavel Stehule) (Pavel Stehule)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <application>psql</>'s <command>\pset</> with no arguments Allow <command>\pset</> with no arguments
to show all settings (Gilles Darold) to show all settings (Gilles Darold)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
In <application>psql</>, display the history file name written by Make <command>\s</> display the name of the history file it wrote
<command>\s</> without converting it to an absolute path (Tom Lane) without converting it to an absolute path (Tom Lane)
</para> </para>
<para> <para>
...@@ -2291,7 +2239,7 @@ ...@@ -2291,7 +2239,7 @@
Currently, these tests are run by <literal>make check-world</> Currently, these tests are run by <literal>make check-world</>
only if the <option>--enable-tap-tests</> option was given only if the <option>--enable-tap-tests</> option was given
to <application>configure</>. to <application>configure</>.
This might become the default in some future release. This might become the default behavior in some future release.
</para> </para>
</listitem> </listitem>
...@@ -2316,7 +2264,7 @@ ...@@ -2316,7 +2264,7 @@
<listitem> <listitem>
<para> <para>
Improve support for <envar>VPATH</> builds of <acronym>PGXS</> Improve support for <envar>VPATH</> builds of <acronym>PGXS</>
modules (C&eacute;dric Villemain, Andrew Dunstan) modules (C&eacute;dric Villemain, Andrew Dunstan, Peter Eisentraut)
</para> </para>
</listitem> </listitem>
...@@ -2345,14 +2293,15 @@ ...@@ -2345,14 +2293,15 @@
<listitem> <listitem>
<para> <para>
Various minor security and sanity fixes reported by the Fix various minor security and sanity issues reported by the
<productname>Coverity</> scanner (Stephen Frost) <productname>Coverity</> scanner (Stephen Frost)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve <application>Valgrind</> detection of invalid memory usage Improve detection of invalid memory usage when testing
<productname>PostgreSQL</> with <application>Valgrind</>
(Noah Misch) (Noah Misch)
</para> </para>
</listitem> </listitem>
...@@ -2373,10 +2322,12 @@ ...@@ -2373,10 +2322,12 @@
Allow <application>pgindent</> to accept a command-line list Allow <application>pgindent</> to accept a command-line list
of typedefs (Bruce Momjian) of typedefs (Bruce Momjian)
</para> </para>
</listitem>
<listitem>
<para> <para>
<application>pgindent</> is also now smarter about blank lines Make <application>pgindent</> smarter about blank lines
around preprocessor conditionals. around preprocessor conditionals (Bruce Momjian)
</para> </para>
</listitem> </listitem>
...@@ -2479,8 +2430,12 @@ ...@@ -2479,8 +2430,12 @@
<listitem> <listitem>
<para> <para>
Improve <xref linkend="pgtrgm">'s choice of trigrams for indexed Improve <xref linkend="pgtrgm">'s choice of trigrams for indexed
regular expression searches by discouraging the selection of regular expression searches (Alexander Korotkov)
trigrams containing whitespace (Alexander Korotkov) </para>
<para>
This change discourages use of trigrams containing whitespace, which
are usually less selective.
</para> </para>
</listitem> </listitem>
...@@ -2518,8 +2473,8 @@ ...@@ -2518,8 +2473,8 @@
<listitem> <listitem>
<para> <para>
Pass <xref linkend="pgupgrade"> user name (<option>-U</> option) to Pass <xref linkend="pgupgrade">'s user name (<option>-U</>) option to
analyze scripts (Bruce Momjian) generated analyze scripts (Bruce Momjian)
</para> </para>
</listitem> </listitem>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册