accomplish double-quoting behavior.
No longer have
linkend="APP-CREATEUSER">
createuser> prompt
for settings (Peter Eisentraut, Josh Kupershmidt)
-
+
Previously
createuser> prompted regarding various
user settings.
-
+
support for the crypt authentication method (Peter Eisentraut)
-
+
This was removed from the backend years ago.
-
-
+
+
Remove the postgresql.conf setting
silent_mode> (Heikki Linnakangas)
-
+
This behavior could already be accomplished with pg_ctl
-l postmaster.log>.
-
+
Remove
GUC wal_sender_delay>,
as it is no longer needed (Tom Lane)
-
+
The new "latch" capability made this setting unnecessary.
-
+
Remove the custom_variable_classes>
postgresql.conf parameter (Tom Lane)
-
+
The checking provided by this setting was dubious. Now any
setting can be prefixed by any class name.
-
+
Add GUC parameters for
specifying the locations of server-side
SSL
files (Peter Eisentraut)
-
+
This allows changing the location of the files that were previously
hard-coded to server.crt>, server.key>,
names, and if specified, these files must exist.
-
+
to pid>, to match other system tables (Magnus Hagander)
-
+
Create a separate pg_stat_activity> column to
report state information, e.g. idle (Scott Mead, Magnus Hagander,
Greg Smith)
-
+
The last query values are preserved, allowing for enhanced analysis.
-
+
Rename pg_stat_activity.current_query> to
completes (Magnus Hagander)
-
+
Change all
SQL-level statistics timing values
to float8-stored milliseconds (Tom Lane)
-
+
The columns affected are:
pg_stat_user_functions.total_time>,
pg_stat_xact_user_functions.self_time>.
-
+
Change
pg_stat_statements>'
(Tom Lane)
-
+
Allow queries to retrieve data only from indexes, avoiding heap
access (Robert Haas, Ibrar Ahmed, Tom Lane)
-
+
This is often called "index-only scans" or "covering indexes".
This is possible for heap pages with exclusively all-visible
lightweight lock mechanism (Robert Haas, Jeff Davis)
-
+
Move the frequently accessed members of the PGPROC>
Deolasee, Heikki Linnakangas, Robert Haas)
-
+
Reduce overhead of creating virtual transaction id locks (Robert
Haas, Jeff Davis)
-
+
Reduce overhead for shared invalidation cache messages (Robert
Haas, Noah Misch)
-
+
Improve performance of transactions using many savepoints (Simon
Riggs, Robert Haas) PARTIALLY REVERTED. KEEP?
-
+
Improve COPY performance by adding tuples to
the heap in batches (Heikki Linnakangas)
-
+
Improve GiST box and point index performance by producing better
Heikki Linnakangas, Kevin Grittner)
-
+
Allow hint bits to be set sooner for temporary and unlogged tables
(Robert Haas)
-
+
Reduce checkpoints and
WAL traffic on low
activity servers (Simon Riggs)
-
+
Allow sorting to be performed by inlined and faster,
Geoghegan, Robert Haas, Tom Lane)
-
+
Add the SP-GiST (Space-Partitioned
GiST) index access method (Teodor Sigaev, Oleg Bartunov, Tom Lane,
Robert Haas)
-
+
SP-GiST is comparable to GiST in flexibility, but supports
non-balanced partitioned search structures rather than balanced
trees. CLARIFY?
-
+
Improve GiST index build times (Alexander Korotkov)
-
+
Take fewer
MVCC snapshots, for performance
(Robert Haas, Dimitri Fontaine)
-
+
Have the number of clog buffer count scale based on
(Robert Haas)
-
+
Reduce the overhead of serializable isolation level locks (Dan
Ports, Heikki Linnakangas)
-
+
Improve performance of
WAL writes using group
commit (Peter Geoghegan, Simon Riggs, Heikki Linnakangas)
-
+
Improve PowerPC and Itanium spinlock performance (Manabu Ori,
Tom Lane, Robert Haas)
-
+
Create a dedicated worker process to perform checkpoints (Simon
Riggs, Dickson Guedes)
-
+
Formerly the background writer did dirty page writing and
checkpointing.
-
+
Improve asynchronous commit behavior by waking up sooner (Simon
Riggs)
-
+
Previously, only
linkend="guc-wal-writer-delay">wal_writer_delay>
writes.
-
+
Allow backends to detect postmaster death via a pipe read failure,
rather than polling (Peter Geoghegan, Heikki Linnakangas)
-
+
The wait events are internally called "latches".
-
+
Allow the bgwriter,
and checkpointer to sleep more efficiently during periods of
inactivity (Peter Geoghegan, Heikki Linnakangas, Tom Lane)
-
+
This reduces
CPU wake-ups, which dramatically
reduces power consumption on idle servers.
-
+
Pass the safe number of file descriptors to Windows processes
(Heikki Linnakangas)
-
+
This allows Windows sessions to cache more open file descriptors.
-
+
Improve the ability of the planner to choose parameterized plans
(Tom Lane)
-
+
A prepared statement is now parsed, analyzed, and rewritten,
but not necessarily planned. When the prepared plan is executed
of a constant-specific plan. CLARIFY
-
+
Allow the optimizer to use CHECK> constraints defined
on tables referenced in subqueries in planning decisions (Tom Lane)
-
+
This is only enabled when
linkend="guc-constraint-exclusion">constraint_exclusion
= on>.
-
+
Allow indexedcol op ANY(ARRAY[...])> conditions to be
used in plain indexscans (Tom Lane)
-
+
Improve heuristics for determining the type of unknown values by
considering other data types involved in the operation (Tom Lane)
-
+
Allow better matching of index columns with non-default operator
qualifications (Tom Lane)
-
+
Improve the planner's ability to use nested loops with inner
index scans (Tom Lane)
-
+
Support MIN>/MAX> index optimizations on
boolean columns (Marti Raudsepp, Abhijit Menon-Sen)
-
+
subqueries (Tom Lane)
-
+
Improve optimizer estimation for subqueries using
DISTINCT> (Tom Lane)
-
+
Collect and use element-frequency statistics for arrays (Alexander
Korotkov, Noah Misch, Nathan Boley, Tom Lane, Daniele Varrazzo)
-
+
This patch improves selectivity estimation for the array <@,
&&, and @> (containment and overlaps) array operators.
-
+
Improve costing of partial indexes (Tom Lane)
-
+
Allow analyze statistics to be collected for foreign tables
(Etsuro Fujita, Shigeru Hanada, Tom Lane)
-
+
linkend="auth-pg-hba-conf">pg_hba.conf
include superusers (Andrew Dunstan, Robert Haas)
-
+
This makes it easier to use reject lines with group roles.
-
+
Make superuser imply replication privilege (Noah Misch)
-
+
This avoids the need to explicitly assign such privileges.
-
+
Adjust pg_hba.conf processing to more
Herrera, Pavel Stehule)
-
+
Disallow empty pg_hba.conf files (Tom Lane)
-
+
This was done to more quickly report misconfiguration.
-
+
(Marti Raudsepp,
PDXPUG>, Tom Lane)
-
+
Make logging of autovacuum I/O activity more verbose (Greg Smith,
Noah Misch)
-
+
This logging is triggered by
linkend="guc-log-autovacuum-min-duration">log_autovacuum_min_duration>.
-
+
Have
WAL replay report failures sooner
(Fujii Masao)
-
+
There were some cases where failures were only reported once the
server went into master mode.
-
+
Add
to simplify xlog comparisons (Euler Taveira de Oliveira, Fujii
Masao, Magnus Hagander)
-
+
This is useful for computing replication lag.
-
+
Support configurable eventlog application names on Windows (MauMau,
Magnus Hagander)
-
+
This allows different instances to use the eventlog
with different identifiers, by setting the
linkend="guc-syslog-ident">syslog_ident> works.
-
+
Change "unexpected EOF" message to DEBUG1> level
(Magnus Hagander)
-
+
system view (Tomas Vondra)
-
+
Add a deadlock counter to the pg_stat_database>
system view (Magnus Hagander, Jaime Casanova)
-
+
Add a
GUC setting
to track I/O timings (Ants Aasma, Greg Smith, Robert Haas)
-
+
Report checkpoint timing information in
(Greg Smith, Peter Geoghegan, Robert Haas)
-
+
to be set per-session by superusers, not just per-cluster (Noah
Misch, Shigeru Hanada)
-
+
This allows deadlock_timeout> to be reduced for
transactions that are likely to be involved in a deadlock,
Sending Servers" (Fujii Masao)
-
+
Allow a superuser to SET an extension's
superuser-only custom variable before loading the associated
extension (Tom Lane)
-
+
The system now remembers whether a SET was
performed by a superuser.
-
+
Add postmaster
option to query configuration parameters (Bruce Momjian)
-
+
This allows
pg_ctl> to better handle
configuration-only directory installations.
-
+
Force the locale to be recorded more specifically, rather than
using the empty string to mean the default (Tom Lane)
-
+
Andy Colson)
-
+
Allow a reload of postgresql.conf to be
processed by all backends even if there are some settings that
are invalid for that session (Alexey Klyukin, Andy Colson)
-
+
Previously, such not-valid-for-session errors would cause all
setting changes to be ignored by that backend.
-
+
Add an include_if_exists> facility for configuration
files (Greg Smith, Euler Taveira de Oliveira)
-
+
This works the same as include>, except that an error
is not thrown if the file is missing.
-
+
Check the server time zone during initdb, and set
log_timezone>
accordingly (Tom Lane)
-
+
This avoids expensive time zone probes during server start.
-
+
Allow Windows to report
(Tom Lane)
-
+
-
+
Allow streaming replications slaves to serve other slaves (Fujii
Masao, Simon Riggs)
-
+
Previously, only the master server could supply streaming
replication log files to standby servers. Slaves can also now
do continuous archiving. (?)
-
+
Add new
replication mode remote_write> (Fujii Masao and
Simon Riggs)
-
+
This only writes data to the socket, but does not wait a write
to the remote disk.
-
+
Add a
than waiting for completed xlog files (Magnus Hagander)
-
+
Send keepalive messages to standby servers (Simon Riggs)
-
+
This allows administrators to accurately calculate streaming
replication transfer and application latency.
-
+
Allow streaming of xlog files while
pg_basebackup>
is performing a backup (Magnus Hagander)
-
+
This allows passing of xlog files to the standby before they are
discarded on the primary.
-
+
Allow
pg_basebackup> to pull from standby servers
(Jun Ishizuka, Fujii Masao)
-
+
Exclude the postmaster.opts file from
pg_basebackup>
backups (Magnus Hagander)
-
+
Improve columns labels produced by subqueries (Marti Raudsepp,
Kyotaro Horiugchi)
-
+
Previously, the generic label ?column?> was used.
-
+
Preserve column names in row expressions (Andrew Dunstan, Tom Lane)
-
+
Cancel queries if clients get disconnected (Florian Pflug, Greg
Jaskiewicz)
-
+
Silently ignore nonexistent schemas specified in
linkend="guc-search-path">search_path> (Tom Lane)
-
+
Warn about casts to and from domain types (Robert Haas)
-
+
Such casts have no effect.
-
+
When a row fails a CHECK> or NOT NULL>
constraint, show the row's contents in errdetail (Jan
Kundrát, Royce Ausburn, Tom Lane)
-
+
This should make it easier to identify which row is problematic
when an insert or update is processing many rows.
-
+
DDL (Robert Haas, Noah Misch)
-
+
Add
CONCURRENTLY> option to
linkend="SQL-DROPINDEX">DROP INDEX
CONCURRENTLY (Simon Riggs)
-
+
This allows index removal without blocking other sessions.
-
+
constraints to be declared NOT VALID> (Álvaro
Herrera, Thom Brown, Dean Rasheed, Jaime Casanova)
-
+
A NOT VALID> CHECK> constraint can be added
to a table without the table's data being verified against the
constraint. New rows are verified.
-
+
Such constraints are ignored by the planner when considering
constraint_exclusion>. ALTER TABLE /
cached plans.
-
+
Allow CHECK> constraints to be declared NO
INHERIT> (Nikhil Sontakke, Alex Hunsaker)
-
+
This makes them enforceable only on the parent table, not on
child tables.
-
+
Add the ability to rename
constraints (Peter Eisentraut)
-
+
Disallow merging of ONLY> and non-ONLY>
constraints in child tables (Nikhil Sontakke)
-
+
Such merging would cause unpredictable behavior in grandchild
tables.
-
+
operations (Noah Misch) DUPLICATE?
-
+
Add IF EXIST> clause to ALTER
commands (Pavel Stehule)
-
+
For example, ALTER FOREIGN TABLE IF EXISTS foo RENAME
TO bar.
-
+
Add ALTER
SERVER / RENAME> (Peter Eisentraut)
-
+
Add ALTER
DOMAIN / RENAME> (Peter Eisentraut)
-
+
You could already rename domains using ALTER
TYPE.
-
+
Throw an error for ALTER DOMAIN / DROP
CONSTRAINT> on a nonexistent constraint (Peter Eisentraut)
-
+
An IF EXISTS> option has been added to enable the
previous behavior.
-
+
(Tom Lane)
-
+
Support CREATE TABLE (LIKE ...) from foreign
tables and views (Peter Eisentraut)
-
+
Allow CREATE TABLE (LIKE ...) from composite
type (Peter Eisentraut)
-
+
This also allows a table to be created whose schema matches a view.
-
+
Tighten creation of tables in temporary schemas (Robert Haas)
-
+
Previously, it was possible to create unlogged tables in temporary
schemas, and temporary tables in the temporary schemas of other
sessions.
-
+
linkend="SQL-CREATEVIEW">security_barrier>
option for views (KaiGai Kohei, Noah Misch)
-
+
This prevents security_barrier> views from being moved
into other scopes, preventing possible leakage of view-prohibited
data. Such views might perform more poorly.
-
+
Add a new
into security_barrier> views (KaiGai Kohei)
-
+
Add support for privileges on date types (Peter Eisentraut,
Yeb Havinga)
-
+
This adds support for the
SQL>-conforming
USAGE> privilege on types and domains. The intent is
which restricts the way in which owners can alter types.
-
+
Check for INSERT privileges in SELECT
INTO / CREATE TABLE AS (KaiGai Kohei,
Albe Laurenz)
-
+
Because the object is being created by SELECT
INTO or CREATE TABLE AS, it will
PRIVILEGES> has removed such permissions, hence the need for
a permission check.
-
+
Allow vacuum to more easily skip pages that cannot be locked
(Simon Riggs, Robert Haas)
-
+
This change should greatly reduce the incidence of vacuum getting
"stuck".
-
+
and written (Robert Haas, Fujii Masao, Greg Smith)
-
+
Have EXPLAIN ANALYZE report the number of rows
rejected by filter steps (Marko Tiikkaja, Marc Cousin)
-
+
Allow EXPLAIN to avoid timing overhead when
time values are unwanted (Tomas Vondra, Eric Theise)
-
+
This is accomplished by setting TIMING> to
FALSE>.
-
+
Add a JSON
data type (Robert Haas) AUTHOR?
-
+
This stores
JSON data as text after proper
validation.
-
+
Add
and row_to_json()> (Andrew Dunstan, Abhijit Menon-Sen)
-
+
Add support for range data types
(Jeff Davis, Tom Lane, Alexander Korotkov)
-
+
The range data type records a lower and upper bound, and supports
operations like contains, overlaps, and intersection.
-
+
Add SMALLSERIAL>
data type (Mike Pultz, Brar Piening, Josh Kupershmidt)
-
+
This is like SERIAL>, except it stores the sequence in
a two-byte integer column (int2).
-
+
Allow domains to be
declared NOT VALID> (Álvaro Herrera, Thom Brown,
Dean Rasheed, Jaime Casanova, Peter Eisentraut)
-
+
This can be set at domain creation time, or via
ALTER DOMAIN / ADD CONSTRAINT / NOT
CONSTRAINT> fully validates the domain.
-
+
Support more locale-specific formatting options for the
linkend="datatype-money">MONEY data type (Tom Lane)
-
+
Specifically, display the plus/minus sign, currency symbol,
and separators in a locale-specific order. CORRECT?
-
+
Add bitwise "and", "or", and "not"
data type (Brendan Jurd, Fujii Masao)
-
+
XML array when supplied a scalar value (Florian
Pflug, Radoslaw Smogura)
-
+
Previously, it returned an empty array. This change will also
cause xpath_exists()> to return true, not false,
for such expressions.
-
+
linkend="functions-admin-signal">pg_cancel_backend()>
(Magnus Hagander)
-
+
Previously only the superuser could cancel queries.
-
+
Allow
to process bytea values (Pavel Stehule, Peter Eisentraut)
-
+
Allow regular expressions to use back-references (Tom Lane)
-
+
For example, '^(\w+)( \1)+$'.
-
+
Allow importing and exporting of transaction snapshots (Joachim
Wieland, Marko Tiikkaja, Tom Lane)
-
+
Snapshots are exported via
linkend="functions-snapshot-synchronization">pg_export_snapshot()>,
Only snapshots of currently-running transactions can be imported.
-
+
Support
linkend="functions-info-catalog-table">COLLATION
FOR> on expressions (Peter Eisentraut, Jaime Casanova)
-
+
This returns a string representing the collation of the expression.
-
+
Add a
NUMERIC> variant of
for use with pg_xlog_location_diff()> (Fujii Masao)
-
+
Change default names of triggers to fire "action" triggers before
"check" triggers (Tom Lane)
-
+
This allows default-named check triggers to check post-action rows.
-
+
Add a
linkend="functions-info-session-table">pg_trigger_depth()>
function (Kevin Grittner)
-
+
This reports the current trigger call depth.
-
+
Allow per-column foreign data wrapper options and
force_not_null> (Shigeru Hanada, KaiGai Kohei)
-
+
This allows
SQL specification of per-column
information useful to foreign data sources. Includes
psql> option display support.
-
+
Improve pretty printing of view definitions (Andrew Dunstan,
Hitoshi Harada)
-
+
(Peter Eisentraut)
-
+
Implement information schema interval_type> columns
(Peter Eisentraut)
-
+
Add collation columns to various information schema views (Peter
Eisentraut)
-
+
Specifically, provide collation columns for views referencing
attributes, columns, domains, and element_types>.
-
+
Add display of sequence USAGE> privileges to information
schema (Peter Eisentraut)
-
+
Add a with_hierarchy> column to the information schema
privileges display (Peter Eisentraut)
-
+
Have the information schema show default privileges (Peter
Eisentraut, Abhijit Menon-Sen)
-
+
Previously, default permissions generated NULL> fields.
(WAS IT NULL?)
-
+
parameters by name (Yeb Havinga, Kevin Grittner, Tom Lane)
-
+
Add a GET STACKED DIAGNOSTICS PL/pgSQL command
David Wheeler)
-
+
Speed up PL/pgSQL array assignment by caching type information
(Pavel Stehule)
-
+
Improve performance and memory consumption of the PL/pgSQL
ELSIF> clauses (Tom Lane)
-
+
Output the function signature, not just the name, in PL/pgSQL
error messages (Pavel Stehule, Abhijit Menon-Sen, Tom Lane)
-
+
(Andrew Dunstan) DETAILS?
-
+
Add PL/Python
SPI cursor support (Jan
Urbanski, Steve Singer)
-
+
This allows PL/Python to read partial result sets.
Add result metadata functions to PL/Python (Peter Eisentraut,
Abhijit Menon-Sen)
-
+
Specifically, this adds result object functions .colnames,
.coltypes, and .coltypmods.
-
+
Allow
SQL-language functions to reference
parameters by name (Matthew Draper, Hitoshi Harada)
-
+
To use this, simply name the function arguments and reference
the argument names in the
SQL function body.
-
+
options
(Peter Eisentraut, Pavel Stehule)
-
+
This allows individual control of local> and
host> pg_hba.conf authentication
settings.
-
+
Add
Villemain)
-
+
Add the