2016-03-29 [61d66c44f] Fix support of digits in email/hostnames.
+ result.
Add
linkend="functions-admin-index">gin_clean_pending_list()>>
function to allow manual invocation of pending-list cleanup for a
- GIN index, separately from vacuuming or analyzing the parent table
- (Jeff Janes)
+ GIN index (Jeff Janes)
+
+
+ Formerly, such cleanup happened only as a byproduct of vacuuming or
+ analyzing the parent table.
If necessary, vacuum can be forced to process all-frozen
pages using the new DISABLE_PAGE_SKIPPING> option.
- Normally, this should never be needed but it might help in
+ Normally this should never be needed, but it might help in
recovering from visibility-map corruption.
2016-02-11 [d4c3a156c] Remove GROUP BY columns that are functionally dependent
-->
- Avoid computing GROUP BY> columns if they are
+ Ignore GROUP BY> columns that are
functionally dependent on other columns (David Rowley)
- When appropriate, postpone evaluation of SELECT>
- output expressions until after an ORDER BY> sort
- (Konstantin Knizhnik)
-
-
- This change ensures that volatile or expensive functions in the
- output list are executed in the order suggested by ORDER
- BY>, and that they are not evaluated more times than required
- when there is a LIMIT> clause. Previously, these
- properties held if the ordering was performed by an index scan or
- pre-merge-join sort, but not if it was performed by a top-level
- sort.
-
-
-
-
-
Allow use of an index-only
scan on a partial index when the index's WHERE>
- clause references columns which are not indexed (Tomas Vondra,
+ clause references columns that are not indexed (Tomas Vondra,
Kyotaro Horiguchi)
- For example, CREATE INDEX tidx_partial ON t(b) WHERE a
- > 0> could not previously be used for an index-only scan by a
- query that only referenced a> in its WHERE>
- clause because a> is not an indexed value like
- b> is.
+ For example, an index defined by CREATE INDEX tidx_partial
+ ON t(b) WHERE a > 0> can now be used for an index-only scan by
+ a query that specifies WHERE a > 0> and does not
+ otherwise use a>. Previously this was disallowed
+ because a> is not listed as an index column.
On Linux, sync_file_range()> is used for this purpose,
- and the feature is on by default on Linux because that function has few
- downsides. This sync capability is also available on other platforms
- that have msync()> or posix_fadvise()>,
- but those interfaces have some undesirable side-effects so the
- feature is disabled by default on non-Linux platforms.
+ and the feature is on by default on Linux because that function has
+ few downsides. This flushing capability is also available on other
+ platforms if they have msync()>
+ or posix_fadvise()>, but those interfaces have some
+ undesirable side-effects so the feature is disabled by default on
+ non-Linux platforms.
- For example, SELECT AVG(x), SUM(x) FROM x> can use a
- single per-row compuation for both aggregates.
+ For example, SELECT AVG(x), VARIANCE(x) FROM tab> can use
+ a single per-row computation for both aggregates.
-->
Speed up visibility tests for recently-created tuples by checking
- our transaction snapshot, not pg_clog>, to decide
- if the source transaction should be considered committed (Jeff
- Janes, Tom Lane)
+ the current transaction's snapshot, not pg_clog>, to
+ decide if the source transaction should be considered committed
+ (Jeff Janes, Tom Lane)
Two-phase commit information is now written only to
WAL>
- during PREPARE TRANSACTION>, and read from
-
WAL> during COMMIT PREPARED>. A separate
- state file is created only if the pending transaction does not
- get committed or aborted by the time of the next checkpoint.
+ during PREPARE TRANSACTION>, and will be read back from
+
WAL> during COMMIT PREPARED> if that happens
+ soon thereafter. A separate state file is created only if the
+ pending transaction does not get committed or aborted by the time
+ of the next checkpoint.
This function returns an array of the process IDs of any
sessions that are blocking the session with the given process ID.
Historically users have obtained such information using a self-join
- on the pg_locks> view. However, it is unreasonably
+ on the pg_locks> view. However, it is unreasonably
tedious to do it that way with any modicum of correctness, and
- the addition of parallel queries has made the approach entirely
+ the addition of parallel queries has made the old approach entirely
impractical, since locks might be held or awaited by child worker
processes rather than the session's main process.
- The memory usage dump output to the postmaster log during an
+ The memory usage dump that is output to the postmaster log during an
out-of-memory failure now summarizes statistics when there are a
large number of memory contexts, rather than possibly generating
a very large report. There is also a grand total>
2016-04-08 [34c33a1f0] Add BSD authentication method.
-->
- Add an bsd> authentication method to allow the use of
+ Add a bsd> authentication
+ method to allow use of
the BSD> Authentication service for
PostgreSQL> client authentication (Marisa Emerson)
2016-04-08 [2f1d2b7a7] Set PAM_RHOST item for PAM authentication
-->
- When using
PAM> authentication, provide the client
- IP address or host name to
PAM> modules via the
- PAM_RHOST> item (Grzegorz Sampolski)
+ authentication, provide the client IP address or host name
+ to
PAM> modules via the PAM_RHOST> item
+ (Grzegorz Sampolski)
2016-01-07 [5e0b5dcab] Provide more detail in postmaster log for password authe
-->
- Provide detail in the postmaster log during more password
- authentication failures (Tom Lane)
+ Provide detail in the postmaster log for more types of password
+ authentication failure (Tom Lane)
2015-09-06 [643beffe8] Support RADIUS passwords up to 128 characters
-->
- Support <acronym>RADIUS> passwords up to 128 characters long
- (Marko Tiikkaja)
+ Support <
link linkend="auth-radius">RADIUS> passwords>
+ up to 128 characters long (Marko Tiikkaja)
2016-04-08 [35e2e357c] Add authentication parameters compat_realm and upn_usena
-->
- Add new
SSPI> authentication parameters
+ authentication parameters
compat_realm> and upn_username> to control
whether
NetBIOS> or Kerberos>
realm names and user names are used during
SSPI>
- Add configure option
- calling sd_notify()> at server start and stop (Peter
- Eisentraut)
-
-
- This allows the use of
systemd> service units of
- type notify>, which greatly simplifies the management
- of
PostgreSQL> under systemd>.
-
-
-
-
-
- Add <varname>log_line_prefix> option %n> to print
- the current time as a Unix epoch, with milliseconds (Tomas Vondra,
- Jeff Davis)
+ Add <xref linkend="guc-log-line-prefix"> option %n> to
+ print the current time in Unix epoch form, with milliseconds (Tomas
+ Vondra, Jeff Davis)
+ Add configure option
+ calling sd_notify()> at server start and stop (Peter
+ Eisentraut)
+
+
+ This allows the use of
systemd> service units of
+ type notify>, which greatly simplifies the management
+ of
PostgreSQL> under systemd>.
+
+
+
+
+
but that is unsafe and inefficient. It also prevents a new
postmaster from being started until the last old backend has
exited. Backends will detect postmaster death when waiting for
- client I/O, so the exit will not be instantaneous, but it in most
- cases should happen no later than the end of the current query.
+ client I/O, so the exit will not be instantaneous, but it should
+ happen no later than the end of the current query.
-->
Add a option to
-
pg_basebackup> (Peter Eisentraut)
+ (Peter Eisentraut)
+ When appropriate, postpone evaluation of SELECT>
+ output expressions until after an ORDER BY> sort
+ (Konstantin Knizhnik)
+
+
+ This change ensures that volatile or expensive functions in the
+ output list are executed in the order suggested by ORDER
+ BY>, and that they are not evaluated more times than required
+ when there is a LIMIT> clause. Previously, these
+ properties held if the ordering was performed by an index scan or
+ pre-merge-join sort, but not if it was performed by a top-level
+ sort.
+
+
+
+
+
Previously, the foreign join pushdown infrastructure left the
question of security entirely up to individual foreign data
- wrappers, but
it would be too easy for an
FDW> to
- inadvertently open up subtle security hole. So, make it the core
+ wrappers, but
that made it too easy for an
FDW> to
+ inadvertently create subtle security holes. So, make it the core
code's job to determine which role ID will access each table,
and do not attempt join pushdown unless the role is the same for
all relevant relations.
This command allows a database object to be marked as depending
- on an extension, so that it will be automatically dropped if
+ on an extension, so that it will be dropped automatically if
the extension is dropped (without needing CASCADE>).
However, the object is not part of the extension, and thus will
be dumped separately by
pg_dump>.
-->
Add a CASCADE> option to CREATE
- EXTENSION to automatically create extensions it depends
- on (Petr Jelínek)
+ EXTENSION to automatically create any extensions the
+ requested one depends on (Petr Jelínek)
- This is possible because the table has no existing rows. This matches
+ This is safe because the table has no existing rows. This matches
the longstanding behavior of FOREIGN KEY> constraints.
2016-06-27 [6734a1cac] Change predecence of phrase operator.
-->
- Improve full-text search to support searching for phrases, that
- is, lexemes appearing adjacent to each other in a specific order,
- or with a specified distance between them (Teodor Sigaev, Oleg
- Bartunov, Dmitry Ivanov)
+ Improve full-text search> to support
+ searching for phrases, that is, lexemes appearing adjacent to each
+ other in a specific order, or with a specified distance between
+ them (Teodor Sigaev, Oleg Bartunov, Dmitry Ivanov)
2016-03-17 [f4ceed6ce] Improve support of Hunspell
-->
- Upgrade the ispell> dictionary to handle modern
-
Hunspell> files and support more languages
- (Artur Zakirov)
+ Upgrade
+ the ispell>>
+ dictionary type to handle modern
Hunspell> files and
+ support more languages (Artur Zakirov)
2015-10-30 [12c9a0400] Implement lookbehind constraints in our regular-expressi
-->
- Implement look-behind constraints in regular expressions (Tom Lane)
+ Implement look-behind constraints
+ in regular expressions>
+ (Tom Lane)
2015-11-07 [c5e86ea93] Add "xid <> xid" and "xid <> int4" operators.
-->
- Add transaction id operators xid> <>>
+ Add transaction ID operators xid> <>>
xid> and xid> <>> int4>,
for consistency with the corresponding equality operators
(Michael Paquier)
2016-01-05 [abb173392] Add scale(numeric)
-->
- Add a scale(numeric)> function to extract the display
- scale of a numeric> value (Marko Tiikkaja)
+ Add a
+ linkend="functions-math-func-table">scale(numeric)>>
+ function to extract the display scale of a numeric> value
+ (Marko Tiikkaja)
measures its argument in degrees, whereas sin()>
measures in radians. These functions go to some lengths to
deliver exact results for values where an exact result can be
- expected, e.g. sind(30) = 0.5.
+ expected, for instance sind(30) = 0.5.
The
POSIX> standard says that these functions should
- return NaN> for NaN input, and should throw an error for
- out-of-range inputs including infinity>. Previously our
- behavior varied across platforms.
+ return NaN> for NaN> input, and should throw
+ an error for out-of-range inputs including infinity>.
+ Previously our behavior varied across platforms.
2016-03-29 [e511d878f] Allow to_timestamp(float8) to convert float infinity to
-->
- Make to_timestamp(float8)> convert float
- infinity> to timestamp infinity> (Vitaly
- Burovoy)
+ Make
+ linkend="functions-datetime-table">to_timestamp(float8)>>
+ convert float infinity> to
+ timestamp infinity> (Vitaly Burovoy)
2015-09-17 [9acb9007d] Fix oversight in tsearch type check
-->
- Allow ts_stat_sql()> and
- tsvector_update_trigger()> to operate on values that
- are of types binary-compatible with the expected argument type,
- not just that argument type; for example allow citext>
- where text> is expected (Teodor Sigaev)
+ Allow ts_stat()>>
+ and tsvector_update_trigger()>>
+ to operate on values that are of types binary-compatible with the
+ expected argument type, not only that argument type; for example
+ allow citext> where text> is expected (Teodor
+ Sigaev)
In
linkend="functions-formatting-table">to_number()>>,
- interpret V> as dividing by 10 to the power of the
- number of digits following V> (Bruce Momjian)
+ interpret a V> format code as dividing by 10 to the
+ power of the number of digits following V> (Bruce
+ Momjian)
2016-01-05 [ea0d494da] Make the to_reg*() functions accept text not cstring.
-->
- Make the to_reg*()> functions accept type text>
- not cstring> (Petr Korobeinikov)
+ Make the
+ linkend="functions-info-catalog-table">to_reg*()>>
+ functions accept type text> not cstring>
+ (Petr Korobeinikov)
This allows avoiding an error for an unrecognized parameter
- name, and instead return a NULL>.
+ name, instead returning a NULL>.
In PL/pgSQL, detect mismatched
CONTINUE> and EXIT> statements while
- compiling PL/pgSQL functions, rather than at execution time
+ compiling a function, rather than at execution time
(Jim Nasby)
2016-08-26 [e796d0aba] Add a nonlocalized version of the severity field to clie
-->
- Add a nonlocalized version of the severity field in error and notice
- messages (Tom Lane)
+ Add a nonlocalized version of
+ the severity field> in
+ error and notice messages (Tom Lane)
+ This is done with the new function
+ linkend="libpq-pqresultverboseerrormessage">PQresultVerboseErrorMessage()>>.
This supports
psql>'s new \errverbose>
feature, and may be useful for other clients as well.
2015-09-14 [d02426029] Check existency of table/schema for -t/-n option (pg_dum
-->
- Add a
- and
pg_restore> (Pavel Stehule)
+ Add a
+ (Pavel Stehule)
+ Support multiple and
+ command-line options (Pavel Stehule, Catalin Iacob)
+
+
+ The specified operations are carried out in the order in which the
+ options are given, and then
psql> terminates.
+
+
+
+
+
2016-06-15 [9901d8ac2] Use strftime("%c") to format timestamps in psql's \watch
-->
- Improve the headers output of the \watch> command
+ Improve the headers output by the \watch> command
(Michael Paquier, Tom Lane)
This change allows SQL commands in scripts to span multiple lines.
Existing custom scripts will need to be modified to add a semicolon
- at the end of each line if missing. (Doing so does not break
- the script for use with older versions of
pgbench>.)
+ at the end of each line that does not have one already. (Doing so
+ does not break the script for use with older versions
2015-12-01 [e50cda784] Use pg_rewind when target timeline was switched
-->
- Improve
pg_rewind> so that it can work when the
- target timeline changes (Alexander Korotkov)
+ so that it can work when the target timeline changes (Alexander
+ Korotkov)
2016-08-13 [ed0097e4f] Add SQL-accessible functions for inspecting index AM pro
-->
- Restructure index access method
API> to hide most of
- it at the
C> level (Alexander Korotkov, Andrew Gierth)
+ Restructure index access
+ method
API>> to hide most of it at
+ the
C> level (Alexander Korotkov, Andrew Gierth)
2016-04-06 [6c268df12] Add new catalog called pg_init_privs
-->
- Add pg_init_privs> system catalog to hold original
- privileges of
initdb>-created and extension-created
- objects (Stephen Frost)
+ Add
+ linkend="catalog-pg-init-privs">pg_init_privs>>
+ system catalog to hold original privileges
+ of
initdb>-created and extension-created objects
+ (Stephen Frost)
This is somewhat like the reconstructed value>, but it
- could be any arbitrary chunk of data, it need not be of the same
+ could be any arbitrary chunk of data, not necessarily of the same
data type as the indexed column.
2016-03-13 [7a8d87483] Rename auto_explain.sample_ratio to sample_rate
-->
- Add configuration parameter auto_explain.sample_rate>
- to allow contrib/auto_explain> to capture just a
- configurable fraction of all queries (Craig Ringer, Julien Rouhaud)
+ Add configuration parameter auto_explain.sample_rate> to
+ allow contrib/auto_explain>>
+ to capture just a configurable fraction of all queries (Craig
+ Ringer, Julien Rouhaud)
2016-04-01 [9ee014fc8] Bloom index contrib module
-->
- Add <filename>contrib/bloom> module that implements an index
- access method based on Bloom filtering (Teodor Sigaev, Alexander
- Korotkov)
+ Add <link linkend="bloom">contrib/bloom>> module that
+ implements an index access method based on Bloom filtering (Teodor
+ Sigaev, Alexander Korotkov)
2015-12-28 [81ee726d8] Code and docs review for cube kNN support.
-->
- In <filename>contrib/cube>, introduce distance operators for
- cubes, and support kNN-style searches in GiST indexes on cube
- columns (Stas Kelvich)
+ In <link linkend="cube">contrib/cube>>, introduce
+ distance operators for cubes, and support kNN-style searches in
+ GiST indexes on cube columns (Stas Kelvich)
-->
Add selectivity estimation functions for
- contrib/intarray> operators to improve plans for
- queries using those operators (Yury Zhuravlev, Alexander Korotkov)
+ contrib/intarray>> operators
+ to improve plans for queries using those operators (Yury Zhuravlev,
+ Alexander Korotkov)
-->
Add support for word similarity> to
- contrib/pg_trgm> (Alexander Korotkov, Artur Zakirov)
+ contrib/pg_trgm>>
+ (Alexander Korotkov, Artur Zakirov)
-->
Add configuration parameter
-
pg_trgm.similarity_threshold> for
- linkend="pgtrgm">contrib/pg_trgm>>'s similarity
- threshold (Artur Zakirov)
+ pg_trgm.similarity_threshold> for
+ contrib/pg_trgm>'s similarity threshold (Artur Zakirov)
2016-06-17 [71d05a2c7] pg_visibility: Add pg_truncate_visibility_map function.
-->
- Add contrib/pg_visibility> module to allow examining
- table visibility maps (Robert Haas)
+ Add
+ linkend="pgvisibility">contrib/pg_visibility>> module
+ to allow examining table visibility maps (Robert Haas)
-
<filename>postgres_fdw>
+
<link linkend="postgres-fdw">postgres_fdw>>
- Formerly, this involved sending a SELECT FOR UPDATE>
+ Formerly, remote updates involved sending a SELECT FOR UPDATE>
command and then updating or deleting the selected rows one-by-one.
While that is still necessary if the operation requires any local
processing, it can now be done remotely if all elements of the
However, any output traverse values pointed to by
the traversalValues> array should be allocated
in traversalMemoryContext>.
+ Each traverse value must be a single palloc'd chunk.