- Allow Full-text search for phrases (multiple adjacent words)
+ Allow full-text search for phrases (multiple adjacent words)
2015-09-16 [7aea8e4f2] Determine whether it's safe to attempt a parallel plan f
-->
- Provide infrastructure for marking functions as parallel-safe or
- not (Robert Haas, Amit Kapila)
+ Provide infrastructure for marking the parallel-safe status of
+ functions (Robert Haas, Amit Kapila)
-->
Add pages deleted from a GIN index's pending list to the free space
- map immediately, to reduce bloat if the table is not vacuumed often
+ map immediately
(Jeff Janes, Teodor Sigaev)
+
+ This reduces bloat if the table is not vacuumed often.
+
If necessary, vacuum can be forced to process all-frozen
pages using the new DISABLE_PAGE_SKIPPING> option.
- This should never be needed normally, but it might help in
+ Normally, this should never be needed but it might help in
recovering from visibility-map corruption.
This change avoids substantial replication delays that sometimes
- occurred while replaying such operations.
+ occurre while replaying such operations.
If a GROUP BY> clause includes all columns of a
non-deferred primary key, as well as other columns of the same
- relation, those other columns are redundant and can be dropped
+ table, those other columns are redundant and can be dropped
from the grouping. This saves computation in many common cases.
On Linux, sync_file_range()> is used for this purpose,
- and the feature is on by default because that function has few
- downsides. The feature is also available on other platforms
+ 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 not enabled by default on other platforms.
+ feature is disabled by default on non-Linux platforms.
- For example, CREATE INDEX tidx_partial ON t(b) WHERE a >
- 0> could not previously be used for an index-only scan because
- a> is not an indexed value like b> is.
+ 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.
(a,b) REFERENCES r (x,y)>, then a WHERE>
condition such as t.a = r.x AND t.b = r.y> cannot
select more than one r> row per t> row.
- The planner formerly considered the AND>'ed conditions
- to be independent and would often drastically misestimate the
+ The planner formerly considered AND> conditions
+ to be independent and would often drastically misestimate
selectivity as a result. Now it compares the WHERE>
- conditions to applicable foreign key constraints and produces a
- better estimate.
+ conditions to applicable foreign key constraints and produces
+ better estimates.
2016-02-06 [aa2387e2f] Improve speed of timestamp/time/date output functions.
-->
- Improve speed of the output functions for timestamp> with
- and without timezone, time>, and date> data types
- (David Rowley, Andres Freund)
+ Improve speed of the output functions for timestamp>,
+ time>, and date> data types (David Rowley,
+ Andres Freund)
- Previously it tended to underestimate the number of
- non-NULL> distinct values in a column with many
- NULL>s, and it also was inaccurate in computing the
+ Previously ANALYZE> tended to underestimate the number
+ of non-NULL> distinct values in a column with many
+ NULL>s, and was also inaccurate in computing the
most-common values.
-->
Improve sorting performance by using quicksort, not replacement
- selection when performing external sort steps (Peter Geoghegan)
+ selection sort, when performing external sort steps (Peter
+ Geoghegan)
2016-02-17 [f1f5ec1ef] Reuse abbreviated keys in ordered [set] aggregates.
-->
- Speed up the sorting of uuid>, bytea>, and
+ Speed up sorting of uuid>, bytea>, and
char(n)> fields by using abbreviated> keys
(Peter Geoghegan)
- Support for abbreviated keys has also
- been added to the non-default operator classes
- text_pattern_ops>, varchar_pattern_ops>,
- and bpchar_pattern_ops>. Processing of ordered-set
+ Support for abbreviated keys has also been
+ added to the non-default operator classes
+ linkend="indexes-opclass">text_pattern_ops>>,
+ varchar_pattern_ops>, and
+ bpchar_pattern_ops>. Processing of ordered-set
aggregates can also now exploit abbreviated keys.
-->
Speed up CREATE INDEX CONCURRENTLY> by treating
-
TID>s as 64-bit integers during the sort phase (Peter
+
TID>s as 64-bit integers during sorting (Peter
Geoghegan)
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; but 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 impractical,
- since locks might be held or awaited by child worker processes
- rather than the session's main process.
+ 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
+ impractical, since locks might be held or awaited by child worker
+ processes rather than the session's main process.
- The memory usage dump printed to the postmaster log during an
+ The memory usage dump 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 printing
+ large number of memory contexts, rather than possibly generating
a very large report. There is also a grand total>
summary line now.
2016-02-02 [7d17e683f] Add support for systemd service notifications
-->
- Add to enable
+ Add configure option to enable
calling sd_notify()> at server start and stop (Peter
Eisentraut)
2015-09-08 [1aba62ec6] Allow per-tablespace effective_io_concurrency
-->
- Allow effective_io_concurrency> to be set as a
- tablespace parameter to support cases where different tablespaces
- have different I/O characteristics (Julien Rouhaud)
+ Allow effective_io_concurrency> to be set per-tablespace
+ to support cases where different tablespaces have different I/O
+ characteristics (Julien Rouhaud)
- Formerly, we insisted on the key file being owned by the
+ Formerly, we insisted the key file be owned by the
user running the
PostgreSQL> server, but
- that is inconvenient
for some systems (such as
+ that is inconvenient
on some systems (such as
class="osname">Debian>) that are configured to manage
certificates centrally. Therefore, allow the case where the key
file is owned by root> and has group read access.
- It is up to the root admin to ensure that the group does not
- include any untrusted users.
+ It is up to the operating system administrator to ensure that
+ the group does not include any untrusted users.
Under normal circumstances the postmaster should always outlive
its child processes. If for some reason the postmaster dies,
force backend sessions to exit with an error. Formerly, existing
- backends would continue to run until their client disconnects,
+ backends would continue to run until their clients disconnect,
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
2016-04-30 [17d5db352] Remove warning about num_sync being too large in synchro
-->
- Support synchronous replication using multiple synchronous
- standby servers, not just one (Masahiko Sawada, Beena Emerson,
- Michael Paquier, Fujii Masao, Kyotaro Horiguchi)
+ Allow synchronous replication to support multiple simultaneous
+ synchronous standby servers, not just one (Masahiko Sawada,
+ Beena Emerson, Michael Paquier, Fujii Masao, Kyotaro Horiguchi)
-->
Add a feature to the replication
- protocol, and a corresponding option to
the
- linkend="functions-replication-table">pg_create_physical_replication_slot()>>
- function, to allow reserving
WAL> immediately when
- creating a replication slot (Gurjeet Singh, Michael Paquier)
+ protocol, and a corresponding option to
+ linkend="functions-replication-table">pg_create_physical_replication_slot()>>,
+ to allow reserving
WAL> immediately when creating a
+ replication slot (Gurjeet Singh, Michael Paquier)
- This allows creation of a replication slot to guarantee that all
- the
WAL> for a base backup will be available afterwards.
+ This allows the creation of a replication slot to guarantee
+ that all the
WAL> needed for a base backup will be
+ available.
2016-03-14 [74a379b98] Use repalloc_huge() to enlarge a SPITupleTable's tuple p
-->
- Widen tuples-processed counters to 64 bits (Andreas Scherbaum)
+ Widen counters recording the number of tuples processed to 64 bits
+ (Andreas Scherbaum)
- This possible because the table has no existing rows. This matches
+ This is possible because the table has no existing rows. This matches
the longstanding behavior of FOREIGN KEY> constraints.
are now gone in favor of making
initdb> revoke the
default public EXECUTE> privilege on these functions.
This allows installations to choose to grant usage of such
- functions to trusted roles that need not have full superuser
- privilege.
+ functions to trusted roles that do not need all superuser
+ privileges.
2016-03-30 [50861cd68] Improve portability of I/O behavior for the geometric ty
-->
- In the geometric data types, make sure that infinity>
- and NaN> component values are treated consistently
- during input and output (Tom Lane)
+ For geometric data types, make sure infinity> and
+ NaN> component values are treated consistently during
+ input and output (Tom Lane)
2015-11-07 [c5e86ea93] Add "xid <> xid" and "xid <> int4" operators.
-->
- Add xid> <>> xid> and xid>
- <>> int4> operators, for consistency
- with the corresponding => operators (Michael Paquier)
+ Add transaction id operators xid> <>>
+ xid> and xid> <>> int4>,
+ for consistency with the corresponding equality operators
+ (Michael Paquier)
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>; but previously,
- our actual behavior varied across platforms.
+ out-of-range inputs including infinity>. Previously our
+ behavior varied across platforms.
- The
se are
+ The
new functions are
linkend="textsearch-functions-table">ts_delete()>>,
ts_filter()>, unnest()>,
tsvector_to_array()>, array_to_tsvector()>,
This function converts strings like those produced by
- pg_size_pretty()> into sizes in bytes. An example
+ pg_size_pretty()> into bytes. An example
usage is SELECT oid::regclass FROM pg_class WHERE
pg_total_relation_size(oid) > pg_size_bytes('10 GB')>.
- This allows avoiding an error for an unrecognized parameter name;
- instead the result is NULL>.
+ This allows avoiding an error for an unrecognized parameter
+ name, and instead return a NULL>.
2016-05-06 [e1b120a8c] Only issue LOCK TABLE commands when necessary
-->
- In
pg_dump>, dump locally-made changes in privilege
+ In
pg_dump>, dump locally-made changes of privilege
assignments for system objects (Stephen Frost)
- 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 that does not have one already.
- (Doing so does not break the script for use with older versions
+ 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>.)
This infrastructure allows
pg_dump> to dump changes
that an installation may have made in privileges attached to
system objects. Formerly, such changes would be lost in a dump
- and reload, but now they can be preserved.
+ and reload, but now they are preserved.
-->
Separate out
psql>'s flex> lexer to
- make it usable by other client programs too (Tom Lane, Kyotaro
+ make it usable by other client programs (Tom Lane, Kyotaro
Horiguchi)
This change allows extensions to write
WAL> records for
- changes to pages with standard layout. The problem of needing to
+ changes to pages using a standard layout. The problem of needing to
replay
WAL> without access to the extension is solved by
having generic replay code. This allows extensions to implement,
for example, index access methods and have
WAL>
This is primarily a proof-of-concept for non-core index access
methods, but it could be useful in its own right for queries that
- involve searches on many columns.
+ search many columns.
-->
Add selectivity estimation functions for
- contrib/intarray> operators, to improve plans for
+ contrib/intarray> operators to improve plans for
queries using those operators (Yury Zhuravlev, Alexander Korotkov)
-->
Make
- linkend="pageinspect">contrib/pageinspect>'s>
+ linkend="pageinspect">contrib/pageinspect>>'s
heap_page_items()> function show the raw data in each
tuple, and add new functions tuple_data_split()> and
heap_page_item_attrs()> for inspection of individual