|
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