diff --git a/doc/src/sgml/release-9.6.sgml b/doc/src/sgml/release-9.6.sgml
index 6c4a96c8e48..1144f50a7b2 100644
--- a/doc/src/sgml/release-9.6.sgml
+++ b/doc/src/sgml/release-9.6.sgml
@@ -29,34 +29,34 @@
- Elimination of repetitive scanning of old data by autovacuum
+ Eliminate repetitive scanning of old data by autovacuum
- Synchronous replication now allows multiple standby servers for
+ Synchronous replication now allows multiple standby servers, for
increased reliability
- Full-text search for phrases
+ Allow Full-text search for phrases (multiple adjacent words)
- Support for remote joins, sorts, and updates
- in postgres_fdw>
+ Support foreign/remote joins, sorts, and UPDATE>s in
+ postgres_fdw>
Substantial performance improvements, especially in the area of
- improving scalability on many-CPU servers
+ scalability on multi-CPU>-socket servers
@@ -73,9 +73,9 @@
Migration to Version 9.6
- A dump/restore using , or use
- of , is required for those wishing to migrate
- data from any previous release.
+ A dump/restore using , or use of , is required for those wishing to migrate data
+ from any previous release.
@@ -85,11 +85,221 @@
-
-
- To be filled in, but issues are called out in relevant sections below
-
-
+
+
+
+ Change the column name in the
+ information_schema>.routines>
+ view from result_cast_character_set_name>
+ to result_cast_char_set_name> (Clément
+ Prévost)
+
+
+
+ The SQL:2011 standard specifies the longer name, but that appears
+ to be a mistake, because adjacent column names use the shorter
+ style, as do other information_schema> views.
+
+
+
+
+
+
+ Improve the pg_stat_activity>
+ view's information about what a process is waiting for (Amit
+ Kapila, Ildus Kurbangaliev)
+
+
+
+ Historically a process has only been shown as waiting if it was
+ waiting for a heavy weight lock. Now waits for light weight locks
+ and buffer pins are also shown in pg_stat_activity>.
+ Also, the type of lock being waited for is now visible.
+ These changes replace the waiting> column with
+ wait_event_type> and wait_event>.
+
+
+
+
+
+
+ In to_char()>>,
+ do not count a minus sign (when needed) as part of the field
+ width for time-related fields (Bruce Momjian)
+
+
+
+ For example, to_char('-4 years'::interval, 'YY')>
+ now returns -04>, rather than -4>.
+
+
+
+
+
+
+ Make extract()>> behave
+ more reasonably with infinite> inputs (Vitaly Burovoy)
+
+
+
+ Historically the extract()> function just returned
+ zero given an infinite timestamp, regardless of the given
+ unit name. Make it return infinity
+ or -infinity as appropriate when the
+ requested field is one that is monotonically increasing (e.g,
+ year>, epoch>), or NULL> when
+ it is not (e.g., day>, hour>). Also,
+ throw the expected error for bad unit names.
+
+
+
+
+
+
+ Remove PL/pgSQL's feature> that suppressed the
+ innermost line of CONTEXT> for messages emitted by
+ RAISE> commands (Pavel Stehule)
+
+
+
+ This ancient backwards-compatibility hack was agreed to have
+ outlived its usefulness.
+
+
+
+
+
+
+ Fix text search parser to allow leading digits in email>
+ and host> tokens (Artur Zakirov)
+
+
+
+ In most cases this will result in few changes in the parsing of
+ text. But if you have data where such addresses occur frequently,
+ it may be worth rebuilding dependent tsvector> columns
+ and indexes so that addresses of this form will be found properly
+ by text searches.
+
+
+
+
+
+
+ Extend contrib/unaccent>'s standard
+ unaccent.rules> file to handle all diacritics
+ known to Unicode, and expand ligatures correctly (Thomas Munro,
+ Léonard Benedetti)
+
+
+
+ The previous version omitted some less-common letters with
+ diacritic marks. It now also expands ligatures into separate
+ letters. Installations that use this rules file may wish to
+ rebuild tsvector> columns and indexes that depend on
+ the result.
+
+
+
+
+
+
+ Remove the long-deprecated
+ CREATEUSER>/NOCREATEUSER> options from
+ CREATE ROLE> and allied commands (Tom Lane)
+
+
+
+ CREATEUSER> actually meant SUPERUSER>,
+ for ancient backwards-compatibility reasons. This has been a
+ constant source of confusion for people who (reasonably) expect
+ it to mean CREATEROLE>. It has been deprecated for
+ ten years now, so fix the problem by removing it.
+
+
+
+
+
+
+ Treat role names beginning with pg_> as reserved
+ (Stephen Frost)
+
+
+
+ User creation of such role names is now disallowed. This prevents
+ conflicts with built-in roles created by initdb>.
+
+
+
+
+
+
+ Support multiple and
+ command-line options (Pavel Stehule, Catalin Iacob)
+
+
+
+ To allow this with sane behavior, one backwards incompatibility
+ had to be introduced: no longer implies
+ .
+
+
+
+
+
+
+ Improve pg_restore>'s switch to
+ match all types of relations, not only plain tables (Craig Ringer)
+
+
+
+
+
+
+ Change the display format of NextXID> in
+ pg_controldata> and related places (Joe Conway,
+ Bruce Momjian)
+
+
+
+ Display epoch-and-transaction-ID values in the format
+ number>:>number>.
+ The previous format
+ number>/>number> was
+ confusingly similar to that used for LSN>s.
+
+
@@ -140,26 +350,28 @@
2016-06-16 [75be66464] Invent min_parallel_relation_size GUC to replace a hard-
-->
- Parallel queries (Robert Haas, Amit Kapila, David Rowley, many others)
+ Parallel queries (Robert Haas, Amit Kapila, David Rowley,
+ many others)
- With 9.6, PostgreSQL> introduces initial support for
- parallel execution of large queries. Only strictly read-only queries
- where the driving table is accessed via a sequential scan can be
- parallelized. Hash joins and nested loops can be performed in
- parallel, as can aggregation (for supported aggregates). Much
- remains to be done, but this is already a useful set of features.
+ With 9.6, PostgreSQL> introduces initial support
+ for parallel execution of large queries. Only strictly read-only
+ queries where the driving table is accessed via a sequential scan
+ can be parallelized. Hash joins and nested loops can be performed
+ in parallel, as can aggregation (for supported aggregates).
+ Much remains to be done, but this is already a useful set of
+ features.
- Use of parallel query execution can be controlled through the new
- configuration parameters
- ,
+ Use of parallel query execution can be controlled
+ through the new configuration parameters ,
,
- ,
- , and
- .
+ , , and .
@@ -168,8 +380,8 @@
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 functions as parallel-safe or
+ not (Robert Haas, Amit Kapila)
@@ -187,9 +399,9 @@
2015-09-02 [30bb26b5e] Allow usage of huge maintenance_work_mem for GIN build.
-->
- Allow GIN index builds to make effective use
- of maintenance_work_mem> settings larger than 1GB
- (Robert Abraham, Teodor Sigaev)
+ Allow GIN>> index builds to
+ make effective use of
+ settings larger than 1GB (Robert Abraham, Teodor Sigaev)
@@ -200,7 +412,7 @@
-->
Add pages deleted from a GIN index's pending list to the free space
- map immediately, to reduce bloat if the table isn't vacuumed often
+ map immediately, to reduce bloat if the table is not vacuumed often
(Jeff Janes, Teodor Sigaev)
@@ -210,9 +422,11 @@
2016-01-28 [7f46eaf03] Add gin_clean_pending_list function to clean up GIN pend
-->
- Add 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)
+ Add 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)
@@ -222,14 +436,15 @@
2015-09-17 [22f519c92] Fix bug introduced by microvacuum for GiST
-->
- Improve handling of dead index tuples in GiST indexes
- (Anastasia Lubennikova)
+ Improve handling of dead index tuples in GiST> indexes (Anastasia Lubennikova)
Dead index tuples are now marked as such when an index scan notices
- that the corresponding heap tuple is dead; and when inserting tuples,
- marked-dead tuples will be removed if needed to make space on the page.
+ that the corresponding heap tuple is dead. When inserting tuples,
+ marked-dead tuples will be removed if needed to make space on
+ the page.
@@ -238,8 +453,8 @@
2016-03-30 [acdf2a8b3] Introduce SP-GiST operator class over box.
-->
- Add an SP-GiST operator class for type box>
- (Alexander Lebedev)
+ Add an SP-GiST operator class for
+ type box> (Alexander Lebedev)
@@ -263,24 +478,24 @@
2016-08-04 [e7caacf73] Fix hard to hit race condition in heapam's tuple locking
-->
- Avoid re-vacuuming pages containing only frozen tuples
- (Masahiko Sawada, Robert Haas, Andres Freund)
+ Avoid re-vacuuming pages containing only frozen tuples (Masahiko
+ Sawada, Robert Haas, Andres Freund)
- Formerly, an anti-wraparound vacuum had to visit every page of a
- table whether or not there was anything to do there. Now, pages
+ Formerly, anti-wraparound vacuum had to visit every page of
+ a table, even pages where there was nothing to do. Now, pages
containing only already-frozen tuples are identified in the table's
- visibility map, and can be skipped by vacuum even when it's doing
+ visibility map, and can be skipped by vacuum even when doing
transaction wraparound prevention. This should greatly reduce the
- cost of maintaining large tables containing mostly-unchanging data.
+ cost of maintaining large tables containing mostly-unchanged data.
- If necessary, vacuum can be forced to process all-frozen pages
- using its new DISABLE_PAGE_SKIPPING> option. This
- should never be needed normally, but it might help for example
- in recovering from visibility-map corruption.
+ 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
+ recovering from visibility-map corruption.
@@ -294,8 +509,8 @@
- This change avoids taking an exclusive table lock in some cases where
- no truncation is really possible. The main benefit comes from
+ This change avoids taking an exclusive table lock in some cases
+ where no truncation is possible. The main benefit comes from
avoiding unnecessary query cancellations on standby servers.
@@ -306,8 +521,8 @@
2016-04-03 [3e4b7d879] Avoid pin scan for replay of XLOG_BTREE_VACUUM in all ca
-->
- Reduce interlocking on standby servers during replay of btree index
- vacuuming operations (Simon Riggs)
+ Reduce interlocking on standby servers during the replay of btree
+ index vacuuming operations (Simon Riggs)
@@ -321,15 +536,15 @@
2016-02-11 [d4c3a156c] Remove GROUP BY columns that are functionally dependent
-->
- Drop entries from GROUP BY> if they are functionally
- dependent on other entries (David Rowley)
+ Avoid computing GROUP BY> columns if they are
+ functionally dependent on other columns (David Rowley)
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 from
- the grouping. This saves computation in many common cases.
+ relation, those other columns are redundant and can be dropped
+ from the grouping. This saves computation in many common cases.
@@ -339,18 +554,19 @@
2016-03-25 [d543170f2] Don't split up SRFs when choosing to postpone SELECT out
-->
- When appropriate, postpone evaluation of SELECT> output
- expressions till after ORDER BY> sorting
+ 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's a LIMIT>. 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 step.
+ 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.
@@ -365,17 +581,17 @@
2016-06-10 [4bc0f165c] Change default of backend_flush_after GUC to 0 (disabled
-->
- Where feasible, trigger kernel writeback after a configurable number
- of writes, to prevent accumulation of dirty data in kernel disk
- buffers (Fabien Coelho, Andres Freund)
+ Where feasible, trigger kernel writeback after a configurable
+ number of writes, to prevent accumulation of dirty data in kernel
+ disk buffers (Fabien Coelho, Andres Freund)
PostgreSQL> writes data to the kernel's disk cache,
- from where it should be flushed to physical storage in due time.
- Many operating systems are not very smart about managing this, and
- will allow large amounts of dirty data to accumulate then decide to
- flush it all at once, leading to long delays for new I/O requests.
+ from where it will be flushed to physical storage in due time.
+ Many operating systems are not smart about managing this and allow
+ large amounts of dirty data to accumulate before deciding to flush
+ it all at once, leading to long delays for new I/O requests.
This change attempts to alleviate this problem by explicitly
requesting data flushes after a configurable interval.
@@ -383,18 +599,18 @@
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 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.
+ downsides. The feature 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.
- The new configuration parameters
- ,
- ,
- , and
- control this behavior.
+ The new configuration parameters , , , and control this behavior.
@@ -403,16 +619,16 @@
2016-03-10 [9cd00c457] Checkpoint sorting and balancing.
-->
- Perform checkpoint writes in sorted order
- (Fabien Coelho, Andres Freund)
+ Perform checkpoint writes in sorted order (Fabien Coelho,
+ Andres Freund)
- Previously, checkpoints wrote out dirty pages in whatever order they
- happen to appear in within shared buffers, which usually is nearly
- random. That performs poorly, especially on rotating media. This
- change causes checkpoint-driven writes to be done in order by file
- and block number, and to be balanced across tablespaces.
+ Previously, checkpoints wrote out dirty pages in whatever order
+ they happen to appear in shared buffers, which usually is nearly
+ random. That performs poorly, especially on rotating media.
+ This change causes checkpoint-driven writes to be done in order
+ by file and block number, and to be balanced across tablespaces.
@@ -425,21 +641,22 @@
2016-08-07 [9ee1cf04a] Fix TOAST access failure in RETURNING queries.
-->
- Allow old MVCC snapshots to be invalidated after a configurable
- timeout (Kevin Grittner)
+ Allow old MVCC> snapshots to be invalidated after a
+ configurable timeout (Kevin Grittner)
- Normally, deleted tuples cannot be physically removed by vacuuming
- until the last transaction that could see> them is gone.
- A transaction that stays open for a long time can thus cause
- considerable table bloat because space cannot be recycled. This
- feature allows setting a time-based limit, via the new configuration
- parameter , on how long an
- MVCC snapshot is guaranteed valid. After that, dead tuples are
- candidates for removal. A transaction using an outdated snapshot
- will get an error, but only if it attempts to read a page that's been
- modified recently enough that it might have contained such data.
+ Normally, deleted tuples cannot be physically removed by
+ vacuuming until the last transaction that could see>
+ them is gone. A transaction that stays open for a long
+ time can thus cause considerable table bloat because
+ space cannot be recycled. This feature allows setting
+ a time-based limit, via the new configuration parameter
+ , on how long an
+ MVCC> snapshot is guaranteed to be valid. After that,
+ dead tuples are candidates for removal. A transaction using an
+ outdated snapshot will get an error if it attempts to read a page
+ that potentially could have contained such data.
@@ -448,15 +665,18 @@
2016-03-31 [f9aefcb91] Support using index-only scans with partial indexes in m
-->
- Allow using an index-only
- scan with a partial index when the index's predicate involves
- column(s) not stored in the index (Tomas Vondra, Kyotaro Horiguchi)
+ 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,
+ Kyotaro Horiguchi)
- An index-only scan is now allowed if the query mentions such columns
- only in WHERE> clauses that match the index predicate.
+ 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.
+
@@ -466,19 +686,20 @@
2016-06-18 [100340e2d] Restore foreign-key-aware estimation of join relation si
-->
- Use foreign key relationships to infer selectivity for
- join predicates (Tomas Vondra, David Rowley)
+ Use foreign key relationships to infer selectivity for join
+ predicates (Tomas Vondra, David Rowley)
- If a table t> has a foreign key restriction,
- say (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 selectivity as a result. Now it
- compares the WHERE> conditions to applicable foreign key
- constraints and arrives at a better estimate.
+ If a table t> has a foreign key restriction, say
+ (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
+ selectivity as a result. Now it compares the WHERE>
+ conditions to applicable foreign key constraints and produces a
+ better estimate.
@@ -487,9 +708,14 @@
2015-08-04 [804163bc2] Share transition state between different aggregates when
-->
- Improve aggregate-function performance by sharing calculations across
- multiple aggregates if they have the same arguments and transition
- functions (David Rowley)
+ Improve aggregate-function performance by sharing calculations
+ across multiple aggregates if they have the same arguments and
+ transition functions (David Rowley)
+
+
+
+ For example, SELECT AVG(x), SUM(x) FROM x> can use a
+ single per-row compuation for both aggregates.
@@ -499,9 +725,9 @@
-->
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)
+ our transaction snapshot, not pg_clog>, to decide
+ if the source transaction should be considered committed (Jeff
+ Janes, Tom Lane)
@@ -520,16 +746,16 @@
2016-03-10 [e0694cf9c] Reduce size of two phase file header
-->
- Improve performance of short-lived prepared transactions
- (Stas Kelvich, Simon Riggs, Pavan Deolasee)
+ Improve performance of short-lived prepared transactions (Stas
+ Kelvich, Simon Riggs, Pavan Deolasee)
- Two-phase commit information is now written only to WAL
- during PREPARE TRANSACTION>, and read back from there
- 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.
+ 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.
@@ -557,7 +783,8 @@
2016-02-06 [aa2387e2f] Improve speed of timestamp/time/date output functions.
-->
- Improve speed of the output functions for timestamps, times, and dates
+ Improve speed of the output functions for timestamp> with
+ and without timezone, time>, and date> data types
(David Rowley, Andres Freund)
@@ -567,8 +794,9 @@
2016-03-10 [37c54863c] Rework wait for AccessExclusiveLocks on Hot Standby
-->
- Avoid some unnecessary cancellations of hot-standby queries during
- replay of actions that take AccessExclusiveLocks (Jeff Janes)
+ Avoid some unnecessary cancellations of hot-standby queries
+ during replay of actions that take AccessExclusive>
+ locks (Jeff Janes)
@@ -584,9 +812,10 @@
- Previously the code tended to underestimate the number of non-null
- distinct values in a column with many nulls, and it also might make
- poor decisions about what is a most-common value.
+ 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
+ most-common values.
@@ -595,8 +824,8 @@
2016-04-04 [84f9a35e3] Improve estimate of distinct values in estimate_num_grou
-->
- Improve planner's estimate of the number of distinct values in a
- query result (Tomas Vondra)
+ Improve planner's estimate of the number of distinct values in
+ a query result (Tomas Vondra)
@@ -605,7 +834,7 @@
2016-04-08 [719c84c1b] Extend relations multiple blocks at a time to improve sc
-->
- Extend relations multiple blocks at a time, when there is contention
+ Extend relations multiple blocks at a time when there is contention
for the relation's extension lock (Dilip Kumar)
@@ -621,15 +850,14 @@
-->
Improve sorting performance by using quicksort, not replacement
- selection, within steps of an external sort (Peter Geoghegan)
+ selection when performing external sort steps (Peter Geoghegan)
- The new approach makes better use of CPU cache for typical cache
- sizes and data volumes. Where necessary, the behavior can be
- adjusted via the new configuration
- parameter ,
- which see for further details.
+ The new approach makes better use of the CPU> cache
+ for typical cache sizes and data volumes. Where necessary,
+ the behavior can be adjusted via the new configuration parameter
+ .
@@ -639,7 +867,7 @@
2015-10-20 [5be94a9eb] Be a bit more rigorous about how we cache strcoll and st
-->
- Speed up text sorts where the same strings occur multiple times
+ Speed up text sorts where the same string occurs multiple times
(Peter Geoghegan)
@@ -651,17 +879,17 @@
2016-02-17 [f1f5ec1ef] Reuse abbreviated keys in ordered [set] aggregates.
-->
- Speed up sorting of uuid>, bytea>,
- and char(n)> fields by using abbreviated> keys
+ Speed up the 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 aggregates can also now exploit
- abbreviated keys.
+ 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
+ aggregates can also now exploit abbreviated keys.
@@ -670,8 +898,9 @@
2015-12-16 [b648b7034] Speed up CREATE INDEX CONCURRENTLY's TID sort.
-->
- Speed up CREATE INDEX CONCURRENTLY> by treating TIDs
- as 64-bit integers during the sort phase (Peter Geoghegan)
+ Speed up CREATE INDEX CONCURRENTLY> by treating
+ TID>s as 64-bit integers during the sort phase (Peter
+ Geoghegan)
@@ -680,8 +909,8 @@
2016-04-08 [5364b357f] Increase maximum number of clog buffers.
-->
- Increase the number of clog buffers for better scalability
- (Amit Kapila, Andres Freund)
+ Increase the number of clog buffers for better scalability (Amit
+ Kapila, Andres Freund)
@@ -691,7 +920,8 @@
2015-09-03 [4aec49899] Assorted code review for recent ProcArrayLock patch.
-->
- Reduce contention for the ProcArrayLock (Amit Kapila, Robert Haas)
+ Reduce contention for the ProcArrayLock> (Amit Kapila,
+ Robert Haas)
@@ -710,8 +940,8 @@
2016-04-10 [48354581a] Allow Pin/UnpinBuffer to operate in a lockfree manner.
-->
- Replace shared-buffer header spinlocks with atomic operations
- to improve scalability (Alexander Korotkov, Andres Freund)
+ Replace shared-buffer header spinlocks with atomic operations to
+ improve scalability (Alexander Korotkov, Andres Freund)
@@ -720,8 +950,8 @@
2016-04-10 [008608b9d] Avoid the use of a separate spinlock to protect a LWLock
-->
- Use atomic operations, rather than a spinlock, to protect an LWLock's
- wait queue (Andres Freund)
+ Use atomic operations, rather than a spinlock, to protect an
+ LWLock>'s wait queue (Andres Freund)
@@ -730,8 +960,8 @@
2016-03-23 [44ca4022f] Partition the freelist for shared dynahash tables.
-->
- Partition the freelist for shared hash tables, to reduce contention
- on many-CPU servers (Aleksander Alekseev)
+ Partition the shared hash table freelist to reduce contention on
+ multi-CPU>-socket servers (Aleksander Alekseev)
@@ -740,9 +970,9 @@
2015-07-05 [6c82d8d1f] Further reduce overhead for passing plpgsql variables to
-->
- Speed up expression evaluation in PL/pgSQL> by keeping
- ParamListInfo entries for simple variables valid at all times
- (Tom Lane)
+ Speed up expression evaluation in PL/pgSQL> by
+ keeping ParamListInfo> entries for simple variables
+ valid at all times (Tom Lane)
@@ -751,36 +981,8 @@
2015-07-06 [4f33621f3] Don't set SO_SNDBUF on recent Windows versions that have
-->
- Avoid reducing the SO_SNDBUF> setting below its default on
- recent Windows versions (Chen Huajun)
-
-
-
-
-
-
-
-
- System Catalogs
-
-
-
-
-
-
- Change column name
- in information_schema>.routines> view
- from result_cast_character_set_name>
- to result_cast_char_set_name>
- (Clément Prévost)
-
-
-
- SQL:2011 specifies the longer name, but that appears to be a mistake,
- because adjacent column names use the shorter style, as do
- other information_schema> views.
+ Avoid reducing the SO_SNDBUF> setting below its default
+ on recent Windows versions (Chen Huajun)
@@ -795,31 +997,11 @@
-
- Improve the pg_stat_activity>
- view's information about what a process is waiting for (Amit Kapila,
- Ildus Kurbangaliev)
-
-
-
- Historically a process has only been shown as waiting if it was
- waiting for a heavyweight lock. Now waits for lightweight locks
- and buffer pins are also shown in pg_stat_activity>.
- Also, the type of lock being waited for is now visible.
- These changes replace the waiting> column
- with wait_event_type> and wait_event>.
-
-
-
-
-
- Add pg_stat_progress_vacuum>
+ Add pg_stat_progress_vacuum>
system view to provide progress reporting for VACUUM>
operations (Amit Langote, Robert Haas, Vinayak Pokale, Rahila Syed)
@@ -836,8 +1018,9 @@
This view exposes the same information available from
- the pg_config> utility, namely assorted compile-time
- configuration information for PostgreSQL>.
+ the the pg_config> comand-line utility,
+ namely assorted compile-time configuration information for
+ PostgreSQL>.
@@ -846,8 +1029,8 @@
2015-08-10 [3f811c2d6] Add confirmed_flush column to pg_replication_slots.
-->
- Add a confirmed_flush_lsn> column to
- the pg_replication_slots>
+ Add a confirmed_flush_lsn> column to the pg_replication_slots>
system view (Marko Tiikkaja)
@@ -859,9 +1042,10 @@
2016-07-07 [60d50769b] Rename pg_stat_wal_receiver.conn_info to conninfo.
-->
- Add pg_stat_wal_receiver>
+ Add pg_stat_wal_receiver>
system view to provide information about the state of a hot-standby
- server's WAL receiver process (Michael Paquier)
+ server's WAL> receiver process (Michael Paquier)
@@ -870,19 +1054,21 @@
2016-02-22 [52f5d578d] Create a function to reliably identify which sessions bl
-->
- Add pg_blocking_pids()> function to reliably identify
- which sessions block which others (Tom Lane)
+ Add pg_blocking_pids()>>
+ function to reliably identify which sessions block which others
+ (Tom Lane)
- 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's 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.
+ 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.
@@ -891,11 +1077,13 @@
2016-03-05 [dc7d70ea0] Expose control file data via SQL accessible functions.
-->
- Add pg_control_system()>,
+ Add pg_control_system()>>,
pg_control_checkpoint()>,
- pg_control_recovery()>,
- and pg_control_init()> functions to expose fields
- of pg_control> to SQL (Joe Conway, Michael Paquier)
+ pg_control_recovery()>, and
+ pg_control_init()> functions to expose fields of
+ pg_control> to SQL> (Joe Conway, Michael
+ Paquier)
@@ -904,8 +1092,9 @@
2016-01-12 [e63bb4549] Add new user fn pg_current_xlog_flush_location()
-->
- Add function pg_current_xlog_flush_location()> to expose
- the current transaction log flush location (Tomas Vondra)
+ Add function pg_current_xlog_flush_location()>>
+ to expose the current transaction log flush location (Tomas Vondra)
@@ -914,8 +1103,9 @@
2015-07-17 [a04bb65f7] Add new function pg_notification_queue_usage.
-->
- Add function pg_notification_queue_usage()> to report
- how full the NOTIFY> queue is (Brendan Jurd)
+ Add function pg_notification_queue_usage()>>
+ to report how full the NOTIFY> queue is (Brendan Jurd)
@@ -929,27 +1119,10 @@
The memory usage dump printed 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 a very large
- report. There's also a grand total> summary line now.
-
-
-
-
-
-
- Change display format for NextXID in pg_controldata>
- and related places (Joe Conway, Bruce Momjian)
-
-
-
- Display epoch-and-transaction-ID values in the
- format number>:>number>.
- The previous
- format number>/>number> was
- confusingly similar to that used for LSNs.
+ out-of-memory failure now summarizes statistics when there are a
+ large number of memory contexts, rather than possibly printing
+ a very large report. There is also a grand total>
+ summary line now.
@@ -967,13 +1140,14 @@
2016-04-08 [34c33a1f0] Add BSD authentication method.
-->
- Create a bsd> authentication method to allow use of
- the BSD Authentication service for PostgreSQL>
- client authentication (Marisa Emerson)
+ Add an bsd> authentication method to allow the use of
+ the BSD> Authentication service for
+ PostgreSQL> client authentication (Marisa Emerson)
- BSD Authentication is currently only available on OpenBSD.
+ BSD Authentication is currently only available on OpenBSD>.
@@ -982,9 +1156,9 @@
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)
+ When using PAM> authentication, provide the client
+ IP address or host name to PAM> modules via the
+ PAM_RHOST> item (Grzegorz Sampolski)
@@ -993,13 +1167,13 @@
2016-01-07 [5e0b5dcab] Provide more detail in postmaster log for password authe
-->
- Provide detail in the postmaster log for more password authentication
- failures (Tom Lane)
+ Provide detail in the postmaster log during more password
+ authentication failures (Tom Lane)
- All ordinarily-reachable password authentication failure cases should
- now provide specific DETAIL> fields in the log.
+ All ordinarily-reachable password authentication failure cases
+ should now provide specific DETAIL> fields in the log.
@@ -1008,7 +1182,8 @@
2015-09-06 [643beffe8] Support RADIUS passwords up to 128 characters
-->
- Support RADIUS passwords up to 128 characters long (Marko Tiikkaja)
+ Support RADIUS> passwords up to 128 characters long
+ (Marko Tiikkaja)
@@ -1017,10 +1192,11 @@
2016-04-08 [35e2e357c] Add authentication parameters compat_realm and upn_usena
-->
- Add new SSPI authentication parameters compat_realm>
- and upn_username>, to control whether NetBIOS or Kerberos
- realm names and user names are used during SSPI authentication
- (Christian Ullrich)
+ Add new SSPI> authentication parameters
+ compat_realm> and upn_username> to control
+ whether NetBIOS> or Kerberos>
+ realm names and user names are used during SSPI>
+ authentication (Christian Ullrich)
@@ -1038,14 +1214,14 @@
2016-02-02 [7d17e683f] Add support for systemd service notifications
-->
- Add
This allows the use of systemd> service units of
- type notify>, which greatly simplifies management
+ type notify>, which greatly simplifies the management
of PostgreSQL> under systemd>.
@@ -1056,7 +1232,7 @@
-->
Allow effective_io_concurrency> to be set as a
- tablespace parameter, to support cases where different tablespaces
+ tablespace parameter to support cases where different tablespaces
have different I/O characteristics (Julien Rouhaud)
@@ -1066,15 +1242,15 @@
2016-03-16 [c6dda1f48] Add idle_in_transaction_session_timeout.
-->
- Allow sessions to be terminated automatically if they sit too long in
- an idle-in-transaction state (Vik Fearing)
+ Allow sessions to be terminated automatically if they are in
+ idle-in-transaction state for too long (Vik Fearing)
- This behavior is enabled and controlled by the new configuration
- parameter .
- It can be useful to prevent forgotten transactions from holding onto
- locks or preventing vacuum cleanup for very long periods.
+ This behavior is controlled by the new configuration parameter
+ . It can
+ be useful to prevent forgotten transactions from holding locks
+ or preventing vacuum cleanup for too long.
@@ -1084,8 +1260,9 @@
2015-09-07 [b1e1862a1] Coordinate log_line_prefix options 'm' and 'n' to share
-->
- Add log_line_prefix> option %n> to print the
- time as a Unix epoch, with milliseconds (Tomas Vondra, Jeff Davis)
+ Add log_line_prefix> option %n> to print
+ the current time as a Unix epoch, with milliseconds (Tomas Vondra,
+ Jeff Davis)
@@ -1095,10 +1272,10 @@
2016-03-16 [fc201dfd9] Add syslog_split_messages parameter
-->
- Add
- and
- configuration parameters to provide more control over message format
- when logging to syslog> (Peter Eisentraut)
+ Add and configuration parameters
+ to provide more control over the message format when logging to
+ syslog> (Peter Eisentraut)
@@ -1107,16 +1284,16 @@
2016-03-18 [b555ed810] Merge wal_level "archive" and "hot_standby" into new nam
-->
- Merge the archive> and hot_standby> values of
- the configuration parameter into a
- single value replica> (Peter Eisentraut)
+ Merge the archive> and hot_standby> values
+ of the configuration parameter
+ into a single new value replica> (Peter Eisentraut)
- Making a distinction between these settings no longer appears to be a
- good idea, and it's in the way of planned future simplification of
- replication setup. The old names are still accepted but are
- converted internally.
+ Making a distinction between these settings is no longer useful,
+ and is part of a planned future simplification of replication
+ setup. The old names are still accepted but are converted
+ internally.
@@ -1125,17 +1302,19 @@
2016-03-19 [9a83564c5] Allow SSL server key file to have group read access if o
-->
- Allow the server's SSL key file to have group read access if owned by
- root (Christoph Berg)
+ Allow the server's SSL> key file to have group read
+ access if owned by root (Christoph Berg)
- Formerly we insisted on the key file being owned by the user running
- the PostgreSQL> server, but that is inconvenient for
- some systems (such as Debian) that wish to manage certificates
- centrally. So also allow the case where the key file is owned by
- root and has group read access. It's up to the root admin to ensure
- that such a group doesn't include any untrusted users.
+ Formerly, we insisted on the key file being owned by the
+ user running the PostgreSQL> server, but
+ that is inconvenient for some systems (such as 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.
@@ -1153,20 +1332,20 @@
2015-11-12 [ac1d7945f] Make idle backends exit if the postmaster dies.
-->
- Force backends to exit if the postmaster dies
- (Rajeev Rastogi, Robert Haas)
+ Force backends to exit if the postmaster dies (Rajeev Rastogi,
+ Robert Haas)
- Under normal circumstances the postmaster should always outlive its
- child processes. If for some reason it dies, cause backend sessions
- to exit with an error. Formerly, existing backends would continue to
- run until their client disconnects; but that is unsafe and
- inefficient, and furthermore it prevents a new postmaster from being
- started until the last old backend is gone. Backends will detect
- postmaster death when waiting for client I/O, so the exit will not be
- instantaneous, but in most circumstances it should happen no later
- than the end of the current query.
+ 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,
+ 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.
@@ -1180,14 +1359,15 @@
- When using serializable transaction isolation, it is desirable that
- any error due to a concurrent transaction should manifest as a
- serialization failure, thereby cueing the application that a retry
- might succeed. Unfortunately, this doesn't reliably happen for
- duplicate-key failures caused by concurrent insertions. This change
- ensures that such an error will be reported as a serialization error,
- if the application explicitly checked for the presence of a
- conflicting key (and didn't find it) earlier in the transaction.
+ When using serializable transaction isolation, it is desirable
+ that any error due to concurrent transactions should manifest
+ as a serialization failure, thereby cueing the application that
+ a retry might succeed. Unfortunately, this does not reliably
+ happen for duplicate-key failures caused by concurrent insertions.
+ This change ensures that such an error will be reported as a
+ serialization error if the application explicitly checked for
+ the presence of a conflicting key (and did not find it) earlier
+ in the transaction.
@@ -1197,13 +1377,14 @@ XXX this is pending backpatch, may need to remove
2016-04-26 [c6ff84b06] Emit invalidations to standby for transactions without x
-->
- Ensure that invalidation messages are recorded in WAL even when
- issued by a transaction that has no XID assigned (Andres Freund)
+ Ensure that invalidation messages are recorded in WAL>
+ even when issued by a transaction that has no XID>
+ assigned (Andres Freund)
This fixes some corner cases in which transactions on standby
- servers failed to notice changes such as new indexes.
+ servers failed to notice changes, such as new indexes.
@@ -1213,8 +1394,8 @@ XXX this is pending backpatch, may need to remove
2016-04-28 [e2c79e14d] Prevent multiple cleanup process for pending list in GIN
-->
- Prevent multiple processes from trying to clean a GIN index's pending
- list concurrently (Teodor Sigaev, Jeff Janes)
+ Prevent multiple processes from trying to clean a GIN>
+ index's pending list concurrently (Teodor Sigaev, Jeff Janes)
@@ -1241,15 +1422,15 @@ XXX this is pending backpatch, may need to remove
2016-04-30 [17d5db352] Remove warning about num_sync being too large in synchro
-->
- Support synchronous replication with multiple synchronous standby
- servers, not just one (Masahiko Sawada, Beena Emerson, Michael
- Paquier, Fujii Masao, Kyotaro Horiguchi)
+ Support synchronous replication using multiple synchronous
+ standby servers, not just one (Masahiko Sawada, Beena Emerson,
+ Michael Paquier, Fujii Masao, Kyotaro Horiguchi)
- The number of standby servers that must acknowledge a commit before
- it's considered done is now configurable as part of the
- parameter.
+ The number of standby servers that must acknowledge a commit
+ before it is considered complete is now configurable as part of
+ the parameter.
@@ -1258,15 +1439,16 @@ XXX this is pending backpatch, may need to remove
2016-03-29 [314cbfc5d] Add new replication mode synchronous_commit = 'remote_ap
-->
- Add new setting remote_apply> for configuration parameter
- (Thomas Munro)
+ Add new setting remote_apply> for configuration
+ parameter (Thomas Munro)
- In this mode, the master waits for the transaction to be applied on
- the standby server, not just written to disk. That means that you
- can count on a transaction started on the standby to see all commits
- previously acknowledged by the master.
+ In this mode, the master waits for the transaction to be
+ applied> on the standby server, not just written
+ to disk. That means that you can count on a transaction started
+ on the standby to see all commits previously acknowledged by
+ the master.
@@ -1276,15 +1458,16 @@ XXX this is pending backpatch, may need to remove
2015-09-06 [c314ead5b] Add ability to reserve WAL upon slot creation via replic
-->
- Add a feature to the replication protocol, and a corresponding option
- to the pg_create_physical_replication_slot()> function,
- to allow reserving WAL immediately when creating a replication slot
- (Gurjeet Singh, Michael Paquier)
+ Add a feature to the replication
+ protocol, and a corresponding option to the pg_create_physical_replication_slot()>>
+ function, 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 creation of a replication slot to guarantee that all
+ the WAL> for a base backup will be available afterwards.
@@ -1293,15 +1476,15 @@ XXX this is pending backpatch, may need to remove
2015-07-28 [0dc848b03] pg_basebackup: Add -slot option
-->
- Add a
--slot
option to pg_basebackup>
- (Peter Eisentraut)
+ Add a
--slot
option to
+ pg_basebackup> (Peter Eisentraut)
- This lets pg_basebackup> use a replication slot defined
- for WAL streaming. After the base backup completes, selecting the
- same slot for regular streaming replication allows seamless startup of
- the new standby server.
+ This lets pg_basebackup> use a replication
+ slot defined for WAL> streaming. After the base
+ backup completes, selecting the same slot for regular streaming
+ replication allows seamless startup of the new standby server.
@@ -1311,8 +1494,10 @@ XXX this is pending backpatch, may need to remove
2016-07-11 [87d84d67b] Fix start WAL filename for concurrent backups from stand
-->
- Extend pg_start_backup()> and pg_stop_backup()>
- to support non-exclusive backups (Magnus Hagander)
+ Extend pg_start_backup()>>
+ and pg_stop_backup()> to support non-exclusive backups
+ (Magnus Hagander)
@@ -1330,16 +1515,17 @@ XXX this is pending backpatch, may need to remove
2016-07-26 [d8411a6c8] Allow functions that return sets of tuples to return sim
-->
- Allow functions that return sets of tuples to return simple NULLs
- (Andrew Gierth, Tom Lane)
+ Allow functions that return sets of tuples to return simple
+ NULL>s (Andrew Gierth, Tom Lane)
In the context of SELECT FROM function(...)>, a function
that returned a set of composite values was previously not allowed
- to return a plain NULL value as part of the set. Now that is
- allowed and interpreted as a row of NULLs. This avoids corner-case
- errors with, for example, unnesting an array of composite values.
+ to return a plain NULL> value as part of the set.
+ Now that is allowed and interpreted as a row of NULL>s.
+ This avoids corner-case errors with, for example, unnesting an
+ array of composite values.
@@ -1348,9 +1534,9 @@ XXX this is pending backpatch, may need to remove
2016-08-03 [a3c7a993d] Make INSERT-from-multiple-VALUES-rows handle targetlist
-->
- Fully support array subscripts and field selections in the target
- column list of an INSERT> with
- multiple VALUES> rows (Tom Lane)
+ Fully support array subscripts and field selections in the
+ target column list of an INSERT> with multiple
+ VALUES> rows (Tom Lane)
@@ -1370,9 +1556,10 @@ XXX this is pending backpatch, may need to remove
- This change allows command tags for SELECT> etc. to
- correctly report tuple counts larger than 4 billion. So will
- PL/pgSQL's GET DIAGNOSTICS ... ROW_COUNT> command.
+ This change allows command tags, e.g. SELECT>, to
+ correctly report tuple counts larger than 4 billion. This also
+ applies to PL/pgSQL's GET DIAGNOSTICS ... ROW_COUNT>
+ command.
@@ -1381,19 +1568,19 @@ XXX this is pending backpatch, may need to remove
2015-11-28 [8d32717b6] Avoid doing encoding conversions by double-conversion vi
-->
- Avoid doing encoding conversions by double-conversion
- through MULE_INTERNAL> encoding (Tom Lane)
+ Avoid doing encoding conversions by converting through the
+ MULE_INTERNAL> encoding (Tom Lane)
- Previously, many conversions for Cyrillic and Central European
- single-byte encodings were done by converting to a
+ Previously, many conversions for Cyrillic and Central
+ European single-byte encodings were done by converting to a
related MULE_INTERNAL> coding scheme and then to the
- destination encoding. Aside from being inefficient, this meant that
- when the conversion encountered an untranslatable character, the error
- message would confusingly complain about failure to convert to or
- from MULE_INTERNAL>, rather than the user-visible
- encodings.
+ destination encoding. Aside from being inefficient, this meant
+ that when the conversion encountered an untranslatable character,
+ the error message would confusingly complain about failure to
+ convert to or from MULE_INTERNAL>, rather than the
+ user-visible encoding.
@@ -1409,12 +1596,13 @@ XXX this is pending backpatch, may need to remove
- Previously, the foreign join pushdown infrastructure left the question
- of security entirely up to individual foreign data wrappers, but it
- would be easy for an FDW to inadvertently open up subtle security
- holes that way. So, make it the core code's job to determine which
- role ID will access each table, and don't attempt join pushdown unless
- it's the same for all relevant relations.
+ 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
+ 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.
@@ -1432,13 +1620,14 @@ XXX this is pending backpatch, may need to remove
2015-11-27 [92e38182d] COPY (INSERT/UPDATE/DELETE .. RETURNING ..)
-->
- Allow COPY> to copy the output of
- an INSERT>/UPDATE>/DELETE>
+ Allow COPY> to copy the output of an
+ INSERT>/UPDATE>/DELETE>
... RETURNING> query (Marko Tiikkaja)
- Previously, an intermediate CTE had to be written to get this result.
+ Previously, an intermediate CTE> had to be written to
+ get this result.
@@ -1452,11 +1641,11 @@ XXX this is pending backpatch, may need to remove
- This command allows a database object to be marked as depending on an
- extension, so that it will automatically go away if the extension is
- dropped (without needing CASCADE>). But the object is not
- part of the extension, and thus for example will be dumped separately
- by pg_dump>.
+ This command allows a database object to be marked as depending
+ on an extension, so that it will be automatically dropped 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>.
@@ -1467,8 +1656,8 @@ XXX this is pending backpatch, may need to remove
Make ALTER object> SET SCHEMA> do nothing
when the object is already in the requested schema, rather than
- throwing an error as it historically has for most object types (Marti
- Raudsepp)
+ throwing an error as it historically has for most object types
+ (Marti Raudsepp)
@@ -1478,8 +1667,8 @@ XXX this is pending backpatch, may need to remove
2015-12-31 [0dab5ef39] Fix ALTER OPERATOR to update dependencies properly.
-->
- Add options to ALTER OPERATOR to change the
- selectivity functions associated with an existing operator
+ Add options to ALTER OPERATOR to allow changing
+ the selectivity functions associated with an existing operator
(Yury Zhuravlev)
@@ -1489,8 +1678,8 @@ XXX this is pending backpatch, may need to remove
2015-07-29 [2cd40adb8] Add IF NOT EXISTS processing to ALTER TABLE ADD COLUMN
-->
- Add an
IF NOT EXISTS> option to ALTER TABLE ADD
- COLUMN> (Fabrízio de Royes Mello)
+ Add an
IF NOT EXISTS> option to ALTER TABLE
+ ADD COLUMN> (Fabrízio de Royes Mello)
@@ -1500,8 +1689,8 @@ XXX this is pending backpatch, may need to remove
2016-03-10 [fcb4bfddb] Reduce lock level for altering fillfactor
-->
- Reduce the lock strength needed by ALTER TABLE> when
- setting fillfactor and autovacuum-related relation options
+ Reduce the lock strength needed by ALTER TABLE>
+ when setting fillfactor and autovacuum-related relation options
(Fabrízio de Royes Mello, Simon Riggs)
@@ -1511,8 +1700,9 @@ XXX this is pending backpatch, may need to remove
2016-03-23 [473b93287] Support CREATE ACCESS METHOD
-->
- Introduce CREATE ACCESS METHOD> to allow extensions to
- create index access methods (Alexander Korotkov, Petr Jelínek)
+ Introduce CREATE ACCESS METHOD> to allow extensions
+ to create index access methods (Alexander Korotkov, Petr
+ Jelínek)
@@ -1522,27 +1712,8 @@ XXX this is pending backpatch, may need to remove
-->
Add a CASCADE> option to CREATE
- EXTENSION, to automatically create extensions it depends on
- (Petr Jelínek)
-
-
-
-
-
-
- Remove the
- long-deprecated CREATEUSER>/NOCREATEUSER>
- options from CREATE ROLE> and allied commands (Tom Lane)
-
-
-
- CREATEUSER> actually meant SUPERUSER>, for
- ancient backwards-compatibility reasons. That's been a constant
- source of confusion for people who (reasonably) expect it to
- mean CREATEROLE>. It's been deprecated for ten years
- now, so fix the problem by removing it.
+ EXTENSION to automatically create extensions it depends
+ on (Petr Jelínek)
@@ -1551,8 +1722,8 @@ XXX this is pending backpatch, may need to remove
2015-10-05 [b943f502b] Have CREATE TABLE LIKE add OID column if any LIKEd table
-->
- Make CREATE TABLE ... LIKE> include an OID column if any
- source table has one (Bruce Momjian)
+ Make CREATE TABLE ... LIKE> include an OID>
+ column if any source table has one (Bruce Momjian)
@@ -1561,14 +1732,14 @@ XXX this is pending backpatch, may need to remove
2015-12-16 [f27a6b15e] Mark CHECK constraints declared NOT VALID valid if creat
-->
- If a CHECK> constraint is declared NOT VALID> in
- a table creation command, automatically mark it valid (Amit Langote,
- Amul Sul)
+ If a CHECK> constraint is declared NOT VALID>
+ in a table creation command, automatically mark it as valid
+ (Amit Langote, Amul Sul)
- This matches the longstanding behavior of FOREIGN KEY>
- constraints.
+ This possible because the table has no existing rows. This matches
+ the longstanding behavior of FOREIGN KEY> constraints.
@@ -1577,16 +1748,16 @@ XXX this is pending backpatch, may need to remove
2016-03-25 [c94959d41] Fix DROP OPERATOR to reset oprcom/oprnegate links to the
-->
- Fix DROP OPERATOR> to
- clear pg_operator>.oprcom>
- and pg_operator>.oprnegate> links to the
- dropped operator (Roma Sokolov)
+ Fix DROP OPERATOR> to clear
+ pg_operator>.oprcom> and
+ pg_operator>.oprnegate> links to
+ the dropped operator (Roma Sokolov)
- Formerly such links were left as-is, which could pose a problem in
- the somewhat unlikely event that the dropped operator's OID was
- reused for another operator.
+ Formerly such links were left as-is, which could pose a problem
+ in the somewhat unlikely event that the dropped operator's
+ OID> was reused for another operator.
@@ -1611,15 +1782,15 @@ XXX this is pending backpatch, may need to remove
2016-04-16 [c34df8a00] Disallow creation of indexes on system columns (except f
-->
- Disallow creation of indexes on system columns, except for OID
- (David Rowley)
+ Disallow creation of indexes on system columns, except for
+ OID> columns (David Rowley)
- Such indexes were never considered supported, and would very possibly
- misbehave since the system might change the system-column fields of a
- tuple without updating indexes. But there was no error check to
- prevent them from being created.
+ Such indexes were never considered supported, and would very
+ possibly misbehave since the system might change the system-column
+ fields of a tuple without updating indexes. However, previously
+ there were no error checks to prevent them from being created.
@@ -1644,29 +1815,13 @@ XXX this is pending backpatch, may need to remove
Formerly, many security-sensitive functions contained hard-wired
checks that would throw an error if they were called by a
- non-superuser role. This forced use of superuser roles for some
- relatively pedestrian tasks. The hard-wired error checks 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.
-
-
-
-
-
-
- Treat role names beginning with pg_> as reserved
- (Stephen Frost)
-
-
-
- User creation of such role names is now disallowed. This prevents
- conflicts with built-in roles created by initdb>.
+ non-superuser role. This forced the use of superuser roles for
+ some relatively pedestrian tasks. The hard-wired error checks
+ 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.
@@ -1675,9 +1830,9 @@ XXX this is pending backpatch, may need to remove
2016-04-08 [7a542700d] Create default roles
-->
- Create some built-in roles that
- can be used to grant access to what were previously superuser-only
- functions (Stephen Frost)
+ Create some built-in roles
+ that can be used to grant access to what were previously
+ superuser-only functions (Stephen Frost)
@@ -1696,14 +1851,13 @@ XXX this is pending backpatch, may need to remove
-->
Allow omitting one or both boundaries in an array slice specifier,
- for example array_col[3:]>
- (Yury Zhuravlev)
+ e.g. array_col[3:]> (Yury Zhuravlev)
Omitted boundaries are taken as the upper or lower limit of the
- corresponding array subscript. This allows simpler specification of
- many common use-cases.
+ corresponding array subscript. This allows simpler specification
+ for many common use-cases.
@@ -1712,19 +1866,19 @@ XXX this is pending backpatch, may need to remove
2016-03-16 [a70e13a39] Be more careful about out-of-range dates and timestamps.
-->
- Be more careful about out-of-range dates and timestamps
- (Vitaly Burovoy)
+ Be more careful about out-of-range dates and timestamps (Vitaly
+ Burovoy)
- This change prevents unexpected out-of-range errors
- for timestamp with time zone> values very close to the
- implementation limits. Previously, the same> value might be
- accepted or not depending on the timezone> setting,
+ This change prevents unexpected out-of-range errors for
+ timestamp with time zone> values very close to the
+ implementation limits. Previously, the same> value might
+ be accepted or not depending on the timezone> setting,
meaning that a dump and reload could fail on a value that had been
- accepted when presented. Now the limits are enforced according to
- the equivalent UTC time, not local time, so as to be independent
- of timezone>.
+ accepted when presented. Now the limits are enforced according
+ to the equivalent UTC> time, not local time, so as to
+ be independent of timezone>.
@@ -1739,15 +1893,15 @@ XXX this is pending backpatch, may need to remove
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)
+ In the geometric data types, make sure that infinity>
+ and NaN> component values are treated consistently
+ during input and output (Tom Lane)
- Such values will now always print the same way as they would in a
- simple float8> column, and be accepted the same way on input
- as well. Previously the behavior was somewhat platform-dependent.
+ Such values will now always print the same as they would in
+ a simple float8> column, and be accepted the same way
+ on input. Previously the behavior was platform-dependent.
@@ -1759,36 +1913,19 @@ XXX this is pending backpatch, may need to remove
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)
- A phrase-search query can be specified in tsquery> input
- using the new operators <->> and
- <N>>. The former means that
- the lexemes before and after it must appear adjacent to each other in
- that order. The latter means they must be exactly N>
- lexemes apart.
-
-
-
-
-
-
- Fix text search parser to allow leading digits in email>
- and host> tokens (Artur Zakirov)
-
-
-
- In most cases this will result in few changes in the parsing of text.
- But if you have data where such addresses occur frequently, it may be
- worth rebuilding dependent tsvector> columns and indexes, so
- that addresses of this form will be found properly by text searches.
+ A phrase-search query can be specified in tsquery>
+ input using the new operators <->> and
+ <N>>. The former means
+ that the lexemes before and after it must appear adjacent to
+ each other in that order. The latter means they must be exactly
+ N> lexemes apart.
@@ -1799,8 +1936,9 @@ XXX this is pending backpatch, may need to remove
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 to handle modern
+ Hunspell> files and support more languages
+ (Artur Zakirov)
@@ -1809,16 +1947,15 @@ XXX this is pending backpatch, may need to remove
2015-10-30 [12c9a0400] Implement lookbehind constraints in our regular-expressi
-->
- Implement lookbehind constraints in regular expressions
- (Tom Lane)
+ Implement look-behind constraints in regular expressions (Tom Lane)
- A lookbehind constraint is like a lookahead constraint in that it
- consumes no text; but it checks for existence (or nonexistence) of a
- match ending at the current point in the string, rather than one
- starting at the current point. Similar features exist in many other
- regular-expression engines.
+ A look-behind constraint is like a lookahead constraint in that it
+ consumes no text; but it checks for existence (or nonexistence)
+ of a match ending at the current point in the string, rather
+ than one starting at the current point. Similar features exist
+ in many other regular-expression engines.
@@ -1827,13 +1964,13 @@ XXX this is pending backpatch, may need to remove
2015-09-16 [b44d92b67] Sync regex code with Tcl 8.6.4.
-->
- In regular expressions, if an apparent three-digit octal
- escape \>nnn> would exceed 377 (255
- decimal), assume it is a two-digit octal escape instead (Tom Lane)
+ In regular expressions, if an apparent three-digit octal escape
+ \>nnn> would exceed 377 (255 decimal),
+ assume it is a two-digit octal escape instead (Tom Lane)
- This makes the behavior match current Tcl releases.
+ This makes the behavior match current Tcl> releases.
@@ -1842,10 +1979,9 @@ XXX this is pending backpatch, may need to remove
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 xid> <>> xid> and xid>
+ <>> int4> operators, for consistency
+ with the corresponding => operators (Michael Paquier)
@@ -1863,9 +1999,11 @@ XXX this is pending backpatch, may need to remove
2016-04-06 [0b62fd036] Add jsonb_insert
-->
- Add jsonb_insert()> function to insert a new element into
- a jsonb> array, or a not-previously-existing key into
- a jsonb> object (Dmitry Dolgov)
+ Add jsonb_insert()>>
+ function to insert a new element into a jsonb> array,
+ or a not-previously-existing key into a jsonb> object
+ (Dmitry Dolgov)
@@ -1900,11 +2038,12 @@ XXX this is pending backpatch, may need to remove
- For example, sind()> 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, such
- as sind(30) = 0.5 exactly.
+ For example, sind()>>
+ 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.
@@ -1913,33 +2052,16 @@ XXX this is pending backpatch, may need to remove
2016-01-22 [fd5200c3d] Improve cross-platform consistency of Inf/NaN handling i
-->
- Ensure that trigonometric functions handle infinity and NaN inputs per
- the POSIX standard (Dean Rasheed)
+ Ensure that trigonometric functions handle infinity>
+ and NaN> inputs per the POSIX> standard
+ (Dean Rasheed)
- 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.
-
-
-
-
-
-
- Make extract()> behave more reasonably with infinite
- inputs (Vitaly Burovoy)
-
-
-
- Historically the extract()> function just returned zero
- given an infinite timestamp, regardless of the given unit name. Make
- it return infinity or -infinity
- as appropriate when the requested field is one that is monotonically
- increasing (e.g, year, epoch), or NULL when it is not (e.g., day,
- hour). Also, throw the expected error for bad unit names.
+ 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.
@@ -1948,8 +2070,9 @@ XXX this is pending backpatch, may need to remove
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 to_timestamp(float8)> convert float
+ infinity> to timestamp infinity> (Vitaly
+ Burovoy)
@@ -1967,11 +2090,12 @@ XXX this is pending backpatch, may need to remove
- These are ts_delete()>, ts_filter()>,
- unnest()>, tsvector_to_array()>,
- array_to_tsvector()>, and a variant
- of setweight()> that sets the weight only for specified
- lexeme(s).
+ These are ts_delete()>>,
+ ts_filter()>, unnest()>,
+ tsvector_to_array()>, array_to_tsvector()>,
+ and a variant of setweight()> that sets the weight
+ only for specified lexeme(s).
@@ -1980,10 +2104,10 @@ XXX this is pending backpatch, may need to remove
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>
+ 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)
@@ -1993,16 +2117,17 @@ XXX this is pending backpatch, may need to remove
2016-02-04 [6819514fc] Add num_nulls() and num_nonnulls() to count NULL argumen
-->
- Add variadic functions num_nulls()>
+ Add variadic functions num_nulls()>>
and num_nonnulls()> that count the number of their
- arguments that are null or nonnull (Marko Tiikkaja)
+ arguments that are null or non-null (Marko Tiikkaja)
- An example usage is CHECK(num_nonnulls(a,b,c) = 1)> which
- asserts that exactly one of a,b,c isn't NULL. These functions can
- also be used to count the number of null or nonnull elements in an
- array.
+ An example usage is CHECK(num_nonnulls(a,b,c) = 1)>
+ which asserts that exactly one of a,b,c is not NULL>.
+ These functions can also be used to count the number of null or
+ nonnull elements in an array.
@@ -2011,23 +2136,10 @@ XXX this is pending backpatch, may need to remove
2016-03-18 [3187d6de0] Introduce parse_ident()
-->
- Add function parse_ident()> to split a qualified,
- possibly quoted SQL identifier into its parts (Pavel Stehule)
-
-
-
-
-
-
- In to_char()>, do not count a minus sign (when needed) as
- part of the field width for time-related fields (Bruce Momjian)
-
-
-
- For example, to_char('-4 years'::interval, 'YY')> now
- returns -04>, rather than -4>.
+ Add function parse_ident()>>
+ to split a qualified, possibly quoted SQL> identifier
+ into its parts (Pavel Stehule)
@@ -2036,13 +2148,15 @@ XXX this is pending backpatch, may need to remove
2015-10-05 [28b3a3d41] to_number(): allow 'V' to divide by 10^(the number of d
-->
- In to_number()>, interpret V> as dividing by
- 10 to the power of the number of digits following V>
- (Bruce Momjian)
+ In to_number()>>,
+ interpret V> as dividing by 10 to the power of the
+ number of digits following V> (Bruce Momjian)
- This makes it operate in an inverse fashion to to_char()>.
+ This makes it operate in an inverse fashion to
+ to_char()>.
@@ -2056,8 +2170,8 @@ XXX this is pending backpatch, may need to remove
- This avoids the need to write an explicit cast in most cases where
- the argument isn't a simple literal constant.
+ This avoids the need to write an explicit cast in most cases
+ where the argument is not a simple literal constant.
@@ -2066,13 +2180,15 @@ XXX this is pending backpatch, may need to remove
2016-02-20 [53874c522] Add pg_size_bytes() to parse human-readable size strings
-->
- Add pg_size_bytes()> function to convert human-readable
- size strings to numbers (Pavel Stehule, Vitaly Burovoy, Dean Rasheed)
+ Add pg_size_bytes()>>
+ function to convert human-readable size strings to numbers (Pavel
+ Stehule, Vitaly Burovoy, Dean Rasheed)
- This function converts strings like those produced
- by pg_size_pretty()> into sizes in bytes. An example
+ This function converts strings like those produced by
+ pg_size_pretty()> into sizes in bytes. An example
usage is SELECT oid::regclass FROM pg_class WHERE
pg_total_relation_size(oid) > pg_size_bytes('10 GB')>.
@@ -2083,8 +2199,10 @@ XXX this is pending backpatch, may need to remove
2015-11-06 [8a1fab36a] pg_size_pretty: Format negative values similar to positi
-->
- In pg_size_pretty()>, format negative numbers similarly
- to positive ones (Adrian Vondendriesch)
+ In pg_size_pretty()>>,
+ format negative numbers similarly to positive ones (Adrian
+ Vondendriesch)
@@ -2098,13 +2216,14 @@ XXX this is pending backpatch, may need to remove
2015-07-02 [10fb48d66] Add an optional missing_ok argument to SQL function curr
-->
- Add an optional missing_ok> argument to
- the current_setting()> function (David Christensen)
+ Add an optional missing_ok> argument to the current_setting()>>
+ function (David Christensen)
This allows avoiding an error for an unrecognized parameter name;
- instead the result is NULL.
+ instead the result is NULL>.
@@ -2115,13 +2234,15 @@ XXX this is pending backpatch, may need to remove
2016-08-07 [8a8c6b538] Fix crash when pg_get_viewdef_name_ext() is passed a non
-->
- Change various catalog-inspection functions to return NULL for
- invalid input (Michael Paquier)
+ Change various catalog-inspection functions to return
+ NULL> for invalid input (Michael Paquier)
- pg_get_viewdef()> now returns NULL if given an invalid
- view OID, and several similar functions likewise return NULL for
+ pg_get_viewdef()>>
+ now returns NULL> if given an invalid view OID>,
+ and several similar functions likewise return NULL> for
bad input. Previously, such cases usually led to cache
lookup failed> errors, which are not meant to occur in
user-facing cases.
@@ -2133,13 +2254,14 @@ XXX this is pending backpatch, may need to remove
2016-08-02 [dd5eb805d] Remove unused arguments from pg_replication_origin_xact_
-->
- Fix pg_replication_origin_xact_reset()> to not have any
- arguments (Fujii Masao)
+ Fix pg_replication_origin_xact_reset()>>
+ to not have any arguments (Fujii Masao)
- The documentation said that it has no arguments, and the C code
- didn't expect any arguments, but the entry in pg_proc>
+ The documentation said that it has no arguments, and the C code did
+ not expect any arguments, but the entry in pg_proc>
mistakenly specified two arguments.
@@ -2158,40 +2280,23 @@ XXX this is pending backpatch, may need to remove
2015-08-21 [fcdfce682] Detect mismatched CONTINUE and EXIT statements at plpgsq
-->
- In PL/pgSQL,
- detect mismatched CONTINUE> and EXIT> statements
- while compiling PL/pgSQL functions, rather than at execution
+ In PL/pgSQL, detect mismatched
+ CONTINUE> and EXIT> statements while
+ compiling PL/pgSQL functions, rather than at execution time
(Jim Nasby)
-
- Remove PL/pgSQL's feature> that suppressed the innermost line
- of CONTEXT> for messages emitted by RAISE>
- commands (Pavel Stehule)
-
-
-
- This ancient backwards-compatibility hack was agreed to have outlived
- its usefulness.
-
-
-
-
-
- Extend PL/Python's error-reporting and message-reporting functions to
- allow specifying additional message fields besides the primary error
- message (Pavel Stehule)
+ Extend PL/Python>'s error-reporting and
+ message-reporting functions to allow specifying additional message
+ fields besides the primary error message (Pavel Stehule)
@@ -2200,9 +2305,10 @@ This commit is also listed under libpq and psql
2016-04-05 [1d2fe56e4] Fix PL/Python for recursion and interleaved set-returnin
-->
- Allow PL/Python functions to call themselves recursively via SPI,
- and fix the behavior when multiple set-returning PL/Python functions
- are called within one query (Alexey Grishchenko, Tom Lane)
+ Allow PL/Python functions to call themselves recursively
+ via SPI>, and fix the behavior when multiple
+ set-returning PL/Python functions are called within one query
+ (Alexey Grishchenko, Tom Lane)
@@ -2211,8 +2317,8 @@ This commit is also listed under libpq and psql
2015-11-05 [8c75ad436] Fix memory leaks in PL/Python.
-->
- Fix session-lifespan memory leaks in PL/Python
- (Heikki Linnakangas, Haribabu Kommi, Tom Lane)
+ Fix session-lifespan memory leaks in PL/Python (Heikki Linnakangas,
+ Haribabu Kommi, Tom Lane)
@@ -2222,8 +2328,9 @@ This commit is also listed under libpq and psql
2016-03-02 [e2609323e] Make PL/Tcl require Tcl 8.4 or later.
-->
- Modernize PL/Tcl> to use Tcl's object> APIs
- instead of simple strings (Jim Nasby, Karl Lehenbauer)
+ Modernize PL/Tcl> to use Tcl's object>
+ API>s instead of simple strings (Jim Nasby, Karl
+ Lehenbauer)
@@ -2239,13 +2346,13 @@ This commit is also listed under libpq and psql
-->
In PL/Tcl>, make database-reported errors return
- additional information in Tcl's errorCode> global variable
- (Jim Nasby, Tom Lane)
+ additional information in Tcl's errorCode> global
+ variable (Jim Nasby, Tom Lane)
- This feature follows the Tcl convention for returning auxiliary data
- about an error.
+ This feature follows the Tcl convention for returning auxiliary
+ data about an error.
@@ -2255,13 +2362,14 @@ This commit is also listed under libpq and psql
-->
Fix PL/Tcl> to perform encoding conversion between
- the database encoding and UTF-8, which is what Tcl expects (Tom Lane)
+ the database encoding and UTF-8>, which is what Tcl
+ expects (Tom Lane)
- Previously, strings were passed through without conversion, leading
- to misbehavior with non-ASCII characters when the database encoding
- isn't UTF-8.
+ Previously, strings were passed through without conversion,
+ leading to misbehavior with non-ASCII> characters when
+ the database encoding was not UTF-8>.
@@ -2280,16 +2388,18 @@ This commit is also listed under libpq and psql
This commit is also listed under psql and PL/pgSQL
-->
- Introduce a feature in libpq> whereby
- the CONTEXT> field of messages can be suppressed, either
+ Introduce a feature in libpq> whereby the
+ CONTEXT> field of messages can be suppressed, either
always or only for non-error messages (Pavel Stehule)
- The default behavior of PQerrorMessage()> is now to
- print CONTEXT> only for errors. The new
- function PQsetErrorContextVisibility()> can be used to
- adjust this.
+ The default behavior of PQerrorMessage()>>
+ is now to print CONTEXT>
+ only for errors. The new function PQsetErrorContextVisibility()>>
+ can be used to adjust this.
@@ -2313,13 +2423,15 @@ This commit is also listed under psql and PL/pgSQL
2015-11-27 [40cb21f70] Improve PQhost() to return useful data for default Unix-
-->
- Improve libpq>'s PQhost()> function to
- return useful data for default Unix-socket connections (Tom Lane)
+ Improve libpq>'s PQhost()>> function to return
+ useful data for default Unix-socket connections (Tom Lane)
- Previously it would return NULL if no explicit host specification had
- been given; now it returns the default socket directory path.
+ Previously it would return NULL> if no explicit host
+ specification had been given; now it returns the default socket
+ directory path.
@@ -2328,8 +2440,8 @@ This commit is also listed under psql and PL/pgSQL
2016-02-16 [fc1ae7d2e] Change ecpg lexer to accept comments with line breaks in
-->
- Fix ecpg>'s lexer to handle line breaks within comments
- starting on preprocessor directive lines (Michael Meskes)
+ Fix ecpg>'s lexer to handle line breaks within
+ comments starting on preprocessor directive lines (Michael Meskes)
@@ -2347,14 +2459,14 @@ This commit is also listed under psql and PL/pgSQL
2015-09-14 [d02426029] Check existency of table/schema for -t/-n option (pg_dum
-->
- Add
--strict-names> option to pg_dump>
+ Add a
--strict-names> option to pg_dump>
and pg_restore> (Pavel Stehule)
- This option causes the program to complain if there is no match for
- a
-t
or
-n
option, rather than
- silently doing nothing.
+ This option causes the program to complain if there is no match
+ for a
-t
or
-n
option, rather
+ than silently doing nothing.
@@ -2367,16 +2479,15 @@ This commit is also listed under psql and PL/pgSQL
2016-05-06 [e1b120a8c] Only issue LOCK TABLE commands when necessary
-->
- In pg_dump>,
- dump locally-made changes in privilege assignments for system objects
- (Stephen Frost)
+ In pg_dump>, dump locally-made changes in privilege
+ assignments for system objects (Stephen Frost)
- While it's always been possible for a superuser to change the
- privilege assignments for built-in or extension-created objects,
- such changes were formerly lost in a dump and reload. Now,
- pg_dump> recognizes and dumps such changes.
+ While it has always been possible for a superuser to change
+ the privilege assignments for built-in or extension-created
+ objects, such changes were formerly lost in a dump and reload.
+ Now, pg_dump> recognizes and dumps such changes.
(This works only when dumping from a 9.6 or later server, however.)
@@ -2386,19 +2497,9 @@ This commit is also listed under psql and PL/pgSQL
2016-04-06 [3b3fcc4ee] pg_dump: Add table qualifications to some tags
-->
- In pg_dump>, include the table name in object tags
- for object types that are only uniquely named per-table (for
- example, triggers) (Peter Eisentraut)
-
-
-
-
-
-
- Improve pg_restore>'s
-t
switch to
- match all types of relations, not only plain tables (Craig Ringer)
+ In pg_dump>, include the table name in object
+ tags for object types that are only uniquely named per-table
+ (for example, triggers) (Peter Eisentraut)
@@ -2411,34 +2512,17 @@ This commit is also listed under psql and PL/pgSQL
-
- Support multiple
-c
and
-f
- command-line options (Pavel Stehule, Catalin Iacob)
-
-
-
- To allow this with sane behavior, one backwards incompatibility had to
- be introduced:
-c
no longer
- implies
--no-psqlrc
.
-
-
-
-
-
- Add a \crosstabview> command that prints the
- results of a query in a cross-tabulated display
- (Daniel Vérité)
+ Add a \crosstabview> command that prints the results of
+ a query in a cross-tabulated display (Daniel Vérité)
- In the crosstab display, data values from one query result column are
- placed in a grid whose column and row headers come from other query
- result columns.
+ In the crosstab display, data values from one query result column
+ are placed in a grid whose column and row headers come from other
+ query result columns.
@@ -2452,10 +2536,10 @@ This commit is also listed under psql and PL/pgSQL
- This is very handy after getting an unexpected error — you no
- longer need to adjust the VERBOSITY> variable and recreate
- the failure in order to see error fields that aren't shown by
- default.
+ This is useful after getting an unexpected error — you
+ no longer need to adjust the VERBOSITY> variable and
+ recreate the failure in order to see error fields that are not
+ shown by default.
@@ -2465,13 +2549,13 @@ This commit is also listed under psql and PL/pgSQL
2016-05-06 [9b66aa006] Fix psql's \ev and \sv commands so that they handle view
-->
- Add \ev> and \sv> commands
- for editing and showing view definitions (Petr Korobeinikov)
+ Add \ev> and \sv> commands for editing and
+ showing view definitions (Petr Korobeinikov)
- These are parallel to the existing \ef> and \sf>
- commands for functions.
+ These are parallel to the existing \ef> and
+ \sf> commands for functions.
@@ -2480,8 +2564,8 @@ This commit is also listed under psql and PL/pgSQL
2016-04-04 [2bbe9112a] Add a \gexec command to psql for evaluation of computed
-->
- Add a \gexec> command that executes a query and re-submits
- the result(s) as new queries (Corey Huinker)
+ Add a \gexec> command that executes a query and
+ re-submits the result(s) as new queries (Corey Huinker)
@@ -2490,9 +2574,9 @@ This commit is also listed under psql and PL/pgSQL
2015-10-05 [2145a7660] psql: allow \pset C in setting the title, matches \C
-->
- Allow \pset C string> to set the
- table title, for consistency
- with \C string> (Bruce Momjian)
+ Allow \pset C string>
+ to set the table title, for consistency with \C
+ string> (Bruce Momjian)
@@ -2501,8 +2585,9 @@ This commit is also listed under psql and PL/pgSQL
2016-03-11 [69ab7b9d6] psql: Don't automatically use expanded format when there
-->
- In \pset expanded auto> mode, do not use expanded format
- for query results with only one column (Andreas Karlsson, Robert Haas)
+ In \pset expanded auto> mode, do not use expanded
+ format for query results with only one column (Andreas Karlsson,
+ Robert Haas)
@@ -2512,16 +2597,16 @@ This commit is also listed under psql and PL/pgSQL
2016-06-15 [9901d8ac2] Use strftime("%c") to format timestamps in psql's \watch
-->
- Improve the headers output by the \watch> command
+ Improve the headers output of the \watch> command
(Michael Paquier, Tom Lane)
- Include the \pset title> string if one has been set, and
- shorten the prefabricated part of the header to be
- timestamp> (every N>s).
- Also, the timestamp format now obeys psql>'s locale
- environment.
+ Include the \pset title> string if one has
+ been set, and shorten the prefabricated part of the
+ header to be timestamp> (every
+ N>s). Also, the timestamp format now
+ obeys psql>'s locale environment.
@@ -2530,13 +2615,13 @@ This commit is also listed under psql and PL/pgSQL
2015-12-20 [d854118c8] Teach psql's tab completion to consider the entire input
-->
- Improve tab-completion logic to consider the
- entire input query, not only the current line (Tom Lane)
+ Improve tab-completion logic to consider the entire input query,
+ not only the current line (Tom Lane)
- Previously, breaking a command into multiple lines defeated any tab
- completion rules that would have needed to see words on earlier lines.
+ Previously, breaking a command into multiple lines defeated any
+ tab completion rules that needed to see words on earlier lines.
@@ -2559,8 +2644,8 @@ This commit is also listed under psql and PL/pgSQL
Numerous minor improvements in tab-completion behavior (Peter
Eisentraut, Vik Fearing, Kevin Grittner, Kyotaro Horiguchi, Jeff
- Janes, Andreas Karlsson, Fujii Masao, Thomas Munro, Masahiko Sawada,
- Pavel Stehule)
+ Janes, Andreas Karlsson, Fujii Masao, Thomas Munro, Masahiko
+ Sawada, Pavel Stehule)
@@ -2569,8 +2654,8 @@ This commit is also listed under psql and PL/pgSQL
2015-07-07 [275f05c99] Add psql PROMPT variable showing the pid of the connecte
-->
- Add a PROMPT> option %p> to
- insert the process ID of the connected backend (Julien Rouhaud)
+ Add a PROMPT> option %p> to insert the
+ process ID of the connected backend (Julien Rouhaud)
@@ -2580,9 +2665,9 @@ This commit is also listed under psql and PL/pgSQL
This commit is also listed under libpq and PL/pgSQL
-->
- Introduce a feature whereby the CONTEXT> field of messages
- can be suppressed, either always or only for non-error messages
- (Pavel Stehule)
+ Introduce a feature whereby the CONTEXT> field of
+ messages can be suppressed, either always or only for non-error
+ messages (Pavel Stehule)
@@ -2621,10 +2706,10 @@ This commit is also listed under libpq and PL/pgSQL
- 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 that does not have one already.
+ (Doing so does not break the script for use with older versions
of pgbench>.)
@@ -2637,9 +2722,9 @@ This commit is also listed under libpq and PL/pgSQL
2016-05-06 [951529948] Improve handling of numeric-valued variables in pgbench.
-->
- Support floating-point arithmetic, as well as
- some built-in functions>,
- in expressions in backslash commands (Fabien Coelho)
+ Support floating-point arithmetic, as well as some built-in functions>, in
+ expressions in backslash commands (Fabien Coelho)
@@ -2648,15 +2733,18 @@ This commit is also listed under libpq and PL/pgSQL
2016-03-29 [ad9566470] pgbench: Remove \setrandom.
-->
- Replace \setrandom> with built-in functions (Fabien Coelho)
+ Replace \setrandom> with built-in functions (Fabien
+ Coelho)
- The new built-in functions include random()>,
- random_exponential()>, and random_gaussian()>,
- which perform the same work as \setrandom>, but are easier
- to use since they can be embedded in larger expressions. Since these
- additions have made \setrandom> obsolete, remove it.
+ The new built-in functions include random()>>,
+ random_exponential()>, and
+ random_gaussian()>, which perform the same work as
+ \setrandom>, but are easier to use since they can be
+ embedded in larger expressions. Since these additions have made
+ \setrandom> obsolete, remove it.
@@ -2666,13 +2754,13 @@ This commit is also listed under libpq and PL/pgSQL
2016-03-03 [d561f1cae] pgbench: accept unambiguous builtin prefixes for -b
-->
- Allow invocation of multiple copies of the built-in scripts, not only
- custom scripts (Fabien Coelho)
+ Allow invocation of multiple copies of the built-in scripts,
+ not only custom scripts (Fabien Coelho)
- This is done with the new
-b> switch, which works similarly
- to
-f> for custom scripts.
+ This is done with the new
-b> switch, which works
+ similarly to
-f> for custom scripts.
@@ -2698,13 +2786,13 @@ This commit is also listed under libpq and PL/pgSQL
2016-02-01 [1d0c3b3f8] pgbench: allow per-script statistics
-->
- Collect statistics for each script in a multi-script run
- (Fabien Coelho)
+ Collect statistics for each script in a multi-script run (Fabien
+ Coelho)
- This feature adds an intermediate level of detail to existing global
- and per-command statistics printouts.
+ This feature adds an intermediate level of detail to existing
+ global and per-command statistics printouts.
@@ -2713,8 +2801,8 @@ This commit is also listed under libpq and PL/pgSQL
2015-09-16 [1def9063c] pgbench progress with timestamp
-->
- Add a
--progress-timestamp> option to report progress with
- Unix epoch timestamps, instead of time since the run started
+ Add a
--progress-timestamp> option to report progress
+ with Unix epoch timestamps, instead of time since the run started
(Fabien Coelho)
@@ -2724,8 +2812,8 @@ This commit is also listed under libpq and PL/pgSQL
2015-07-03 [ba3deeefb] Lift the limitation that # of clients must be a multiple
-->
- Allow the number of client connections (
-c>) to not be an
- exact multiple of the number of threads (
-t>)
+ Allow the number of client connections (
-c>) to not
+ be an exact multiple of the number of threads (
-t>)
(Fabien Coelho)
@@ -2735,13 +2823,14 @@ This commit is also listed under libpq and PL/pgSQL
2016-03-09 [accf7616f] pgbench: When -T is used, don't wait for transactions be
-->
- When the
-T> option is used, stop promptly at the end of
- the specified time (Fabien Coelho)
+ When the
-T> option is used, stop promptly at the end
+ of the specified time (Fabien Coelho)
- Previously, specifying a low transaction rate could
- cause pgbench> to wait significantly longer than that.
+ Previously, specifying a low transaction rate could cause
+ pgbench> to wait significantly longer than
+ specified.
@@ -2761,15 +2850,16 @@ This commit is also listed under libpq and PL/pgSQL
2015-12-17 [66d947b9d] Adjust behavior of single-user -j mode for better initdb
-->
- Improve error reporting during initdb>'s post-bootstrap
- phase (Tom Lane)
+ Improve error reporting during initdb>'s
+ post-bootstrap phase (Tom Lane)
- Previously, an error here led to reporting the entire input file as
- the failing query>; now just the current query is reported.
- To get the desired behavior, queries in initdb>'s
- input files must be separated by blank lines.
+ Previously, an error here led to reporting the entire input
+ file as the failing query>; now just the current
+ query is reported. To get the desired behavior, queries in
+ initdb>'s input files must be separated by blank
+ lines.
@@ -2778,8 +2868,9 @@ This commit is also listed under libpq and PL/pgSQL
2015-12-17 [c4a8812cf] Use just one standalone-backend session for initdb's pos
-->
- Speed up initdb> by using just one standalone-backend
- session for all the post-bootstrap steps (Tom Lane)
+ Speed up initdb> by using just one
+ standalone-backend session for all the post-bootstrap steps
+ (Tom Lane)
@@ -2812,7 +2903,8 @@ This commit is also listed under libpq and PL/pgSQL
2015-07-02 [726117243] Remove obsolete heap_formtuple/modifytuple/deformtuple f
-->
- Remove obsolete heap_formtuple>/heap_modifytuple>/heap_deformtuple>
+ Remove obsolete
+ heap_formtuple>/heap_modifytuple>/heap_deformtuple>
functions (Peter Geoghegan)
@@ -2827,8 +2919,8 @@ This commit is also listed under libpq and PL/pgSQL
- This may result in warnings and/or wasted code space with very old
- compilers, but the notational improvement seems worth it.
+ This may result in warnings and/or wasted code space with very
+ old compilers, but the notational improvement seems worth it.
@@ -2843,13 +2935,13 @@ This commit is also listed under libpq and PL/pgSQL
2016-05-06 [6bd356c33] Add TAP tests for pg_dump
-->
- Improve TAP testing infrastructure
- (Michael Paquier, Craig Ringer, Álvaro Herrera, Stephen Frost)
+ Improve TAP> testing infrastructure (Michael
+ Paquier, Craig Ringer, Álvaro Herrera, Stephen Frost)
- Notably, it is now possible to test recovery scenarios using this
- infrastructure.
+ Notably, it is now possible to test recovery scenarios using
+ this infrastructure.
@@ -2875,8 +2967,8 @@ This commit is also listed under libpq and PL/pgSQL
- Tab-completion rules are now considerably easier to write, and more
- compact.
+ Tab-completion rules are now considerably easier to write, and
+ more compact.
@@ -2891,8 +2983,8 @@ This commit is also listed under libpq and PL/pgSQL
- The core code doesn't use this catalog for authentication, but
- extensions might wish to consult it.
+ The core code does not use this catalog for authentication,
+ but extensions might wish to consult it.
@@ -2902,17 +2994,17 @@ This commit is also listed under libpq and PL/pgSQL
2016-01-21 [be44ed27b] Improve index AMs' opclass validation procedures.
-->
- Restructure index access method API to hide most of it at the C level
- (Alexander Korotkov)
+ Restructure index access method API> to hide most of
+ it at the C> level (Alexander Korotkov)
- This change modernizes the index AM API to look more like the designs
- we've adopted for foreign data wrappers and tablesample handlers.
- This simplifies the C code and should make it more feasible to define
- index access methods in installable extensions. A consequence is
- that most of the columns of the pg_am> system catalog
- have disappeared.
+ This change modernizes the index AM API> to look more
+ like the designs we have adopted for foreign data wrappers and
+ tablesample handlers. This simplifies the C> code
+ and should make it more feasible to define index access methods in
+ installable extensions. A consequence is that most of the columns
+ of the pg_am> system catalog have disappeared.
@@ -2928,9 +3020,9 @@ This commit is also listed under libpq and PL/pgSQL
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.
+ 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.
@@ -2939,14 +3031,15 @@ This commit is also listed under libpq and PL/pgSQL
2016-02-04 [c1772ad92] Change the way that LWLocks for extensions are allocated
-->
- Change the way that extensions allocate custom LWLocks
+ Change the way that extensions allocate custom LWLocks>
(Amit Kapila, Robert Haas)
- The RequestAddinLWLocks()> function is removed, and
- replaced by RequestNamedLWLockTranche()>. This allows
- better identification of custom LWLocks, and is less error-prone.
+ The RequestAddinLWLocks()> function is removed,
+ and replaced by RequestNamedLWLockTranche()>.
+ This allows better identification of custom LWLocks>,
+ and is less error-prone.
@@ -2969,8 +3062,9 @@ This commit is also listed under libpq and PL/pgSQL
- This change allows FDWs or custom scan providers to store data in a
- plan tree in a more convenient format than was previously possible.
+ This change allows FDW>s or custom scan providers
+ to store data in a plan tree in a more convenient format than
+ was previously possible.
@@ -2985,13 +3079,14 @@ This commit is also listed under libpq and PL/pgSQL
-->
Make the planner deal with post-scan/join query steps by generating
- and comparing Paths, replacing a lot of very ad-hoc logic (Tom Lane)
+ and comparing Paths>, replacing a lot of ad-hoc logic
+ (Tom Lane)
This change provides only marginal user-visible improvements today,
but it enables future work on a lot of upper-planner improvements
- that were impractical to tackle in the old code structure.
+ that were impractical to tackle using the old code structure.
@@ -3008,8 +3103,8 @@ This commit is also listed under libpq and PL/pgSQL
This change allows the computation of an aggregate function to be
split into separate parts, for example so that parallel worker
- processes can cooperate on computing an aggregate. In future it
- might allow aggregation across local and remote data to occur
+ processes can cooperate on computing an aggregate. In future
+ it might allow aggregation across local and remote data to occur
partially on the remote end.
@@ -3034,24 +3129,25 @@ This commit is also listed under libpq and PL/pgSQL
2016-03-24 [c1156411a] Move psql's psqlscan.l into src/fe_utils.
-->
- Separate out psql>'s flex lexer to make it usable by
- other client programs too (Tom Lane, Kyotaro Horiguchi)
+ Separate out psql>'s flex> lexer to
+ make it usable by other client programs too (Tom Lane, Kyotaro
+ Horiguchi)
This eliminates code duplication for programs that need to be able
to parse SQL commands well enough to identify command boundaries.
- Doing that in full generality is more painful than one could wish,
- and up to now only psql> has really gotten it right
- among our supported client programs.
+ Doing that in full generality is more painful than one could
+ wish, and up to now only psql> has really gotten
+ it right among our supported client programs.
- A new source-code subdirectory src/fe_utils/> has been
- created to hold this and other code that's shared across our client
- programs. Formerly such sharing was accomplished by symlinking or
- copying source files at build time, which was ugly and required
- duplicate compilation work.
+ A new source-code subdirectory src/fe_utils/> has
+ been created to hold this and other code that is shared across
+ our client programs. Formerly such sharing was accomplished by
+ symbolic linking or copying source files at build time, which
+ was ugly and required duplicate compilation.
@@ -3060,9 +3156,9 @@ This commit is also listed under libpq and PL/pgSQL
2016-03-21 [98a64d0bd] Introduce WaitEventSet API.
-->
- Introduce WaitEventSet API to allow efficient waiting for event
- sets that usually don't change from one wait to the next
- (Andres Freund, Amit Kapila)
+ Introduce WaitEventSet> API> to allow
+ efficient waiting for event sets that usually do not change from
+ one wait to the next (Andres Freund, Amit Kapila)
@@ -3071,16 +3167,17 @@ This commit is also listed under libpq and PL/pgSQL
2016-04-01 [65578341a] Add Generic WAL interface
-->
- Add a generic interface for writing WAL records
+ Add a generic interface for writing WAL> records
(Alexander Korotkov, Petr Jelínek, Markus Nullmeier)
- This change allows extensions to write WAL records for changes to
- pages with 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 support for them.
+ This change allows extensions to write WAL> records for
+ changes to pages with 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>
+ support for them.
@@ -3089,14 +3186,14 @@ This commit is also listed under libpq and PL/pgSQL
2016-04-06 [3fe3511d0] Generic Messages for Logical Decoding
-->
- Support generic WAL messages for logical decoding
+ Support generic WAL> messages for logical decoding
(Petr Jelínek, Andres Freund)
- This feature allows extensions to insert data into the WAL stream
- that can be read by logical-decoding plugins, but is not connected to
- physical data restoration.
+ This feature allows extensions to insert data into the
+ WAL> stream that can be read by logical-decoding
+ plugins, but is not connected to physical data restoration.
@@ -3106,14 +3203,15 @@ This commit is also listed under libpq and PL/pgSQL
2016-03-30 [87545f541] Use traversalValue in SP-GiST range opclass.
-->
- Allow SP-GiST operator classes to store an arbitrary traversal
- value> while descending the index (Alexander Lebedev, Teodor Sigaev)
+ Allow SP-GiST operator classes to store an arbitrary
+ traversal value> while descending the index (Alexander
+ Lebedev, Teodor Sigaev)
- This is somewhat like the reconstructed value>, but it could
- be any arbitrary chunk of data, it need not be of the same data type
- as the indexed column.
+ This is somewhat like the reconstructed value>, but it
+ could be any arbitrary chunk of data, it need not be of the same
+ data type as the indexed column.
@@ -3122,14 +3220,14 @@ This commit is also listed under libpq and PL/pgSQL
2016-04-04 [66229ac00] Introduce a LOG_SERVER_ONLY ereport level, which is neve
-->
- Introduce a LOG_SERVER_ONLY> message level
- for ereport()> (David Steele)
+ Introduce a LOG_SERVER_ONLY> message level for
+ ereport()> (David Steele)
- This level acts like LOG> except that the message is never
- sent to the client. It's meant for use in auditing and similar
- applications.
+ This level acts like LOG> except that the message is
+ never sent to the client. It is meant for use in auditing and
+ similar applications.
@@ -3138,14 +3236,14 @@ This commit is also listed under libpq and PL/pgSQL
2016-07-01 [548af97fc] Provide and use a makefile target to build all generated
-->
- Provide a makefile target to build all generated headers (Michael
- Paquier, Tom Lane)
+ Provide a Makefile> target to build all generated
+ headers (Michael Paquier, Tom Lane)
submake-generated-headers> can now be invoked to ensure
- that generated backend header files are up-to-date. This is useful in
- subdirectories that might be built standalone>.
+ that generated backend header files are up-to-date. This is
+ useful in subdirectories that might be built standalone>.
@@ -3180,8 +3278,9 @@ This commit is also listed under libpq and PL/pgSQL
2016-04-01 [9ee014fc8] Bloom index contrib module
-->
- Add contrib/bloom> module that implements an index access
- method based on Bloom filtering (Teodor Sigaev, Alexander Korotkov)
+ Add contrib/bloom> module that implements an index
+ access method based on Bloom filtering (Teodor Sigaev, Alexander
+ Korotkov)
@@ -3197,9 +3296,9 @@ This commit is also listed under libpq and PL/pgSQL
2015-12-28 [81ee726d8] Code and docs review for cube kNN support.
-->
- In contrib/cube>, introduce distance operators for cubes,
- and support kNN-style searches in GiST indexes on cube columns
- (Stas Kelvich)
+ In contrib/cube>, introduce distance operators for
+ cubes, and support kNN-style searches in GiST indexes on cube
+ columns (Stas Kelvich)
@@ -3208,17 +3307,19 @@ This commit is also listed under libpq and PL/pgSQL
2016-02-03 [41d2c081c] Make hstore_to_jsonb_loose match hstore_to_json_loose on
-->
- Make contrib/hstore>'s hstore_to_jsonb_loose()>
- and hstore_to_json_loose()> functions agree on what's a
- number (Tom Lane)
+ Make contrib/hstore>'s hstore_to_jsonb_loose()>>
+ and hstore_to_json_loose()> functions agree on what
+ is a number (Tom Lane)
Previously, hstore_to_jsonb_loose()> would convert
- numeric-looking strings to JSON numbers, rather than strings, even if
- they did not exactly match the JSON syntax specification for numbers.
- This was inconsistent with hstore_to_json_loose()>, so
- tighten the test to match the JSON syntax.
+ numeric-looking strings to JSON> numbers, rather than
+ strings, even if they did not exactly match the JSON>
+ syntax specification for numbers. This was inconsistent with
+ hstore_to_json_loose()>, so tighten the test to match
+ the JSON> syntax.
@@ -3227,9 +3328,9 @@ This commit is also listed under libpq and PL/pgSQL
2015-07-21 [c6fbe6d6f] Add selectivity estimation functions for intarray operat
-->
- Add selectivity estimation functions for contrib/intarray>
- operators, to improve plans for queries using those operators (Yury
- Zhuravlev, Alexander Korotkov)
+ Add selectivity estimation functions for
+ contrib/intarray> operators, to improve plans for
+ queries using those operators (Yury Zhuravlev, Alexander Korotkov)
@@ -3238,10 +3339,11 @@ This commit is also listed under libpq and PL/pgSQL
2015-11-25 [d6061f83a] Improve pageinspect module
-->
- Make 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
+ Make 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
tuple fields (Nikolay Shaplov)
@@ -3251,9 +3353,9 @@ This commit is also listed under libpq and PL/pgSQL
2016-03-09 [188f359d3] pgcrypto: support changing S2K iteration count
-->
- Add an optional S2K iteration count parameter
- to contrib/pgcrypto>'s pgp_sym_encrypt()>
- function (Jeff Janes)
+ Add an optional S2K> iteration count parameter to
+ contrib/pgcrypto>>'s
+ pgp_sym_encrypt()> function (Jeff Janes)
@@ -3262,9 +3364,8 @@ This commit is also listed under libpq and PL/pgSQL
2016-03-16 [f576b17cd] Add word_similarity to pg_trgm contrib module.
-->
- Add support for word similarity>
- to contrib/pg_trgm>
- (Alexander Korotkov, Artur Zakirov)
+ Add support for word similarity> to
+ contrib/pg_trgm> (Alexander Korotkov, Artur Zakirov)
@@ -3279,9 +3380,10 @@ This commit is also listed under libpq and PL/pgSQL
2016-06-20 [9c852566a] Fix comparison of similarity to threshold in GIST trigra
-->
- Add configuration parameter pg_trgm.similarity_threshold>
- for contrib/pg_trgm>'s similarity threshold
- (Artur Zakirov)
+ Add configuration parameter
+ pg_trgm.similarity_threshold> for contrib/pg_trgm>>'s similarity
+ threshold (Artur Zakirov)
@@ -3296,8 +3398,9 @@ This commit is also listed under libpq and PL/pgSQL
2015-07-20 [97f301464] This supports the triconsistent function for pg_trgm GIN
-->
- Improve contrib/pg_trgm>'s GIN operator class to speed up
- index searches in which both common and rare keys appear (Jeff Janes)
+ Improve contrib/pg_trgm>'s GIN operator class to
+ speed up index searches in which both common and rare keys appear
+ (Jeff Janes)
@@ -3327,31 +3430,10 @@ This commit is also listed under libpq and PL/pgSQL
2015-09-07 [49124613f] contrib/sslinfo: add ssl_extension_info SRF
-->
- Add ssl_extension_info()> function
- to contrib/sslinfo>, to print information about SSL
- extensions present in the X509 certificate used for the current
- connection (Dmitry Voronin)
-
-
-
-
-
-
- Extend contrib/unaccent>'s
- standard unaccent.rules> file to handle all diacritics
- known to Unicode, and expand ligatures correctly
- (Thomas Munro, Léonard Benedetti)
-
-
-
- The previous version omitted some less-common letters with diacritic
- marks. It now also expands ligatures into separate letters.
- Installations that use this rules file may wish to
- rebuild tsvector> columns and indexes that depend on the
- result.
+ Add ssl_extension_info()>>
+ function to contrib/sslinfo>, to print information
+ about SSL> extensions present in the X509>
+ certificate used for the current connection (Dmitry Voronin)
@@ -3373,9 +3455,9 @@ This commit is also listed under libpq and PL/pgSQL
- Users can enable this feature when the extension is known to exist in
- a compatible version in the remote database. It allows more efficient
- execution of queries involving extension operators.
+ Users can enable this feature when the extension is known to exist
+ in a compatible version in the remote database. It allows more
+ efficient execution of queries involving extension operators.
@@ -3412,9 +3494,9 @@ This commit is also listed under libpq and PL/pgSQL
Formerly, this involved sending a SELECT FOR UPDATE>
command and then updating or deleting the selected rows one-by-one.
- While that's still necessary if the operation requires any local
- processing, it can now be done remotely if all elements of the query
- are safe to send to the remote server.
+ While that is still necessary if the operation requires any local
+ processing, it can now be done remotely if all elements of the
+ query are safe to send to the remote server.
@@ -3428,8 +3510,8 @@ This commit is also listed under libpq and PL/pgSQL
- Formerly, postgres_fdw> always fetched 100 rows at a time
- from remote queries; now that behavior is adjustable.
+ Formerly, postgres_fdw> always fetched 100 rows at
+ a time from remote queries; now that behavior is configurable.
@@ -3438,8 +3520,8 @@ This commit is also listed under libpq and PL/pgSQL
2016-01-28 [96198d94c] Avoid multiple foreign server connections when all use s
-->
- Use a single foreign-server connection for local user IDs that all
- map to the same remote user (Ashutosh Bapat)
+ Use a single foreign-server connection for local user IDs that
+ all map to the same remote user (Ashutosh Bapat)
@@ -3454,8 +3536,8 @@ This commit is also listed under libpq and PL/pgSQL
- Previously, a local query cancellation request did nothing to cause
- an already-sent remote query to terminate early.
+ Previously, a local query cancellation request did not cause an
+ already-sent remote query to terminate early.