Overview
- ADD HERE Major enhancements include:
+ Major enhancements include:
+
+ ADD HERE ...
+
+
The above items are explained in more detail in the sections below.
@@ -129,9 +133,9 @@
- Previously, WAL> files ending in FF> were
- not used. If you have WAL> backup or restore scripts
- that took that skipping into account, they need to be adjusted.
+ Previously, WAL> files with names ending in FF>
+ were not used. If you have WAL> backup or restore scripts
+ that took that skipping into account, they will need to be adjusted.
@@ -263,7 +267,7 @@
Add COPY FREEZE>
- option to avoid the overhead of later marking tuples as committed
+ option to avoid the overhead of marking tuples as committed later
(Simon Riggs, Jeff Davis)
@@ -324,7 +328,7 @@
- This reduces the statistics management read and write overhead.
+ This reduces the I/O overhead for statistics tracking.
@@ -443,8 +447,8 @@
Instead, on Unix-like systems, mmap()> is used for
- shared memory. This eliminates the requirement of increasing
- System V shared memory kernel parameters.
+ shared memory. For most users, this will eliminate the need to
+ adjust kernel parameters for shared memory.
@@ -455,8 +459,8 @@
- This renames configuration parameter
- unix_socket_directory> to unix_socket_directory> is replaced by unix_socket_directories>,
which accepts a list of directories.
@@ -469,8 +473,8 @@
- The directory is specified as include_dir> in server
+ Such a directory is specified with include_dir> in the server
configuration file.
@@ -484,9 +488,9 @@
- This is the maximum value initdb attempts to set in postgresql.conf>;
- the previous value was 32MB.
+ the previous maximum was 32MB.
@@ -571,6 +575,13 @@
to run on computers with different architectures (Heikki
Linnakangas)
+
+
+ WAL files can still only be replayed on servers with the same
+ architecture as the primary; but they can now be transmitted to and
+ stored on machines of any architecture, since the
+ streaming replication protocol is now machine-independent.
+
@@ -626,7 +637,8 @@
- The new format is slightly more compact.
+ The new format is slightly more compact, and is more efficient to
+ write.
@@ -644,13 +656,13 @@
Implement SQL>-standard LATERAL> for
+ linkend="queries-lateral">LATERAL> option for
FROM>-clause subqueries and function calls (Tom Lane)
- This is useful in allowing FROM> subqueries and
- functions to reference output from tables in the FROM>
+ This feature allows subqueries and functions in FROM> to
+ reference columns from other tables in the FROM>
clause. The LATERAL> keyword is optional for functions.
@@ -664,16 +676,6 @@
-
-
- Improve query string error location reporting (Tom Lane)
-
-
-
- Only CREATE SCHEMA ... IF NOT EXISTS>? If so, remove it.
-
-
-
@@ -685,19 +687,19 @@
- Add support to event triggers
+ Add support for event triggers
(Dimitri Fontaine, Robert Haas, Álvaro Herrera)
- This allows C functions to be called when specific commands are run.
+ This allows C functions to be called when DDL commands are run.
Allow a multi-row VALUES> clause in rules
+ linkend="SQL-VALUES">VALUES> clause in a rule
to reference OLD>/NEW> (Tom Lane)
@@ -726,18 +728,20 @@
- No longer output messages about implicit index and sequence creation (Robert Haas)
+ Suppress messages about implicit index and sequence creation
+ (Robert Haas)
- These messages now appear with DEBUG1>-level output.
+ These messages now appear at DEBUG1> verbosity, so that
+ they will not be shown by default.
- Allow DROP TABLE IF NOT EXISTS> to succeed for a
- non-existent schema (Bruce Momjian)
+ Allow DROP TABLE IF NOT EXISTS> to succeed when a
+ non-existent schema is specified in the table name (Bruce Momjian)
@@ -764,7 +768,7 @@
This allows clients to retrieve table, column, data type, or constraint
name error details. Previously such information had to be extracted from
- error strings. Client language support is required to access these
+ error strings. Client library support is required to access these
fields.
@@ -780,13 +784,13 @@
- Add the ALTER TYPE ... IF
- NOT EXISTS> clause when adding enumerated type labels
+ Support IF NOT EXISTS> option in ALTER TYPE ... ADD VALUE>
(Andrew Dunstan)
- This is useful for conditional label creation in transaction blocks.
+ This is useful for conditionally adding values to enumerated types.
@@ -822,16 +826,16 @@
- Add a materialized
- view relations (Kevin Grittner)
+ Add materialized
+ views (Kevin Grittner)
Unlike ordinary views, where the base tables are read on every access,
materialized views create physical tables at creation or refresh time.
- Access to the materialized view reads from these materialized physical
- tables. There is no facility for incrementally refreshing materialized
- views or auto-accessing them via base table access.
+ Access to the materialized view then reads from its physical
+ table. There is not yet any facility for incrementally refreshing
+ materialized views or auto-accessing them via base table access.
@@ -853,9 +857,16 @@
- Allow views and rules to handle cases where referenced tables are
- renamed, or columns are renamed, added, or dropped (Tom Lane)
- HOW DOES IT HANDLE A DROPPED REFERENCED COLUMN?
+ Improve view/rule printing code to handle cases where referenced
+ tables are renamed, or columns are renamed, added, or dropped
+ (Tom Lane)
+
+
+
+ Table and column renamings can produce cases where, if we merely
+ substitute the new name into the original text of a rule or view, the
+ result is ambiguous. This patch fixes the rule-dumping code to insert
+ table and column aliases if needed to preserve the original semantics.
@@ -867,14 +878,7 @@
Internally this is translated into CREATE VIEW ... WITH
- RECURSIVE>.
-
-
-
-
-
- When converting a table to a view, remove its system columns (Tom Lane)
- KEEP?
+ RECURSIVE ...>.
@@ -896,7 +900,8 @@
- This change includes new libpq and server-side 64-bit-enabled functions.
+ This change includes new libpq and server-side 64-bit-capable
+ large object access functions.
@@ -1013,23 +1018,28 @@
Cause pg_get_viewdef()>
- to default to wrapping after every SELECT> target list and
+ to start a new line by default after each SELECT> target list entry and
FROM> entry (Marko Tiikkaja)
- This causes view output, like from pg_dump>, to be
- more narrow.
+ This reduces line length in view printing, for instance in pg_dump> output.
- Have map_sql_value_to_xml_value()> properly expand
- domains (Pavel Stehule) WHAT IS THE USER-VISIBLE AFFECT HERE?
- map_sql_value_to_xml_value IS A C FUNCTION
+ Fix map_sql_value_to_xml_value()> to print values of
+ domain types the same way their base type would be printed
+ (Pavel Stehule)
+
+
+
+ There are special formatting rules for certain built-in types such as
+ boolean>; these rules now also apply to domains over these
+ types.
@@ -1043,7 +1053,6 @@
Previously functions already run in the current session ignored
search_path> changes.
- (Bruce Momjian)
@@ -1074,11 +1083,12 @@
Allow PL/pgSQL to use RETURN> with a composite-type
- expressions (Asif Rehman)
+ expression (Asif Rehman)
- Previously RETURN> could only reference composite-type variables.
+ Previously, in a function returning a composite type,
+ RETURN> could only reference a variable of that type.
@@ -1122,7 +1132,7 @@
- Have PL/Python convert oid values to a proper Python numeric type
+ Make PL/Python convert OID values to a proper Python numeric type
(Peter Eisentraut)
@@ -1130,7 +1140,7 @@
Handle SPI> errors raised
- explicitly with PL/Python's RAISE> the same as as
+ explicitly (with PL/Python's RAISE>) the same as
internal SPI> errors (Oskari Saarenmaa and Jan Urbanski)
@@ -1167,7 +1177,7 @@
This is similar to the pg_dump>
@@ -1175,7 +1185,7 @@
Add
- Longtable allows tables to span multiple pages.
+ This format allows tables to span multiple pages.
@@ -1352,14 +1363,14 @@
- Add pg_dump>
- Have pg_dump> output functions in a predictable
+ Have pg_dump> output functions in a more predictable
order (Joel Jacobson)
@@ -1417,7 +1428,7 @@
Have initdb issue a warning about placing the data directory at the
- top of file system mount points (Bruce Momjian)
+ top of a file system mount point (Bruce Momjian)
@@ -1550,14 +1561,13 @@
- Add Assert()> functionality to client-side code for
- frontend code (Andrew Dunstan)
+ Support Assert()> in client-side code (Andrew Dunstan)
- Change many internal many backend functions to return OID>s
+ Change many internal backend functions to return OID>s
rather than void (Dimitri Fontaine)
@@ -1668,9 +1678,9 @@
- Allow write-enabled foreign data wrappers
- to support writes (KaiGai Kohei)
+ Allow foreign data
+ wrappers to support writes (inserts/updates/deletes) on foreign
+ tables (KaiGai Kohei)
@@ -1681,7 +1691,7 @@
- This foreign data wrapper allows writes.
+ This foreign data wrapper supports writes.
@@ -1695,7 +1705,7 @@
Add support for indexing of regular-expression searches in
- extension pg_trgm>
+ pg_trgm>
(Alexander Korotkov)
@@ -1821,26 +1831,27 @@
- Add
--foreign-keys> option to pgbench> (Jeff Janes)
+ Add
--foreign-keys> option to pgbench>
+ (Jeff Janes)
- This adds foreign key constraints to tables, for use in foreign
- key performance testing.
+ This adds foreign key constraints to the standard tables created by
+ pgbench>, for use in foreign key performance testing.
Allow pgbench> to aggregate performance statistics
- and produce output every
--aggregate-interval> specified
+ and produce output every
--aggregate-interval>
seconds (Tomas Vondra)
- Add pg_bench>
--sampling-rate> option
+ Add pgbench>
--sampling-rate> option
to control the percentage of transactions logged (Tomas Vondra)
@@ -1858,10 +1869,12 @@
Add pgbench>
-q> mode to print one output
line every five seconds (Tomas Vondra)
+
+
Output pgbench> elapsed and estimated remaining
- time during initialization logging (Tomas Vondra)
+ time during initialization (Tomas Vondra)