|
17 | 17 | Major enhancements in <productname>PostgreSQL</> 9.6 include:
|
18 | 18 | </para>
|
19 | 19 |
|
20 |
| - <!-- This list duplicates items below, but without authors or details--> |
| 20 | + <!-- Items in this list summarize one or more items below --> |
21 | 21 |
|
22 | 22 | <itemizedlist>
|
23 | 23 |
|
24 | 24 | <listitem>
|
25 | 25 | <para>
|
26 |
| - To be filled in, but see below for the long version |
| 26 | + Parallel sequential scans, joins and aggregates |
| 27 | + </para> |
| 28 | + </listitem> |
| 29 | + |
| 30 | + <listitem> |
| 31 | + <para> |
| 32 | + Elimination of repetitive scanning of old data by autovacuum |
| 33 | + </para> |
| 34 | + </listitem> |
| 35 | + |
| 36 | + <listitem> |
| 37 | + <para> |
| 38 | + Synchronous replication now allows multiple standby servers for |
| 39 | + increased reliability |
| 40 | + </para> |
| 41 | + </listitem> |
| 42 | + |
| 43 | + <listitem> |
| 44 | + <para> |
| 45 | + Full-text search for phrases |
| 46 | + </para> |
| 47 | + </listitem> |
| 48 | + |
| 49 | + <listitem> |
| 50 | + <para> |
| 51 | + Support for remote joins, sorts, and updates |
| 52 | + in <filename>postgres_fdw</> |
| 53 | + </para> |
| 54 | + </listitem> |
| 55 | + |
| 56 | + <listitem> |
| 57 | + <para> |
| 58 | + Substantial performance improvements, especially in the area of |
| 59 | + improving scalability on many-CPU servers |
27 | 60 | </para>
|
28 | 61 | </listitem>
|
29 | 62 |
|
|
315 | 348 | 2016-04-24 [8f91d87d4] Fix documentation & config inconsistencies around 428b1d
|
316 | 349 | 2016-04-26 [72a98a639] Don't open formally non-existent segments in _mdfd_getse
|
317 | 350 | 2016-05-04 [a71248708] Fix transient mdsync() errors of truncated relations due
|
| 351 | +2016-02-16 [7975c5e0a] Allow the WAL writer to flush WAL at a reduced rate. |
318 | 352 | -->
|
319 | 353 | <para>
|
320 | 354 | Where feasible, trigger kernel writeback after a configurable number
|
|
549 | 583 |
|
550 | 584 | <listitem>
|
551 | 585 | <!--
|
552 |
| -2016-02-16 [7975c5e0a] Allow the WAL writer to flush WAL at a reduced rate. |
553 |
| ---> |
554 |
| - <para> |
555 |
| - Reduce the WAL writer's flush rate to reduce storage bottlenecks |
556 |
| - (Andres Freund) |
557 |
| - </para> |
558 |
| - </listitem> |
559 |
| - |
560 |
| - <listitem> |
561 |
| -<!-- |
562 | 586 | 2016-04-08 [719c84c1b] Extend relations multiple blocks at a time to improve sc
|
563 | 587 | -->
|
564 | 588 | <para>
|
|
567 | 591 | </para>
|
568 | 592 |
|
569 | 593 | <para>
|
570 |
| - This reduces kernel traffic and improves scalability when multiple |
571 |
| - processes are inserting into the same relation. |
| 594 | + This improves scalability by decreasing contention. |
572 | 595 | </para>
|
573 | 596 | </listitem>
|
574 | 597 |
|
575 | 598 | <listitem>
|
576 | 599 | <!--
|
577 | 600 | 2016-04-08 [071180377] Use quicksort, not replacement selection, for external s
|
| 601 | +2016-03-17 [0011c0091] Improve memory management for external sorts. |
578 | 602 | -->
|
579 | 603 | <para>
|
580 | 604 | Improve sorting performance by using quicksort, not replacement
|
581 | 605 | selection, within steps of an external sort (Peter Geoghegan)
|
582 | 606 | </para>
|
583 | 607 |
|
584 | 608 | <para>
|
585 |
| - This behavior can be adjusted via the new configuration |
586 |
| - parameter <xref linkend="guc-replacement-sort-tuples">. |
587 |
| - </para> |
588 |
| - </listitem> |
589 |
| - |
590 |
| - <listitem> |
591 |
| -<!-- |
592 |
| -2016-03-17 [0011c0091] Improve memory management for external sorts. |
593 |
| ---> |
594 |
| - <para> |
595 |
| - Improve memory management for external sorts (Peter Geoghegan) |
| 609 | + The new approach makes better use of CPU cache for typical cache |
| 610 | + sizes and data volumes. Where necessary, the behavior can be |
| 611 | + adjusted via the new configuration |
| 612 | + parameter <xref linkend="guc-replacement-sort-tuples">, |
| 613 | + which see for further details. |
596 | 614 | </para>
|
597 | 615 | </listitem>
|
598 | 616 |
|
|
610 | 628 | <listitem>
|
611 | 629 | <!--
|
612 | 630 | 2015-11-06 [a76ef15d9] Add sort support routine for the UUID data type.
|
| 631 | +2016-02-03 [b47b4dbf6] Extend sortsupport for text to more opclasses. |
| 632 | +2016-02-17 [f1f5ec1ef] Reuse abbreviated keys in ordered [set] aggregates. |
613 | 633 | -->
|
614 | 634 | <para>
|
615 |
| - Speed up sorting of <type>uuid</>-type columns (Peter Geoghegan) |
| 635 | + Speed up sorting of <type>uuid</>, <type>bytea</>, |
| 636 | + and <type>char(n)</> fields by using <quote>abbreviated</> keys |
| 637 | + (Peter Geoghegan) |
616 | 638 | </para>
|
617 |
| - </listitem> |
618 | 639 |
|
619 |
| - <listitem> |
620 |
| -<!-- |
621 |
| -2015-12-16 [b648b7034] Speed up CREATE INDEX CONCURRENTLY's TID sort. |
622 |
| ---> |
623 | 640 | <para>
|
624 |
| - Speed up <command>CREATE INDEX CONCURRENTLY</> by treating TIDs |
625 |
| - as 64-bit integers during the sort phase (Peter Geoghegan) |
| 641 | + Support for abbreviated keys has also been added to the non-default |
| 642 | + operator classes <literal>text_pattern_ops</>, |
| 643 | + <literal>varchar_pattern_ops</>, and <literal>bpchar_pattern_ops</>. |
| 644 | + Processing of ordered-set aggregates can also now exploit |
| 645 | + abbreviated keys. |
626 | 646 | </para>
|
627 | 647 | </listitem>
|
628 | 648 |
|
629 | 649 | <listitem>
|
630 | 650 | <!--
|
631 |
| -2016-02-17 [f1f5ec1ef] Reuse abbreviated keys in ordered [set] aggregates. |
| 651 | +2015-12-16 [b648b7034] Speed up CREATE INDEX CONCURRENTLY's TID sort. |
632 | 652 | -->
|
633 | 653 | <para>
|
634 |
| - Improve performance of ordered-set aggregates by reusing |
635 |
| - abbreviated-key information (Peter Geoghegan) |
| 654 | + Speed up <command>CREATE INDEX CONCURRENTLY</> by treating TIDs |
| 655 | + as 64-bit integers during the sort phase (Peter Geoghegan) |
636 | 656 | </para>
|
637 | 657 | </listitem>
|
638 | 658 |
|
@@ -1179,6 +1199,41 @@ XXX this is pending backpatch, may need to remove
|
1179 | 1199 |
|
1180 | 1200 | <listitem>
|
1181 | 1201 | <!--
|
| 1202 | +2016-04-06 [989be0810] Support multiple synchronous standby servers. |
| 1203 | +2016-04-27 [4c804fbdf] Clean up parsing of synchronous_standby_names GUC variab |
| 1204 | +2016-04-30 [17d5db352] Remove warning about num_sync being too large in synchro |
| 1205 | +--> |
| 1206 | + <para> |
| 1207 | + Support synchronous replication with multiple synchronous standby |
| 1208 | + servers, not just one (Masahiko Sawada, Beena Emerson, Michael |
| 1209 | + Paquier, Fujii Masao, Kyotaro Horiguchi) |
| 1210 | + </para> |
| 1211 | + |
| 1212 | + <para> |
| 1213 | + The number of standby servers that must acknowledge a commit before |
| 1214 | + it's considered done is now configurable. |
| 1215 | + </para> |
| 1216 | + </listitem> |
| 1217 | + |
| 1218 | + <listitem> |
| 1219 | +<!-- |
| 1220 | +2016-03-29 [314cbfc5d] Add new replication mode synchronous_commit = 'remote_ap |
| 1221 | +--> |
| 1222 | + <para> |
| 1223 | + Add new setting <literal>remote_apply</> for configuration parameter |
| 1224 | + <xref linkend="guc-synchronous-commit"> (Thomas Munro) |
| 1225 | + </para> |
| 1226 | + |
| 1227 | + <para> |
| 1228 | + In this mode, the master waits for the transaction to be applied on |
| 1229 | + the standby server, not just written to disk. That means that you |
| 1230 | + can count on a transaction started on the standby to see all commits |
| 1231 | + previously acknowledged by the master. |
| 1232 | + </para> |
| 1233 | + </listitem> |
| 1234 | + |
| 1235 | + <listitem> |
| 1236 | +<!-- |
1182 | 1237 | 2015-08-11 [6fcd88511] Allow pg_create_physical_replication_slot() to reserve W
|
1183 | 1238 | 2015-09-06 [c314ead5b] Add ability to reserve WAL upon slot creation via replic
|
1184 | 1239 | -->
|
@@ -1222,36 +1277,6 @@ XXX this is pending backpatch, may need to remove
|
1222 | 1277 | </para>
|
1223 | 1278 | </listitem>
|
1224 | 1279 |
|
1225 |
| - <listitem> |
1226 |
| -<!-- |
1227 |
| -2016-04-06 [989be0810] Support multiple synchronous standby servers. |
1228 |
| -2016-04-27 [4c804fbdf] Clean up parsing of synchronous_standby_names GUC variab |
1229 |
| -2016-04-30 [17d5db352] Remove warning about num_sync being too large in synchro |
1230 |
| ---> |
1231 |
| - <para> |
1232 |
| - Support synchronous replication with multiple synchronous standby |
1233 |
| - servers, not just one (Sawada Masahiko, Beena Emerson, Michael |
1234 |
| - Paquier, Fujii Masao, Kyotaro Horiguchi) |
1235 |
| - </para> |
1236 |
| - </listitem> |
1237 |
| - |
1238 |
| - <listitem> |
1239 |
| -<!-- |
1240 |
| -2016-03-29 [314cbfc5d] Add new replication mode synchronous_commit = 'remote_ap |
1241 |
| ---> |
1242 |
| - <para> |
1243 |
| - Add new setting <literal>remote_apply</> for configuration parameter |
1244 |
| - <xref linkend="guc-synchronous-commit"> (Thomas Munro) |
1245 |
| - </para> |
1246 |
| - |
1247 |
| - <para> |
1248 |
| - In this mode, the master waits for the transaction to be applied on |
1249 |
| - the standby server, not just written to disk. That means that you |
1250 |
| - can count on a transaction started on the standby to see all commits |
1251 |
| - previously acknowledged by the master. |
1252 |
| - </para> |
1253 |
| - </listitem> |
1254 |
| - |
1255 | 1280 | </itemizedlist>
|
1256 | 1281 |
|
1257 | 1282 | </sect3>
|
@@ -1379,7 +1404,7 @@ XXX this is pending backpatch, may need to remove
|
1379 | 1404 | <para>
|
1380 | 1405 | Add options to <command>ALTER OPERATOR</command> to change the
|
1381 | 1406 | selectivity functions associated with an existing operator
|
1382 |
| - (Uriy Zhuravlev) |
| 1407 | + (Yury Zhuravlev) |
1383 | 1408 | </para>
|
1384 | 1409 | </listitem>
|
1385 | 1410 |
|
@@ -1578,7 +1603,7 @@ XXX this is pending backpatch, may need to remove
|
1578 | 1603 | <para>
|
1579 | 1604 | Allow omitting one or both boundaries in an array slice specifier,
|
1580 | 1605 | for example <literal>array_col[3:]</>
|
1581 |
| - (YUriy Zhuravlev) |
| 1606 | + (Yury Zhuravlev) |
1582 | 1607 | </para>
|
1583 | 1608 |
|
1584 | 1609 | <para>
|
@@ -1637,7 +1662,7 @@ XXX this is pending backpatch, may need to remove
|
1637 | 1662 | 2016-04-07 [bb140506d] Phrase full text search.
|
1638 | 1663 | -->
|
1639 | 1664 | <para>
|
1640 |
| - Improve full text search to support searching for phrases, that is, |
| 1665 | + Improve full-text search to support searching for phrases, that is, |
1641 | 1666 | lexemes appearing adjacent to each other in a specific order, or with
|
1642 | 1667 | at most a specified distance between them
|
1643 | 1668 | (Teodor Sigaev, Oleg Bartunov, Dmitry Ivanov)
|
@@ -1844,7 +1869,7 @@ XXX this is pending backpatch, may need to remove
|
1844 | 1869 | </para>
|
1845 | 1870 |
|
1846 | 1871 | <para>
|
1847 |
| - These are <function>delete()</>, <function>filter()</>, |
| 1872 | + These are <function>ts_delete()</>, <function>ts_filter()</>, |
1848 | 1873 | <function>unnest()</>, <function>tsvector_to_array()</>,
|
1849 | 1874 | <function>array_to_tsvector()</>, and a variant
|
1850 | 1875 | of <function>setweight()</> that sets the weight only for specified
|
@@ -1944,7 +1969,7 @@ XXX this is pending backpatch, may need to remove
|
1944 | 1969 | -->
|
1945 | 1970 | <para>
|
1946 | 1971 | Add <function>pg_size_bytes()</> function to convert human-readable
|
1947 |
| - size strings to numbers (Pavel Stehule, Vitaly Burovoy) |
| 1972 | + size strings to numbers (Pavel Stehule, Vitaly Burovoy, Dean Rasheed) |
1948 | 1973 | </para>
|
1949 | 1974 |
|
1950 | 1975 | <para>
|
@@ -2459,8 +2484,9 @@ This commit is also listed under libpq and PL/pgSQL
|
2459 | 2484 | 2016-05-05 [7a622b273] Rename pgbench min/max to least/greatest, and fix handli
|
2460 | 2485 | -->
|
2461 | 2486 | <para>
|
2462 |
| - Support some <link linkend="pgbench-builtin-functions">built-in |
2463 |
| - functions</> in expressions in backslash commands (Fabien Coelho) |
| 2487 | + Support floating-point arithmetic, as well as |
| 2488 | + some <link linkend="pgbench-builtin-functions">built-in functions</>, |
| 2489 | + in expressions in backslash commands (Fabien Coelho) |
2464 | 2490 | </para>
|
2465 | 2491 | </listitem>
|
2466 | 2492 |
|
@@ -2756,16 +2782,6 @@ This commit is also listed under libpq and PL/pgSQL
|
2756 | 2782 |
|
2757 | 2783 | <listitem>
|
2758 | 2784 | <!--
|
2759 |
| -2016-02-03 [b47b4dbf6] Extend sortsupport for text to more opclasses. |
2760 |
| ---> |
2761 |
| - <para> |
2762 |
| - Generalize the SortSupport for <type>text</> so that it can be |
2763 |
| - used by other types such as <type>bpchar</> (Peter Geoghegan) |
2764 |
| - </para> |
2765 |
| - </listitem> |
2766 |
| - |
2767 |
| - <listitem> |
2768 |
| -<!-- |
2769 | 2785 | 2016-02-04 [c1772ad92] Change the way that LWLocks for extensions are allocated
|
2770 | 2786 | -->
|
2771 | 2787 | <para>
|
@@ -3038,7 +3054,7 @@ This commit is also listed under libpq and PL/pgSQL
|
3038 | 3054 | -->
|
3039 | 3055 | <para>
|
3040 | 3056 | Add selectivity estimation functions for <filename>contrib/intarray</>
|
3041 |
| - operators, to improve plans for queries using those operators (Uriy |
| 3057 | + operators, to improve plans for queries using those operators (Yury |
3042 | 3058 | Zhuravlev, Alexander Korotkov)
|
3043 | 3059 | </para>
|
3044 | 3060 | </listitem>
|
@@ -3189,31 +3205,6 @@ This commit is also listed under libpq and PL/pgSQL
|
3189 | 3205 |
|
3190 | 3206 | <listitem>
|
3191 | 3207 | <!--
|
3192 |
| -2016-01-28 [96198d94c] Avoid multiple foreign server connections when all use s |
3193 |
| ---> |
3194 |
| - <para> |
3195 |
| - Use a single foreign-server connection for local user IDs that all |
3196 |
| - map to the same remote user (Ashutosh Bapat) |
3197 |
| - </para> |
3198 |
| - </listitem> |
3199 |
| - |
3200 |
| - <listitem> |
3201 |
| -<!-- |
3202 |
| -2016-02-03 [dc203dc3a] postgres_fdw: Allow fetch_size to be set per-table or pe |
3203 |
| ---> |
3204 |
| - <para> |
3205 |
| - Allow the fetch size to be set as a server or table option |
3206 |
| - (Corey Huinker) |
3207 |
| - </para> |
3208 |
| - |
3209 |
| - <para> |
3210 |
| - Formerly, <filename>postgres_fdw</> always fetched 100 rows at a time |
3211 |
| - from remote queries; now that behavior is adjustable. |
3212 |
| - </para> |
3213 |
| - </listitem> |
3214 |
| - |
3215 |
| - <listitem> |
3216 |
| -<!-- |
3217 | 3208 | 2015-11-03 [f18c944b6] postgres_fdw: Add ORDER BY to some remote SQL queries.
|
3218 | 3209 | 2015-12-22 [ccd8f9792] postgres_fdw: Consider requesting sorted data so we can
|
3219 | 3210 | -->
|
@@ -3253,6 +3244,31 @@ This commit is also listed under libpq and PL/pgSQL
|
3253 | 3244 |
|
3254 | 3245 | <listitem>
|
3255 | 3246 | <!--
|
| 3247 | +2016-02-03 [dc203dc3a] postgres_fdw: Allow fetch_size to be set per-table or pe |
| 3248 | +--> |
| 3249 | + <para> |
| 3250 | + Allow the fetch size to be set as a server or table option |
| 3251 | + (Corey Huinker) |
| 3252 | + </para> |
| 3253 | + |
| 3254 | + <para> |
| 3255 | + Formerly, <filename>postgres_fdw</> always fetched 100 rows at a time |
| 3256 | + from remote queries; now that behavior is adjustable. |
| 3257 | + </para> |
| 3258 | + </listitem> |
| 3259 | + |
| 3260 | + <listitem> |
| 3261 | +<!-- |
| 3262 | +2016-01-28 [96198d94c] Avoid multiple foreign server connections when all use s |
| 3263 | +--> |
| 3264 | + <para> |
| 3265 | + Use a single foreign-server connection for local user IDs that all |
| 3266 | + map to the same remote user (Ashutosh Bapat) |
| 3267 | + </para> |
| 3268 | + </listitem> |
| 3269 | + |
| 3270 | + <listitem> |
| 3271 | +<!-- |
3256 | 3272 | 2016-04-21 [f039eaac7] Allow queries submitted by postgres_fdw to be canceled.
|
3257 | 3273 | -->
|
3258 | 3274 | <para>
|
|
0 commit comments