Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
release-16.html1155 linesDownload Raw Back to html
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>E.4. Release 16</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="pgsql-docs@lists.postgresql.org" /><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><link rel="prev" href="release-16-1.html" title="E.3. Release 16.1" /><link rel="next" href="release-prior.html" title="E.5. Prior Releases" /></head><body id="docContent" class="container-fluid col-10"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">E.4. Release 16</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="release-16-1.html" title="E.3. Release 16.1">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="release.html" title="Appendix E. Release Notes">Up</a></td><th width="60%" align="center">Appendix E. Release Notes</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 16.3 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="release-prior.html" title="E.5. Prior Releases">Next</a></td></tr></table><hr /></div><div class="sect1" id="RELEASE-16"><div class="titlepage"><div><div><h2 class="title" style="clear: both">E.4. Release 16 <a href="#RELEASE-16" class="id_link">#</a></h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="sect2"><a href="release-16.html#RELEASE-16-HIGHLIGHTS">E.4.1. Overview</a></span></dt><dt><span class="sect2"><a href="release-16.html#RELEASE-16-MIGRATION">E.4.2. Migration to Version 16</a></span></dt><dt><span class="sect2"><a href="release-16.html#RELEASE-16-CHANGES">E.4.3. Changes</a></span></dt><dt><span class="sect2"><a href="release-16.html#RELEASE-16-ACKNOWLEDGEMENTS">E.4.4. Acknowledgments</a></span></dt></dl></div><p><strong>Release date: </strong>2023-09-14</p><div class="sect2" id="RELEASE-16-HIGHLIGHTS"><div class="titlepage"><div><div><h3 class="title">E.4.1. Overview <a href="#RELEASE-16-HIGHLIGHTS" class="id_link">#</a></h3></div></div></div><p>3    <span class="productname">PostgreSQL</span> 16 contains many new features4    and enhancements, including:5   </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>6      Allow parallelization of <code class="literal">FULL</code> and internal right <code class="literal">OUTER</code> hash joins7     </p></li><li class="listitem"><p>8      Allow logical replication from standby servers9     </p></li><li class="listitem"><p>10      Allow logical replication subscribers to apply large transactions in parallel11     </p></li><li class="listitem"><p>12      Allow monitoring of <acronym class="acronym">I/O</acronym> statistics using the new <code class="structname">pg_stat_io</code> view13     </p></li><li class="listitem"><p>14      Add <acronym class="acronym">SQL/JSON</acronym> constructors and identity functions15     </p></li><li class="listitem"><p>16      Improve performance of vacuum freezing17     </p></li><li class="listitem"><p>18      Add support for regular expression matching of user and database names in <code class="filename">pg_hba.conf</code>, and user names in <code class="filename">pg_ident.conf</code>19     </p></li></ul></div><p>20    The above items and other new features of21    <span class="productname">PostgreSQL</span> 16 are explained in more detail22    in the sections below.23   </p></div><div class="sect2" id="RELEASE-16-MIGRATION"><div class="titlepage"><div><div><h3 class="title">E.4.2. Migration to Version 16 <a href="#RELEASE-16-MIGRATION" class="id_link">#</a></h3></div></div></div><p>24    A dump/restore using <a class="xref" href="app-pg-dumpall.html" title="pg_dumpall"><span class="refentrytitle"><span class="application">pg_dumpall</span></span></a> or use of25    <a class="xref" href="pgupgrade.html" title="pg_upgrade"><span class="refentrytitle"><span class="application">pg_upgrade</span></span></a> or logical replication is required for26    those wishing to migrate data from any previous release.  See <a class="xref" href="upgrading.html" title="19.6. Upgrading a PostgreSQL Cluster">Section 19.6</a> for general information on migrating to new27    major releases.28   </p><p>29    Version 16 contains a number of changes that may affect compatibility30    with previous releases.  Observe the following incompatibilities:31   </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>32      Change assignment rules for <a class="link" href="plpgsql-cursors.html#PLPGSQL-OPEN-BOUND-CURSOR" title="43.7.2.3. Opening a Bound Cursor"><span class="application">PL/pgSQL</span></a>33      bound cursor variables (Tom Lane)34     </p><p>35      Previously, the string value of such variables36      was set to match the variable name during cursor37      assignment;  now it will be assigned during <a class="link" href="plpgsql-cursors.html#PLPGSQL-CURSOR-OPENING" title="43.7.2. Opening Cursors"><code class="command">OPEN</code></a>,38      and will not match the variable name.  To restore the previous39      behavior, assign the desired portal name to the cursor variable40      before <code class="command">OPEN</code>.41     </p></li><li class="listitem"><p>42      Disallow <a class="link" href="sql-createindex.html" title="CREATE INDEX"><code class="literal">NULLS NOT43      DISTINCT</code></a> indexes for primary keys (Daniel44      Gustafsson)45     </p></li><li class="listitem"><p>46      Change <a class="link" href="sql-reindex.html" title="REINDEX"><code class="command">REINDEX47      DATABASE</code></a> and <a class="link" href="app-reindexdb.html" title="reindexdb"><span class="application">reindexdb</span></a>48      to not process indexes on system catalogs (Simon Riggs)49     </p><p>50      Processing such indexes is still possible using <code class="command">REINDEX51      SYSTEM</code> and <a class="link" href="app-reindexdb.html" title="reindexdb"><code class="command">reindexdb52      --system</code></a>.53     </p></li><li class="listitem"><p>54      Tighten <a class="link" href="ddl-generated-columns.html" title="5.3. Generated Columns"><code class="literal">GENERATED</code></a>55      expression restrictions on inherited and partitioned tables (Amit56      Langote, Tom Lane)57     </p><p>58      Columns of parent/partitioned and child/partition tables must all59      have the same generation status, though now the actual generation60      expressions can be different.61     </p></li><li class="listitem"><p>62      Remove <a class="link" href="pgwalinspect.html" title="F.37. pg_walinspect — low-level WAL inspection"><span class="application">pg_walinspect</span></a>63      functions64      <code class="function">pg_get_wal_records_info_till_end_of_wal()</code>65      and <code class="function">pg_get_wal_stats_till_end_of_wal()</code>66      (Bharath Rupireddy)67     </p></li><li class="listitem"><p>68      Rename server variable69      <code class="varname">force_parallel_mode</code> to <a class="link" href="runtime-config-developer.html#GUC-DEBUG-PARALLEL-QUERY"><code class="varname">debug_parallel_query</code></a>70      (David Rowley)71     </p></li><li class="listitem"><p>72      Remove the ability to <a class="link" href="sql-createview.html" title="CREATE VIEW">create73      views</a> manually with <code class="literal">ON SELECT</code> rules74      (Tom Lane)75     </p></li><li class="listitem"><p>76      Remove the server variable77      <code class="varname">vacuum_defer_cleanup_age</code> (Andres Freund)78     </p><p>79      This has been unnecessary since <a class="link" href="runtime-config-replication.html#GUC-HOT-STANDBY-FEEDBACK"><code class="varname">hot_standby_feedback</code></a>80      and <a class="link" href="warm-standby.html#STREAMING-REPLICATION-SLOTS" title="27.2.6. Replication Slots">replication81      slots</a> were added.82     </p></li><li class="listitem"><p>83      Remove server variable <code class="varname">promote_trigger_file</code>84      (Simon Riggs)85     </p><p>86      This was used to promote a standby to primary, but is now more easily87      accomplished with <a class="link" href="app-pg-ctl.html" title="pg_ctl"><code class="literal">pg_ctl88      promote</code></a> or <a class="link" href="functions-admin.html#FUNCTIONS-RECOVERY-CONTROL-TABLE" title="Table 9.93. Recovery Control Functions"><code class="function">pg_promote()</code></a>.89     </p></li><li class="listitem"><p>90      Remove read-only server variables <code class="varname">lc_collate</code>91      and <code class="varname">lc_ctype</code> (Peter Eisentraut)92     </p><p>93      Collations and locales can vary between databases so having them94      as read-only server variables was unhelpful.95     </p></li><li class="listitem"><p>96      Role inheritance now controls the default97      inheritance status of member roles added during <a class="link" href="sql-grant.html" title="GRANT"><code class="command">GRANT</code></a> (Robert Haas)98     </p><p>99      The role's default inheritance behavior can be overridden with the100      new <code class="command">GRANT ... WITH INHERIT</code> clause.  This allows101      inheritance of some roles and not others because the members'102      inheritance status is set at <code class="command">GRANT</code> time.103      Previously the inheritance status of member roles was controlled104      only by the role's inheritance status, and changes to a role's105      inheritance status affected all previous and future member roles.106     </p></li><li class="listitem"><p>107      Restrict the privileges of <a class="link" href="sql-createrole.html" title="CREATE ROLE"><code class="literal">CREATEROLE</code></a>108      and its ability to modify other roles (Robert Haas)109     </p><p>110      Previously roles with <code class="literal">CREATEROLE</code> privileges could111      change many aspects of any non-superuser role.  Such changes,112      including adding members, now require the role requesting113      the change to have <code class="literal">ADMIN OPTION</code> permission.114      For example, they can now change the <code class="literal">CREATEDB</code>,115      <code class="literal">REPLICATION</code>, and <code class="literal">BYPASSRLS</code>116      properties only if they also have those permissions.117     </p></li><li class="listitem"><p>118      Remove symbolic links for the <span class="application">postmaster</span>119      binary (Peter Eisentraut)120     </p></li></ul></div></div><div class="sect2" id="RELEASE-16-CHANGES"><div class="titlepage"><div><div><h3 class="title">E.4.3. Changes <a href="#RELEASE-16-CHANGES" class="id_link">#</a></h3></div></div></div><p>121     Below you will find a detailed account of the changes between122    <span class="productname">PostgreSQL</span> 16 and the previous major123    release.124    </p><div class="sect3" id="RELEASE-16-SERVER"><div class="titlepage"><div><div><h4 class="title">E.4.3.1. Server <a href="#RELEASE-16-SERVER" class="id_link">#</a></h4></div></div></div><div class="sect4" id="RELEASE-16-OPTIMIZER"><div class="titlepage"><div><div><h5 class="title">E.4.3.1.1. Optimizer <a href="#RELEASE-16-OPTIMIZER" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>125        Allow incremental sorts in more cases, including126        <code class="literal">DISTINCT</code> (David Rowley)127       </p></li><li class="listitem"><p>128        Add the ability for aggregates having <code class="literal">ORDER BY</code>129        or <code class="literal">DISTINCT</code> to use pre-sorted data (David130        Rowley)131       </p><p>132        The new server variable <a class="link" href="runtime-config-query.html#GUC-ENABLE-PRESORTED-AGGREGATE"><code class="varname">enable_presorted_aggregate</code></a>133        can be used to disable this.134       </p></li><li class="listitem"><p>135        Allow memoize atop a <code class="literal">UNION ALL</code> (Richard Guo)136       </p></li><li class="listitem"><p>137        Allow anti-joins to be performed with the non-nullable input as138        the inner relation (Richard Guo)139       </p></li><li class="listitem"><p>140        Allow parallelization of <a class="link" href="queries-table-expressions.html#QUERIES-JOIN" title="7.2.1.1. Joined Tables"><code class="literal">FULL</code></a> and internal141        right <code class="literal">OUTER</code> hash joins (Melanie Plageman,142        Thomas Munro)143       </p></li><li class="listitem"><p>144        Improve the accuracy of <a class="link" href="gin.html" title="Chapter 70. GIN Indexes"><code class="literal">GIN</code></a> index access optimizer145        costs (Ronan Dunklau)146       </p></li></ul></div></div><div class="sect4" id="RELEASE-16-PERFORMANCE"><div class="titlepage"><div><div><h5 class="title">E.4.3.1.2. General Performance <a href="#RELEASE-16-PERFORMANCE" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>147        Allow more efficient addition of heap and index pages (Andres148        Freund)149       </p></li><li class="listitem"><p>150        During non-freeze operations, perform page <a class="link" href="routine-vacuuming.html#VACUUM-FOR-WRAPAROUND" title="25.1.5. Preventing Transaction ID Wraparound Failures">freezing</a> where appropriate151        (Peter Geoghegan)152       </p><p>153        This makes full-table freeze vacuums less necessary.154       </p></li><li class="listitem"><p>155        Allow window functions to use the faster <a class="link" href="sql-expressions.html#SYNTAX-WINDOW-FUNCTIONS" title="4.2.8. Window Function Calls"><code class="literal">ROWS</code></a>156        mode internally when <code class="literal">RANGE</code> mode is active but157        unnecessary (David Rowley)158       </p></li><li class="listitem"><p>159        Allow optimization of always-increasing window functions <a class="link" href="functions-window.html#FUNCTIONS-WINDOW-TABLE" title="Table 9.64. General-Purpose Window Functions"><code class="function">ntile()</code></a>,160        <code class="function">cume_dist()</code> and161        <code class="function">percent_rank()</code> (David Rowley)162       </p></li><li class="listitem"><p>163        Allow aggregate functions <a class="link" href="functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE" title="Table 9.59. General-Purpose Aggregate Functions"><code class="function">string_agg()</code></a>164        and <code class="function">array_agg()</code> to be parallelized (David165        Rowley)166       </p></li><li class="listitem"><p>167        Improve performance by caching <a class="link" href="ddl-partitioning.html#DDL-PARTITIONING-OVERVIEW" title="5.11.1. Overview"><code class="literal">RANGE</code></a>168        and <code class="literal">LIST</code> partition lookups (Amit Langote,169        Hou Zhijie, David Rowley)170       </p></li><li class="listitem"><p>171        Allow control of the shared buffer usage by vacuum and analyze172        (Melanie Plageman)173       </p><p>174        The <a class="link" href="sql-vacuum.html" title="VACUUM"><code class="command">VACUUM</code></a>/<a class="link" href="sql-analyze.html" title="ANALYZE"><code class="command">ANALYZE</code></a>175        option is <code class="literal">BUFFER_USAGE_LIMIT</code>, and the <a class="link" href="app-vacuumdb.html" title="vacuumdb"><span class="application">vacuumdb</span></a>176        option is <code class="option">--buffer-usage-limit</code>.177        The default value is set by server variable <a class="link" href="runtime-config-resource.html#GUC-VACUUM-BUFFER-USAGE-LIMIT"><code class="varname">vacuum_buffer_usage_limit</code></a>,178        which also controls autovacuum.179       </p></li><li class="listitem"><p>180        Support <a class="link" href="runtime-config-wal.html#GUC-WAL-SYNC-METHOD"><code class="literal">wal_sync_method=fdatasync</code></a>181        on <span class="systemitem">Windows</span> (Thomas Munro)182       </p></li><li class="listitem"><p>183        Allow <a class="link" href="storage-hot.html" title="73.7. Heap-Only Tuples (HOT)"><acronym class="acronym">HOT</acronym></a>184        updates if only <code class="literal">BRIN</code>-indexed columns are updated185        (Matthias van de Meent, Josef Simanek, Tomas Vondra)186       </p></li><li class="listitem"><p>187        Improve the speed of updating the <a class="link" href="runtime-config-logging.html#GUC-UPDATE-PROCESS-TITLE">process title</a> (David188        Rowley)189       </p></li><li class="listitem"><p>190        Allow <code class="type">xid</code>/<code class="type">subxid</code> searches and191        <acronym class="acronym">ASCII</acronym> string detection to use vector operations192        (Nathan Bossart, John Naylor)193       </p><p>194        <acronym class="acronym">ASCII</acronym> detection is particularly useful for195        <a class="link" href="sql-copy.html" title="COPY"><code class="command">COPY FROM</code></a>.196        Vector operations are also used for some C array searches.197       </p></li><li class="listitem"><p>198        Reduce overhead of memory allocations (Andres Freund, David Rowley)199       </p></li></ul></div></div><div class="sect4" id="RELEASE-16-MONITORING"><div class="titlepage"><div><div><h5 class="title">E.4.3.1.3. Monitoring <a href="#RELEASE-16-MONITORING" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>200        Add system view <a class="link" href="monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW" title="28.2.13. pg_stat_io"><code class="structname">pg_stat_io</code></a>201        view to track <acronym class="acronym">I/O</acronym> statistics (Melanie Plageman)202       </p></li><li class="listitem"><p>203        Record statistics on the last sequential and index scans on tables204        (Dave Page)205       </p><p>206        This information appears in <a class="link" href="monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW" title="Table 28.28. pg_stat_all_tables View"><code class="structname">pg_stat_*_tables</code></a>207        and <a class="link" href="monitoring-stats.html#MONITORING-PG-STAT-ALL-INDEXES-VIEW" title="28.2.19. pg_stat_all_indexes"><code class="structname">pg_stat_*_indexes</code></a>.208       </p></li><li class="listitem"><p>209        Record statistics on the occurrence of updated rows moving to210        new pages (Corey Huinker)211       </p><p>212        The <code class="literal">pg_stat_*_tables</code> column is <a class="link" href="monitoring-stats.html#MONITORING-PG-STAT-ALL-TABLES-VIEW" title="28.2.18. pg_stat_all_tables"><code class="structfield">n_tup_newpage_upd</code></a>.213       </p></li><li class="listitem"><p>214        Add speculative lock information to the <a class="link" href="view-pg-locks.html" title="54.12. pg_locks"><code class="structname">pg_locks</code></a>215        system view (Masahiko Sawada, Noriyoshi Shinoda)216       </p><p>217        The transaction id is displayed in the218        <code class="structfield">transactionid</code> column and219        the speculative insertion token is displayed in the220        <code class="structfield">objid</code> column.221       </p></li><li class="listitem"><p>222        Add the display of prepared statement result types to the <a class="link" href="view-pg-prepared-statements.html" title="54.15. pg_prepared_statements"><code class="structname">pg_prepared_statements</code></a>223        view (Dagfinn Ilmari Mannsåker)224       </p></li><li class="listitem"><p>225        Create subscription statistics226        entries at subscription creation time so <a class="link" href="monitoring-stats.html#PG-STAT-DATABASE-VIEW" title="Table 28.26. pg_stat_database View"><code class="structfield">stats_reset</code></a>227        is accurate (Andres Freund)228       </p><p>229        Previously entries were created only when the first statistics230        were reported.231       </p></li><li class="listitem"><p>232        Correct the <acronym class="acronym">I/O</acronym>233        accounting for temp relation writes shown in <a class="link" href="monitoring-stats.html#PG-STAT-DATABASE-VIEW" title="Table 28.26. pg_stat_database View"><code class="structname">pg_stat_database</code></a>234        (Melanie Plageman)235       </p></li><li class="listitem"><p>236        Add function <a class="link" href="monitoring-stats.html#MONITORING-STATS-BACKEND-FUNCS-TABLE" title="Table 28.36. Per-Backend Statistics Functions"><code class="function">pg_stat_get_backend_subxact()</code></a>237        to report on a session's subtransaction cache (Dilip Kumar)238       </p></li><li class="listitem"><p>239        Have <a class="link" href="monitoring-stats.html#MONITORING-STATS-BACKEND-FUNCS-TABLE" title="Table 28.36. Per-Backend Statistics Functions"><code class="function">pg_stat_get_backend_idset()</code></a>,240        <code class="function">pg_stat_get_backend_activity()</code>, and related241        functions use the unchanging backend id (Nathan Bossart)242       </p><p>243        Previously the index values might change during the lifetime of244        the session.245       </p></li><li class="listitem"><p>246        Report stand-alone backends with a special backend type (Melanie247        Plageman)248       </p></li><li class="listitem"><p>249        Add wait event <a class="link" href="monitoring-stats.html#WAIT-EVENT-TIMEOUT-TABLE" title="Table 28.13. Wait Events of Type Timeout"><code class="literal">SpinDelay</code></a>250        to report spinlock sleep delays (Andres Freund)251       </p></li><li class="listitem"><p>252        Create new wait event <a class="link" href="monitoring-stats.html#WAIT-EVENT-IO-TABLE" title="Table 28.9. Wait Events of Type IO"><code class="literal">DSMAllocate</code></a>253        to indicate waiting for dynamic shared memory allocation (Thomas254        Munro)255       </p><p>256        Previously this type of wait was reported as257        <code class="literal">DSMFillZeroWrite</code>, which was also used by258        <code class="function">mmap()</code> allocations.259       </p></li><li class="listitem"><p>260        Add the database name to the <a class="link" href="runtime-config-logging.html#GUC-UPDATE-PROCESS-TITLE">process title</a> of logical261        <acronym class="acronym">WAL</acronym> senders (Tatsuhiro Nakamori)262       </p><p>263        Physical <acronym class="acronym">WAL</acronym> senders do not display a database264        name.265       </p></li><li class="listitem"><p>266        Add checkpoint and <code class="literal">REDO LSN</code> information to <a class="link" href="runtime-config-logging.html#GUC-LOG-CHECKPOINTS"><code class="varname">log_checkpoints</code></a>267        messages (Bharath Rupireddy, Kyotaro Horiguchi)268       </p></li><li class="listitem"><p>269        Provide additional details during client certificate failures270        (Jacob Champion)271       </p></li></ul></div></div><div class="sect4" id="RELEASE-16-PRIVILEGES"><div class="titlepage"><div><div><h5 class="title">E.4.3.1.4. Privileges <a href="#RELEASE-16-PRIVILEGES" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>272        Add predefined role <a class="link" href="predefined-roles.html" title="22.5. Predefined Roles"><code class="literal">pg_create_subscription</code></a>273        with permission to create subscriptions (Robert Haas)274       </p></li><li class="listitem"><p>275        Allow subscriptions to not require passwords (Robert Haas)276       </p><p>277        This is accomplished with the option <a class="link" href="sql-createsubscription.html" title="CREATE SUBSCRIPTION"><code class="literal">password_required=false</code></a>.278       </p></li><li class="listitem"><p>279        Simplify permissions for <a class="link" href="sql-lock.html" title="LOCK"><code class="command">LOCK280        TABLE</code></a> (Jeff Davis)281       </p><p>282        Previously a user's ability to perform <code class="command">LOCK283        TABLE</code> at various lock levels was limited to the284        lock levels required by the commands they had permission285        to execute on the table.  For example, someone with <a class="link" href="sql-update.html" title="UPDATE"><code class="command">UPDATE</code></a>286        permission could perform all lock levels except <code class="literal">ACCESS287        SHARE</code>, even though it was a lesser lock level.  Now users288        can issue lesser lock levels if they already have permission for289        greater lock levels.290       </p></li><li class="listitem"><p>291        Allow <a class="link" href="sql-altergroup.html" title="ALTER GROUP"><code class="literal">ALTER GROUP group_name292        ADD USER user_name</code></a> to be performed with <code class="literal">ADMIN293        OPTION</code> (Robert Haas)294       </p><p>295        Previously <code class="literal">CREATEROLE</code> permission was required.296       </p></li><li class="listitem"><p>297        Allow <a class="link" href="sql-grant.html" title="GRANT"><code class="command">GRANT</code></a>298        to use <code class="literal">WITH ADMIN TRUE</code>/<code class="literal">FALSE</code>299        syntax (Robert Haas)300       </p><p>301        Previously only the <code class="literal">WITH ADMIN OPTION</code> syntax302        was supported.303       </p></li><li class="listitem"><p>304        Allow roles that create other roles to automatically305        inherit the new role's rights or the ability to <a class="link" href="sql-set-role.html" title="SET ROLE"><code class="command">SET ROLE</code></a> to the306        new role (Robert Haas, Shi Yu)307       </p><p>308        This is controlled by server variable <a class="link" href="runtime-config-client.html#GUC-CREATEROLE-SELF-GRANT"><code class="varname">createrole_self_grant</code></a>.309       </p></li><li class="listitem"><p>310        Prevent users from changing the default privileges of non-inherited311        roles (Robert Haas)312       </p><p>313        This is now only allowed for inherited roles.314       </p></li><li class="listitem"><p>315        When granting role membership, require the granted-by role to be316        a role that has appropriate permissions (Robert Haas)317       </p><p>318        This is a requirement even when a non-bootstrap superuser is319        granting role membership.320       </p></li><li class="listitem"><p>321        Allow non-superusers to grant permissions using a granted-by user322        that is not the current user (Robert Haas)323       </p><p>324        The current user still must have sufficient permissions given by325        the specified granted-by user.326       </p></li><li class="listitem"><p>327        Add <a class="link" href="sql-grant.html" title="GRANT"><code class="command">GRANT</code></a> to328        control permission to use <a class="link" href="sql-set-role.html" title="SET ROLE"><code class="command">SET329        ROLE</code></a> (Robert Haas)330       </p><p>331        This is controlled by a new <code class="literal">GRANT ... SET</code>332        option.333       </p></li><li class="listitem"><p>334        Add dependency tracking to roles which have granted privileges335        (Robert Haas)336       </p><p>337        For example, removing <code class="literal">ADMIN OPTION</code> will fail if338        there are privileges using that option;  <code class="literal">CASCADE</code>339        must be used to revoke dependent permissions.340       </p></li><li class="listitem"><p>341        Add dependency tracking of grantors for <a class="link" href="sql-grant.html" title="GRANT"><code class="command">GRANT</code></a> records342        (Robert Haas)343       </p><p>344        This guarantees that <a class="link" href="catalog-pg-auth-members.html" title="53.9. pg_auth_members"><code class="structname">pg_auth_members</code></a>.<code class="structfield">grantor</code>345        values are always valid.346       </p></li><li class="listitem"><p>347        Allow multiple role membership records (Robert Haas)348       </p><p>349        Previously a new membership grant would remove a previous matching350        membership grant, even if other aspects of the grant did not match.351       </p></li><li class="listitem"><p>352        Prevent removal of superuser privileges for the bootstrap user353        (Robert Haas)354       </p><p>355        Restoring such users could lead to errors.356       </p></li><li class="listitem"><p>357        Allow <a class="link" href="functions-info.html#FUNCTIONS-ACLITEM-FN-TABLE" title="Table 9.70. aclitem Functions"><code class="function">makeaclitem()</code></a>358        to accept multiple privilege names (Robins Tharakan)359       </p><p>360        Previously only a single privilege name, like <a class="link" href="sql-select.html" title="SELECT"><code class="command">SELECT</code></a>, was361        accepted.362       </p></li></ul></div></div><div class="sect4" id="RELEASE-16-SERVER-CONFIG"><div class="titlepage"><div><div><h5 class="title">E.4.3.1.5. Server Configuration <a href="#RELEASE-16-SERVER-CONFIG" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>363        Add support for <span class="productname">Kerberos</span> credential364        delegation (Stephen Frost)365       </p><p>366        This is enabled with server variable <a class="link" href="runtime-config-connection.html#GUC-GSS-ACCEPT-DELEGATION"><code class="varname">gss_accept_delegation</code></a>367        and <span class="application">libpq</span> connection parameter <a class="link" href="libpq-connect.html#LIBPQ-CONNECT-GSSDELEGATION"><code class="literal">gssdelegation</code></a>.368       </p></li><li class="listitem"><p>369        Allow the <acronym class="acronym">SCRAM</acronym> iteration370        count to be set with server variable <a class="link" href="runtime-config-connection.html#GUC-SCRAM-ITERATIONS"><code class="varname">scram_iterations</code></a>371        (Daniel Gustafsson)372       </p></li><li class="listitem"><p>373        Improve performance of server variable management (Tom Lane)374       </p></li><li class="listitem"><p>375        Tighten restrictions on which server variables can be reset376        (Masahiko Sawada)377       </p><p>378        Previously, while certain variables, like <a class="link" href="runtime-config-client.html#GUC-DEFAULT-TRANSACTION-ISOLATION"><code class="varname">transaction_isolation</code></a>,379        were not affected by <a class="link" href="sql-reset.html" title="RESET"><code class="command">RESET380        ALL</code></a>, they could be individually reset in381        inappropriate situations.382       </p></li><li class="listitem"><p>383        Move various <a class="link" href="config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE" title="20.1.2. Parameter Interaction via the Configuration File"><code class="filename">postgresql.conf</code></a>384        items into new categories (Shinya Kato)385       </p><p>386        This also affects the categories displayed in the <a class="link" href="view-pg-settings.html" title="54.24. pg_settings"><code class="structname">pg_settings</code></a>387        view.388       </p></li><li class="listitem"><p>389        Prevent configuration file recursion beyond 10 levels (Julien390        Rouhaud)391       </p></li><li class="listitem"><p>392        Allow <a class="link" href="routine-vacuuming.html#AUTOVACUUM" title="25.1.6. The Autovacuum Daemon">autovacuum</a> to more393        frequently honor changes to delay settings (Melanie Plageman)394       </p><p>395        Rather than honor changes only at the start of each relation,396        honor them at the start of each block.397       </p></li><li class="listitem"><p>398        Remove restrictions that archive files be durably renamed399        (Nathan Bossart)400       </p><p>401        The <a class="link" href="runtime-config-wal.html#GUC-ARCHIVE-COMMAND"><code class="varname">archive_command</code></a>402        command is now more likely to be called with already-archived403        files after a crash.404       </p></li><li class="listitem"><p>405        Prevent <a class="link" href="runtime-config-wal.html#GUC-ARCHIVE-LIBRARY"><code class="varname">archive_library</code></a>406        and <a class="link" href="runtime-config-wal.html#GUC-ARCHIVE-COMMAND"><code class="varname">archive_command</code></a>407        from being set at the same time (Nathan Bossart)408       </p><p>409        Previously <code class="varname">archive_library</code> would override410        <code class="varname">archive_command</code>.411       </p></li><li class="listitem"><p>412        Allow the postmaster to terminate children with an abort signal413        (Tom Lane)414       </p><p>415        This allows collection of a core dump for a416        stuck child process.  This is controlled by <a class="link" href="runtime-config-developer.html#GUC-SEND-ABORT-FOR-CRASH"><code class="varname">send_abort_for_crash</code></a>417        and <a class="link" href="runtime-config-developer.html#GUC-SEND-ABORT-FOR-KILL"><code class="varname">send_abort_for_kill</code></a>.418        The postmaster's <code class="option">-T</code> switch is now the same as419        setting <code class="varname">send_abort_for_crash</code>.420       </p></li><li class="listitem"><p>421        Remove the non-functional postmaster <code class="option">-n</code> option422        (Tom Lane)423       </p></li><li class="listitem"><p>424        Allow the server to reserve backend slots for roles with <a class="link" href="predefined-roles.html" title="22.5. Predefined Roles"><code class="literal">pg_use_reserved_connections</code></a>425        membership (Nathan Bossart)426       </p><p>427        The number of reserved slots is set by server variable <a class="link" href="runtime-config-connection.html#GUC-RESERVED-CONNECTIONS"><code class="varname">reserved_connections</code></a>.428       </p></li><li class="listitem"><p>429        Allow <a class="link" href="runtime-config-resource.html#GUC-HUGE-PAGES">huge pages</a> to430        work on newer versions of <span class="systemitem">Windows431        10</span> (Thomas Munro)432       </p><p>433        This adds the special handling required to enable huge pages434        on newer versions of <span class="systemitem">Windows435        10</span>.436       </p></li><li class="listitem"><p>437        Add <a class="link" href="runtime-config-developer.html#GUC-DEBUG-IO-DIRECT"><code class="varname">debug_io_direct</code></a>438        setting for developer usage (Thomas Munro, Andres Freund,439        Bharath Rupireddy)440       </p><p>441        While primarily for developers, <a class="link" href="runtime-config-wal.html#GUC-WAL-SYNC-METHOD"><code class="literal">wal_sync_method=open_sync</code></a>/<code class="literal">open_datasync</code>442        has been modified to not use direct <acronym class="acronym">I/O</acronym> with443        <code class="literal">wal_level=minimal</code>;  this is now enabled with444        <code class="literal">debug_io_direct=wal</code>.445       </p></li><li class="listitem"><p>446        Add function <a class="link" href="functions-admin.html#FUNCTIONS-ADMIN-BACKUP-TABLE" title="Table 9.91. Backup Control Functions"><code class="function">pg_split_walfile_name()</code></a>447        to report the segment and timeline values of <acronym class="acronym">WAL</acronym>448        file names (Bharath Rupireddy)449       </p></li></ul></div></div><div class="sect4" id="RELEASE-16-PG-HBA"><div class="titlepage"><div><div><h5 class="title">E.4.3.1.6. <a class="link" href="auth-pg-hba-conf.html" title="21.1. The pg_hba.conf File">pg_hba.conf</a> <a href="#RELEASE-16-PG-HBA" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>450        Add support for regular expression matching on database and role451        entries in <code class="filename">pg_hba.conf</code> (Bertrand Drouvot)452       </p><p>453        Regular expression patterns are prefixed with a slash.  Database454        and role names that begin with slashes need to be double-quoted455        if referenced in <code class="filename">pg_hba.conf</code>.456       </p></li><li class="listitem"><p>457        Improve user-column handling of <a class="link" href="runtime-config-file-locations.html" title="20.2. File Locations"><code class="filename">pg_ident.conf</code></a>458        to match <code class="filename">pg_hba.conf</code> (Jelte Fennema)459       </p><p>460        Specifically, add support for <code class="literal">all</code>, role461        membership with <code class="literal">+</code>, and regular expressions462        with a leading slash.  Any user name that matches these patterns463        must be double-quoted.464       </p></li><li class="listitem"><p>465        Allow include files in <code class="filename">pg_hba.conf</code> and466        <code class="filename">pg_ident.conf</code> (Julien Rouhaud)467       </p><p>468        These are controlled by <code class="literal">include</code>,469        <code class="literal">include_if_exists</code>, and470        <code class="literal">include_dir</code>.  System views <a class="link" href="view-pg-hba-file-rules.html" title="54.9. pg_hba_file_rules"><code class="structname">pg_hba_file_rules</code></a>471        and <a class="link" href="view-pg-ident-file-mappings.html" title="54.10. pg_ident_file_mappings"><code class="structname">pg_ident_file_mappings</code></a>472        now display the file name.473       </p></li><li class="listitem"><p>474        Allow <code class="filename">pg_hba.conf</code> tokens to be of unlimited475        length (Tom Lane)476       </p></li><li class="listitem"><p>477        Add rule and map numbers to the system view <a class="link" href="view-pg-hba-file-rules.html" title="54.9. pg_hba_file_rules"><code class="structname">pg_hba_file_rules</code></a>478        (Julien Rouhaud)479       </p></li></ul></div></div><div class="sect4" id="RELEASE-16-LOCALIZATION"><div class="titlepage"><div><div><h5 class="title">E.4.3.1.7. <a class="link" href="charset.html" title="Chapter 24. Localization">Localization</a> <a href="#RELEASE-16-LOCALIZATION" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>480        Determine the default encoding from the locale when using481        <acronym class="acronym">ICU</acronym> (Jeff Davis)482       </p><p>483        Previously the default was always <code class="literal">UTF-8</code>.484       </p></li><li class="listitem"><p>485        Have <a class="link" href="sql-createdatabase.html" title="CREATE DATABASE"><code class="command">CREATE486        DATABASE</code></a> and <a class="link" href="sql-createcollation.html" title="CREATE COLLATION"><code class="command">CREATE487        COLLATION</code></a>'s <code class="literal">LOCALE</code> options, and488        <a class="link" href="app-initdb.html" title="initdb"><span class="application">initdb</span></a>489        and <a class="link" href="app-createdb.html" title="createdb"><span class="application">createdb</span></a>490        <code class="option">--locale</code> options, control491        non-<span class="application">libc</span> collation providers (Jeff492        Davis)493       </p><p>494        Previously they only controlled <span class="application">libc</span>495        providers.496       </p></li><li class="listitem"><p>497        Add predefined collations <code class="literal">unicode</code> and498        <code class="literal">ucs_basic</code> (Peter Eisentraut)499       </p><p>500        This only works if <acronym class="acronym">ICU</acronym> support is enabled.501       </p></li><li class="listitem"><p>502        Allow custom <acronym class="acronym">ICU</acronym> collation rules to be created503        (Peter Eisentraut)504       </p><p>505        This is done using <a class="link" href="sql-createcollation.html" title="CREATE COLLATION"><code class="command">CREATE506        COLLATION</code></a>'s new <code class="literal">RULES</code>507        clause, as well as new options for <a class="link" href="sql-createdatabase.html" title="CREATE DATABASE"><code class="command">CREATE508        DATABASE</code></a>, <a class="link" href="app-createdb.html" title="createdb"><span class="application">createdb</span></a>,509        and <a class="link" href="app-initdb.html" title="initdb"><span class="application">initdb</span></a>.510       </p></li><li class="listitem"><p>511        Allow <span class="systemitem">Windows</span> to import512        system locales automatically (Juan José Santamaría Flecha)513       </p><p>514        Previously, only <acronym class="acronym">ICU</acronym> locales could be imported515        on <span class="systemitem">Windows</span>.516       </p></li></ul></div></div></div><div class="sect3" id="RELEASE-16-LOGICAL"><div class="titlepage"><div><div><h4 class="title">E.4.3.2. <a class="link" href="logical-replication.html" title="Chapter 31. Logical Replication">Logical Replication</a> <a href="#RELEASE-16-LOGICAL" class="id_link">#</a></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>517       Allow <a class="link" href="logicaldecoding.html" title="Chapter 49. Logical Decoding">logical decoding</a>518       on standbys (Bertrand Drouvot, Andres Freund, Amit Khandekar)519      </p><p>520       Snapshot <acronym class="acronym">WAL</acronym> records are521       required for logical slot creation but cannot be522       created on standbys.  To avoid delays, the new function <a class="link" href="functions-admin.html#FUNCTIONS-SNAPSHOT-SYNCHRONIZATION-TABLE" title="Table 9.94. Snapshot Synchronization Functions"><code class="function">pg_log_standby_snapshot()</code></a>523       allows creation of such records.524      </p></li><li class="listitem"><p>525       Add server variable to control how logical decoding publishers526       transfer changes and how subscribers apply them (Shi Yu)527      </p><p>528       The variable is <a class="link" href="runtime-config-developer.html#GUC-DEBUG-LOGICAL-REPLICATION-STREAMING"><code class="varname">debug_logical_replication_streaming</code></a>.529      </p></li><li class="listitem"><p>530       Allow logical replication initial table synchronization to copy531       rows in binary format (Melih Mutlu)532      </p><p>533       This is only possible for subscriptions marked as binary.534      </p></li><li class="listitem"><p>535       Allow parallel application of logical replication (Hou Zhijie,536       Wang Wei, Amit Kapila)537      </p><p>538       The <a class="link" href="sql-createsubscription.html" title="CREATE SUBSCRIPTION"><code class="command">CREATE539       SUBSCRIPTION</code></a> <code class="option">STREAMING</code>540       option now supports <code class="literal">parallel</code> to enable541       application of large transactions by parallel workers.  The number542       of parallel workers is controlled by the new server variable <a class="link" href="runtime-config-replication.html#GUC-MAX-PARALLEL-APPLY-WORKERS-PER-SUBSCRIPTION"><code class="varname">max_parallel_apply_workers_per_subscription</code></a>.543       Wait events <a class="link" href="monitoring-stats.html#WAIT-EVENT-ACTIVITY-TABLE" title="Table 28.5. Wait Events of Type Activity"><code class="literal">LogicalParallelApplyMain</code></a>,544       <code class="literal">LogicalParallelApplyStateChange</code>, and545       <code class="literal">LogicalApplySendData</code> were also added.  Column546       <code class="structfield">leader_pid</code> was added to system view <a class="link" href="monitoring-stats.html#MONITORING-PG-STAT-SUBSCRIPTION" title="28.2.8. pg_stat_subscription"><code class="structname">pg_stat_subscription</code></a>547       to track parallel activity.548      </p></li><li class="listitem"><p>549       Improve performance for <a class="link" href="logical-replication-architecture.html" title="31.7. Architecture">logical replication550       apply</a> without a primary key (Onder Kalaci, Amit Kapila)551      </p><p>552       Specifically, <code class="literal">REPLICA IDENTITY FULL</code> can now553       use btree indexes rather than sequentially scanning the table to554       find matches.555      </p></li><li class="listitem"><p>556       Allow logical replication subscribers to process only changes that557       have no origin (Vignesh C, Amit Kapila)558      </p><p>559       This can be used to avoid replication loops.  This is controlled560       by the new <code class="literal">CREATE SUBSCRIPTION ... ORIGIN</code> option.561      </p></li><li class="listitem"><p>562       Perform logical replication <a class="link" href="sql-select.html" title="SELECT"><code class="command">SELECT</code></a> and563       <acronym class="acronym">DML</acronym> actions as the table owner (Robert Haas)564      </p><p>565       This improves security and now requires subscription566       owners to be either superusers or to have <a class="link" href="sql-set-role.html" title="SET ROLE"><code class="command">SET ROLE</code></a>567       permission on all roles owning tables in the replication set.568       The previous behavior of performing all operations as the569       subscription owner can be enabled with the subscription <a class="link" href="sql-createsubscription.html" title="CREATE SUBSCRIPTION"><code class="option">run_as_owner</code></a>570       option.571      </p></li><li class="listitem"><p>572       Have <a class="link" href="runtime-config-replication.html#GUC-WAL-RETRIEVE-RETRY-INTERVAL"><code class="varname">wal_retrieve_retry_interval</code></a>573       operate on a per-subscription basis (Nathan Bossart)574      </p><p>575       Previously the retry time was applied576       globally.  This also adds wait events <a class="link" href="monitoring-stats.html#WAIT-EVENT-LWLOCK-TABLE" title="Table 28.12. Wait Events of Type LWLock">&gt;<code class="literal">LogicalRepLauncherDSA</code></a>577       and <code class="literal">LogicalRepLauncherHash</code>.578      </p></li></ul></div></div><div class="sect3" id="RELEASE-16-UTILITY"><div class="titlepage"><div><div><h4 class="title">E.4.3.3. Utility Commands <a href="#RELEASE-16-UTILITY" class="id_link">#</a></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>579       Add <a class="link" href="sql-explain.html" title="EXPLAIN"><code class="command">EXPLAIN</code></a>580       option <code class="literal">GENERIC_PLAN</code> to display the generic plan581       for a parameterized query (Laurenz Albe)582      </p></li><li class="listitem"><p>583       Allow a <a class="link" href="sql-copy.html" title="COPY"><code class="command">COPY FROM</code></a>584       value to map to a column's <code class="literal">DEFAULT</code> (Israel585       Barth Rubio)586      </p></li><li class="listitem"><p>587       Allow <a class="link" href="sql-copy.html" title="COPY"><code class="command">COPY</code></a>588       into foreign tables to add rows in batches (Andrey Lepikhov,589       Etsuro Fujita)590      </p><p>591       This is controlled by the <a class="link" href="postgres-fdw.html" title="F.38. postgres_fdw — access data stored in external PostgreSQL servers"><span class="application">postgres_fdw</span></a>592       option <a class="link" href="postgres-fdw.html#POSTGRES-FDW-OPTIONS-COST-ESTIMATION" title="F.38.1.3. Cost Estimation Options"><code class="option">batch_size</code></a>.593      </p></li><li class="listitem"><p>594       Allow the <code class="literal">STORAGE</code> type to be specified by <a class="link" href="sql-createtable.html" title="CREATE TABLE"><code class="command">CREATE TABLE</code></a>595       (Teodor Sigaev, Aleksander Alekseev)596      </p><p>597       Previously only <a class="link" href="sql-altertable.html" title="ALTER TABLE"><code class="command">ALTER598       TABLE</code></a> could control this.599      </p></li><li class="listitem"><p>600       Allow <a class="link" href="sql-createtrigger.html" title="CREATE TRIGGER">truncate triggers</a>601       on foreign tables (Yugo Nagata)602      </p></li><li class="listitem"><p>603       Allow <a class="link" href="sql-vacuum.html" title="VACUUM"><code class="command">VACUUM</code></a> and <a class="link" href="app-vacuumdb.html" title="vacuumdb"><span class="application">vacuumdb</span></a>604       to only process <a class="link" href="storage-toast.html" title="73.2. TOAST"><code class="literal">TOAST</code></a> tables605       (Nathan Bossart)606      </p><p>607       This is accomplished by having <a class="link" href="sql-vacuum.html" title="VACUUM"><code class="command">VACUUM</code></a>608       turn off <code class="literal">PROCESS_MAIN</code> or by <a class="link" href="app-vacuumdb.html" title="vacuumdb"><span class="application">vacuumdb</span></a>609       using the <code class="option">--no-process-main</code> option.610      </p></li><li class="listitem"><p>611       Add <a class="link" href="sql-vacuum.html" title="VACUUM"><code class="command">VACUUM</code></a>612       options to skip or update all <a class="link" href="routine-vacuuming.html#VACUUM-FOR-WRAPAROUND" title="25.1.5. Preventing Transaction ID Wraparound Failures">frozen</a> statistics (Tom Lane,613       Nathan Bossart)614      </p><p>615       The options are <code class="literal">SKIP_DATABASE_STATS</code> and616       <code class="literal">ONLY_DATABASE_STATS</code>.617      </p></li><li class="listitem"><p>618       Change <a class="link" href="sql-reindex.html" title="REINDEX"><code class="command">REINDEX619       DATABASE</code></a> and <a class="link" href="sql-reindex.html" title="REINDEX"><code class="command">REINDEX SYSTEM</code></a>620       to no longer require an argument (Simon Riggs)621      </p><p>622       Previously the database name had to be specified.623      </p></li><li class="listitem"><p>624       Allow <a class="link" href="sql-createstatistics.html" title="CREATE STATISTICS"><code class="command">CREATE625       STATISTICS</code></a> to generate a statistics name if none626       is specified (Simon Riggs)627      </p></li></ul></div></div><div class="sect3" id="RELEASE-16-DATATYPES"><div class="titlepage"><div><div><h4 class="title">E.4.3.4. Data Types <a href="#RELEASE-16-DATATYPES" class="id_link">#</a></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>628       Allow non-decimal <a class="link" href="sql-syntax-lexical.html#SQL-SYNTAX-BIT-STRINGS" title="4.1.2.5. Bit-String Constants">integer629       literals</a> (Peter Eisentraut)630      </p><p>631       For example, <code class="literal">0x42F</code>, <code class="literal">0o273</code>,632       and <code class="literal">0b100101</code>.633      </p></li><li class="listitem"><p>634       Allow <a class="link" href="datatype-numeric.html" title="8.1. Numeric Types"><code class="type">NUMERIC</code></a>635       to process hexadecimal, octal, and binary integers of any size636       (Dean Rasheed)637      </p><p>638       Previously only unquoted eight-byte integers were supported with639       these non-decimal bases.640      </p></li><li class="listitem"><p>641       Allow underscores in integer and numeric <a class="link" href="sql-syntax-lexical.html#SQL-SYNTAX-BIT-STRINGS" title="4.1.2.5. Bit-String Constants">constants</a> (Peter Eisentraut,642       Dean Rasheed)643      </p><p>644       This can improve readability for long strings of digits.645      </p></li><li class="listitem"><p>646       Accept the spelling <code class="literal">+infinity</code> in datetime input647       (Vik Fearing)648      </p></li><li class="listitem"><p>649       Prevent the specification of <code class="literal">epoch</code> and650       <code class="literal">infinity</code> together with other fields in datetime651       strings (Joseph Koshakow)652      </p></li><li class="listitem"><p>653       Remove undocumented support for date input in the form654       <code class="literal">Y<em class="replaceable"><code>year</code></em>M<em class="replaceable"><code>month</code></em>D<em class="replaceable"><code>day</code></em></code>655       (Joseph Koshakow)656      </p></li><li class="listitem"><p>657       Add functions <a class="link" href="functions-info.html#FUNCTIONS-INFO-VALIDITY-TABLE" title="Table 9.79. Data Validity Checking Functions"><code class="function">pg_input_is_valid()</code></a>658       and <code class="function">pg_input_error_info()</code> to check for type659       conversion errors (Tom Lane)660      </p></li></ul></div></div><div class="sect3" id="RELEASE-16-GENERAL"><div class="titlepage"><div><div><h4 class="title">E.4.3.5. General Queries <a href="#RELEASE-16-GENERAL" class="id_link">#</a></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>661       Allow subqueries in the <code class="literal">FROM</code> clause to omit662       aliases (Dean Rasheed)663      </p></li><li class="listitem"><p>664       Add support for enhanced numeric literals in665       <acronym class="acronym">SQL/JSON</acronym> paths (Peter Eisentraut)666      </p><p>667       For example, allow hexadecimal, octal, and binary integers and668       underscores between digits.669      </p></li></ul></div></div><div class="sect3" id="RELEASE-16-FUNCTIONS"><div class="titlepage"><div><div><h4 class="title">E.4.3.6. Functions <a href="#RELEASE-16-FUNCTIONS" class="id_link">#</a></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>670       Add <acronym class="acronym">SQL/JSON</acronym> constructors (Nikita Glukhov,671       Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Amit Langote)672      </p><p>673       The new functions <a class="link" href="functions-json.html#FUNCTIONS-JSON-CREATION-TABLE" title="Table 9.47. JSON Creation Functions"><code class="function">JSON_ARRAY()</code></a>,674       <a class="link" href="functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE" title="Table 9.59. General-Purpose Aggregate Functions"><code class="function">JSON_ARRAYAGG()</code></a>,675       <code class="function">JSON_OBJECT()</code>, and676       <code class="function">JSON_OBJECTAGG()</code> are part of the677       <acronym class="acronym">SQL</acronym> standard.678      </p></li><li class="listitem"><p>679       Add <acronym class="acronym">SQL/JSON</acronym> object checks (Nikita Glukhov,680       Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Amit Langote,681       Andrew Dunstan)682      </p><p>683       The <a class="link" href="functions-json.html#FUNCTIONS-SQLJSON-MISC" title="Table 9.48. SQL/JSON Testing Functions"><code class="literal">IS684       JSON</code></a> checks include checks for values, arrays,685       objects, scalars, and unique keys.686      </p></li><li class="listitem"><p>687       Allow <acronym class="acronym">JSON</acronym> string parsing to use vector688       operations (John Naylor)689      </p></li><li class="listitem"><p>690       Improve the handling of full text highlighting function <a class="link" href="functions-textsearch.html#TEXTSEARCH-FUNCTIONS-TABLE" title="Table 9.43. Text Search Functions"><code class="function">ts_headline()</code></a>691       for <code class="literal">OR</code> and <code class="literal">NOT</code> expressions692       (Tom Lane)693      </p></li><li class="listitem"><p>694       Add functions to add, subtract, and generate695       <code class="type">timestamptz</code> values in a specified time zone (Przemyslaw696       Sztoch, Gurjeet Singh)697      </p><p>698       The functions are <a class="link" href="functions-datetime.html#FUNCTIONS-DATETIME-TABLE" title="Table 9.33. Date/Time Functions"><code class="function">date_add()</code></a>,699       <code class="function">date_subtract()</code>, and <a class="link" href="functions-srf.html#FUNCTIONS-SRF-SERIES" title="Table 9.65. Series Generating Functions"><code class="function">generate_series()</code></a>.700      </p></li><li class="listitem"><p>701       Change <a class="link" href="functions-datetime.html#FUNCTIONS-DATETIME-TABLE" title="Table 9.33. Date/Time Functions"><code class="function">date_trunc(unit,702       timestamptz, time_zone)</code></a> to be an immutable703       function (Przemyslaw Sztoch)704      </p><p>705       This allows the creation of expression indexes using this function.706      </p></li><li class="listitem"><p>707       Add server variable <a class="link" href="functions-info.html#FUNCTIONS-INFO-SESSION-TABLE" title="Table 9.67. Session Information Functions"><code class="literal">SYSTEM_USER</code></a>708       (Bertrand Drouvot)709      </p><p>710       This reports the authentication method and its authenticated user.711      </p></li><li class="listitem"><p>712       Add functions <a class="link" href="functions-array.html#ARRAY-FUNCTIONS-TABLE" title="Table 9.54. Array Functions"><code class="function">array_sample()</code></a>713       and <code class="function">array_shuffle()</code> (Martin Kalcher)714      </p></li><li class="listitem"><p>715       Add aggregate function <a class="link" href="functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE" title="Table 9.59. General-Purpose Aggregate Functions"><code class="function">ANY_VALUE()</code></a>716       which returns any value from a set (Vik Fearing)717      </p></li><li class="listitem"><p>718       Add function <a class="link" href="functions-math.html#FUNCTIONS-MATH-RANDOM-TABLE" title="Table 9.6. Random Functions"><code class="function">random_normal()</code></a>719       to supply normally-distributed random numbers (Paul Ramsey)720      </p></li><li class="listitem"><p>721       Add error function <a class="link" href="functions-math.html#FUNCTIONS-MATH-FUNC-TABLE" title="Table 9.5. Mathematical Functions"><code class="function">erf()</code></a>722       and its complement <code class="function">erfc()</code> (Dean Rasheed)723      </p></li><li class="listitem"><p>724       Improve the accuracy of numeric <a class="link" href="functions-math.html#FUNCTIONS-MATH-FUNC-TABLE" title="Table 9.5. Mathematical Functions"><code class="function">power()</code></a>725       for integer exponents (Dean Rasheed)726      </p></li><li class="listitem"><p>727       Add <a class="link" href="datatype-xml.html#DATATYPE-XML-CREATING" title="8.13.1. Creating XML Values"><code class="function">XMLSERIALIZE()</code></a>728       option <code class="literal">INDENT</code> to pretty-print its output729       (Jim Jones)730      </p></li><li class="listitem"><p>731       Change <a class="link" href="functions-admin.html#FUNCTIONS-ADMIN-COLLATION" title="Table 9.98. Collation Management Functions"><code class="function">pg_collation_actual_version()</code></a>732       to return a reasonable value for the default collation (Jeff Davis)733      </p><p>734       Previously it returned <code class="literal">NULL</code>.735      </p></li><li class="listitem"><p>736       Allow <a class="link" href="functions-admin.html#FUNCTIONS-ADMIN-GENFILE-TABLE" title="Table 9.101. Generic File Access Functions"><code class="function">pg_read_file()</code></a>737       and <code class="function">pg_read_binary_file()</code> to ignore missing738       files (Kyotaro Horiguchi)739      </p></li><li class="listitem"><p>740       Add byte specification (<code class="literal">B</code>) to <a class="link" href="functions-admin.html#FUNCTIONS-ADMIN-DBSIZE" title="Table 9.96. Database Object Size Functions"><code class="function">pg_size_bytes()</code></a>741       (Peter Eisentraut)742      </p></li><li class="listitem"><p>743       Allow <a class="link" href="functions-info.html#FUNCTIONS-INFO-CATALOG-TABLE" title="Table 9.72. System Catalog Information Functions"><code class="function">to_reg</code></a>*744       functions to accept numeric <acronym class="acronym">OID</acronym>s as input745       (Tom Lane)746      </p></li></ul></div></div><div class="sect3" id="RELEASE-16-PLPGSQL"><div class="titlepage"><div><div><h4 class="title">E.4.3.7. <a class="link" href="plpgsql.html" title="Chapter 43. PL/pgSQL — SQL Procedural Language">PL/pgSQL</a> <a href="#RELEASE-16-PLPGSQL" class="id_link">#</a></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>747       Add the ability to get the current function's <acronym class="acronym">OID</acronym>748       in <span class="application">PL/pgSQL</span> (Pavel Stehule)749      </p><p>750       This is accomplished with <a class="link" href="plpgsql-statements.html#PLPGSQL-STATEMENTS-DIAGNOSTICS" title="43.5.5. Obtaining the Result Status"><code class="command">GET DIAGNOSTICS751       variable = PG_ROUTINE_OID</code></a>.752      </p></li></ul></div></div><div class="sect3" id="RELEASE-16-LIBPQ"><div class="titlepage"><div><div><h4 class="title">E.4.3.8. <a class="link" href="libpq.html" title="Chapter 34. libpq — C Library">libpq</a> <a href="#RELEASE-16-LIBPQ" class="id_link">#</a></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>753       Add <span class="application">libpq</span> connection option <a class="link" href="libpq-connect.html#LIBPQ-CONNECT-REQUIRE-AUTH"><code class="option">require_auth</code></a>754       to specify a list of acceptable authentication methods (Jacob755       Champion)756      </p><p>757       This can also be used to disallow certain authentication methods.758      </p></li><li class="listitem"><p>759       Allow multiple <span class="application">libpq</span>-specified hosts760       to be randomly selected (Jelte Fennema)761      </p><p>762       This is enabled with <a class="link" href="libpq-connect.html#LIBPQ-CONNECT-LOAD-BALANCE-HOSTS"><code class="literal">load_balance_hosts=random</code></a>763       and can be used for load balancing.764      </p></li><li class="listitem"><p>765       Add <span class="application">libpq</span> option <a class="link" href="libpq-connect.html#LIBPQ-CONNECT-SSLCERTMODE"><code class="option">sslcertmode</code></a>766       to control transmission of the client certificate (Jacob Champion)767      </p><p>768       The option values are <code class="literal">disable</code>,769       <code class="literal">allow</code>, and <code class="literal">require</code>.770      </p></li><li class="listitem"><p>771       Allow <span class="application">libpq</span> to use the system certificate772       pool for certificate verification (Jacob Champion, Thomas Habets)773      </p><p>774       This is enabled with <a class="link" href="libpq-connect.html#LIBPQ-CONNECT-SSLROOTCERT"><code class="literal">sslrootcert=system</code></a>,775       which also enables <a class="link" href="libpq-connect.html#LIBPQ-CONNECT-SSLMODE"><code class="literal">sslmode=verify-full</code></a>.776      </p></li></ul></div></div><div class="sect3" id="RELEASE-16-CLIENT-APPS"><div class="titlepage"><div><div><h4 class="title">E.4.3.9. Client Applications <a href="#RELEASE-16-CLIENT-APPS" class="id_link">#</a></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>777       Allow <a class="link" href="ecpg.html" title="Chapter 36. ECPG — Embedded SQL in C"><code class="command">ECPG</code></a>778       variable declarations to use typedef names that match unreserved779       <acronym class="acronym">SQL</acronym> keywords (Tom Lane)780      </p><p>781       This change does prevent keywords which match C typedef names from782       being processed as keywords in later <code class="command">EXEC SQL</code>783       blocks.784      </p></li></ul></div><div class="sect4" id="RELEASE-16-PSQL"><div class="titlepage"><div><div><h5 class="title">E.4.3.9.1. <a class="xref" href="app-psql.html" title="psql"><span class="refentrytitle"><span class="application">psql</span></span></a> <a href="#RELEASE-16-PSQL" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>785        Allow <span class="application">psql</span> to control the maximum786        width of header lines in expanded format (Platon Pronko)787       </p><p>788        This is controlled by <a class="link" href="app-psql.html#APP-PSQL-META-COMMAND-PSET-XHEADER-WIDTH"><code class="option">xheader_width</code></a>.789       </p></li><li class="listitem"><p>790        Add <span class="application">psql</span> command <a class="link" href="app-psql.html#APP-PSQL-META-COMMAND-DRG"><code class="command">\drg</code></a>791        to show role membership details (Pavel Luzanov)792       </p><p>793        The <code class="literal">Member of</code> output column has been removed794        from <code class="command">\du</code> and <code class="command">\dg</code> because795        this new command displays this information in more detail.796       </p></li><li class="listitem"><p>797        Allow <span class="application">psql</span>'s access privilege commands798        to show system objects (Nathan Bossart)799       </p><p>800        The options are <a class="link" href="app-psql.html#APP-PSQL-META-COMMAND-DP-LC"><code class="command">\dpS</code></a>801        and <a class="link" href="app-psql.html#APP-PSQL-META-COMMAND-Z"><code class="command">\zS</code></a>.802       </p></li><li class="listitem"><p>803        Add <code class="literal">FOREIGN</code> designation804        to <span class="application">psql</span> <a class="link" href="app-psql.html#APP-PSQL-META-COMMAND-D"><code class="command">\d+</code></a>805        for foreign table children and partitions (Ian Lawrence Barwick)806       </p></li><li class="listitem"><p>807        Prevent <a class="link" href="app-psql.html#APP-PSQL-META-COMMAND-DF-UC"><code class="command">\df+</code></a>808        from showing function source code (Isaac Morland)809       </p><p>810        Function bodies are more easily viewed with <a class="link" href="app-psql.html#APP-PSQL-META-COMMAND-SF"><code class="command">\sf</code></a>.811       </p></li><li class="listitem"><p>812        Allow <span class="application">psql</span> to submit queries using813        the extended query protocol (Peter Eisentraut)814       </p><p>815        Passing arguments to such queries is done816        using the new <span class="application">psql</span> <a class="link" href="app-psql.html#APP-PSQL-META-COMMAND-BIND"><code class="command">\bind</code></a>817        command.818       </p></li><li class="listitem"><p>819        Allow <span class="application">psql</span> <a class="link" href="app-psql.html#APP-PSQL-META-COMMAND-WATCH"><code class="command">\watch</code></a>820        to limit the number of executions (Andrey Borodin)821       </p><p>822        The <code class="command">\watch</code> options can now be named when823        specified.824       </p></li><li class="listitem"><p>825        Detect invalid values for <span class="application">psql</span> <a class="link" href="app-psql.html#APP-PSQL-META-COMMAND-WATCH"><code class="command">\watch</code></a>,826        and allow zero to specify no delay (Andrey Borodin)827       </p></li><li class="listitem"><p>828        Allow <span class="application">psql</span> scripts to obtain the exit829        status of shell commands and queries830       (Corey Huinker, Tom Lane)831       </p><p>832        The new <span class="application">psql</span> control variables are <a class="link" href="app-psql.html#APP-PSQL-VARIABLES-SHELL-ERROR"><code class="literal">SHELL_ERROR</code></a>833        and <a class="link" href="app-psql.html#APP-PSQL-VARIABLES-SHELL-EXIT-CODE"><code class="literal">SHELL_EXIT_CODE</code></a>.834       </p></li><li class="listitem"><p>835        Various <span class="application">psql</span> tab completion improvements836        (Vignesh C, Aleksander Alekseev, Dagfinn Ilmari Mannsåker,837        Shi Yu, Michael Paquier, Ken Kato, Peter Smith)838       </p></li></ul></div></div><div class="sect4" id="RELEASE-16-PGDUMP"><div class="titlepage"><div><div><h5 class="title">E.4.3.9.2. <a class="link" href="app-pgdump.html" title="pg_dump"><span class="application">pg_dump</span></a> <a href="#RELEASE-16-PGDUMP" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>839        Add <span class="application">pg_dump</span> control of dumping child840        tables and partitions (Gilles Darold)841       </p><p>842        The new options are <code class="option">--table-and-children</code>,843        <code class="option">--exclude-table-and-children</code>, and844        <code class="option">--exclude-table-data-and-children</code>.845       </p></li><li class="listitem"><p>846        Add <span class="application">LZ4</span> and847        <span class="application">Zstandard</span> compression to848        <span class="application">pg_dump</span> (Georgios Kokolatos, Justin849        Pryzby)850       </p></li><li class="listitem"><p>851        Allow <span class="application">pg_dump</span> and <a class="link" href="app-pgbasebackup.html" title="pg_basebackup"><span class="application">pg_basebackup</span></a>852        to use <code class="literal">long</code> mode for compression (Justin Pryzby)853       </p></li><li class="listitem"><p>854        Improve <span class="application">pg_dump</span> to accept a more855        consistent compression syntax (Georgios Kokolatos)856       </p><p>857        Options like <code class="option">--compress=gzip:5</code>.858       </p></li></ul></div></div></div><div class="sect3" id="RELEASE-16-SERVER-APPS"><div class="titlepage"><div><div><h4 class="title">E.4.3.10. Server Applications <a href="#RELEASE-16-SERVER-APPS" class="id_link">#</a></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>859       Add <a class="link" href="app-initdb.html" title="initdb"><span class="application">initdb</span></a>860       option to set server variables for the duration of861       <span class="application">initdb</span> and all future server starts862       (Tom Lane)863      </p><p>864       The option is <code class="option">-c name=value</code>.865      </p></li><li class="listitem"><p>866       Add options to <a class="link" href="app-createuser.html" title="createuser"><span class="application">createuser</span></a>867       to control more user options (Shinya Kato)868      </p><p>869       Specifically, the new options control the valid-until date,870       bypassing of row-level security, and role membership.871      </p></li><li class="listitem"><p>872       Deprecate <a class="link" href="app-createuser.html" title="createuser"><span class="application">createuser</span></a>873       option <code class="option">--role</code> (Nathan Bossart)874      </p><p>875       This option could be easily confused with new876       <span class="application">createuser</span> role membership options,877       so option <code class="option">--member-of</code> has been added with the878       same functionality.  The <code class="option">--role</code> option can still879       be used.880      </p></li><li class="listitem"><p>881       Allow control of <a class="link" href="app-vacuumdb.html" title="vacuumdb"><span class="application">vacuumdb</span></a>882       schema processing (Gilles Darold)883      </p><p>884       These are controlled by options <code class="option">--schema</code> and885       <code class="option">--exclude-schema</code>.886      </p></li><li class="listitem"><p>887       Use new <a class="link" href="sql-vacuum.html" title="VACUUM"><code class="command">VACUUM</code></a>888       options to improve the performance of <a class="link" href="app-vacuumdb.html" title="vacuumdb"><span class="application">vacuumdb</span></a>889       (Tom Lane, Nathan Bossart)890      </p></li><li class="listitem"><p>891       Have <a class="link" href="pgupgrade.html" title="pg_upgrade"><span class="application">pg_upgrade</span></a>892       set the new cluster's locale and encoding (Jeff Davis)893      </p><p>894       This removes the requirement that the new cluster be created with895       the same locale and encoding settings.896      </p></li><li class="listitem"><p>897       Add <a class="link" href="pgupgrade.html" title="pg_upgrade"><span class="application">pg_upgrade</span></a>898       option to specify the default transfer mode (Peter Eisentraut)899      </p><p>900       The option is <code class="option">--copy</code>.901      </p></li><li class="listitem"><p>902       Improve <a class="link" href="app-pgbasebackup.html" title="pg_basebackup"><span class="application">pg_basebackup</span></a>903       to accept numeric compression options (Georgios Kokolatos,904       Michael Paquier)905      </p><p>906       Options like <code class="option">--compress=server-5</code> are now supported.907      </p></li><li class="listitem"><p>908       Fix <a class="link" href="app-pgbasebackup.html" title="pg_basebackup"><span class="application">pg_basebackup</span></a>909       to handle tablespaces stored in the <code class="envar">PGDATA</code> directory910       (Robert Haas)911      </p></li><li class="listitem"><p>912       Add <a class="link" href="pgwaldump.html" title="pg_waldump"><span class="application">pg_waldump</span></a>913       option <code class="option">--save-fullpage</code> to dump full page images914       (David Christensen)915      </p></li><li class="listitem"><p>916       Allow <a class="link" href="pgwaldump.html" title="pg_waldump"><span class="application">pg_waldump</span></a>917       options <code class="option">-t</code>/<code class="option">--timeline</code> to accept918       hexadecimal values (Peter Eisentraut)919      </p></li><li class="listitem"><p>920       Add support for progress reporting to <a class="link" href="app-pgverifybackup.html" title="pg_verifybackup"><span class="application">pg_verifybackup</span></a>921       (Masahiko Sawada)922      </p></li><li class="listitem"><p>923       Allow <a class="link" href="app-pgrewind.html" title="pg_rewind"><span class="application">pg_rewind</span></a>924       to properly track timeline changes (Heikki Linnakangas)925      </p><p>926       Previously if <span class="application">pg_rewind</span> was run after927       a timeline switch but before a checkpoint was issued, it might928       incorrectly determine that a rewind was unnecessary.929      </p></li><li class="listitem"><p>930       Have <a class="link" href="app-pgreceivewal.html" title="pg_receivewal"><span class="application">pg_receivewal</span></a>931       and <a class="link" href="app-pgrecvlogical.html" title="pg_recvlogical"><span class="application">pg_recvlogical</span></a>932       cleanly exit on <code class="literal">SIGTERM</code> (Christoph Berg)933      </p><p>934       This signal is often used by <span class="application">systemd</span>.935      </p></li></ul></div></div><div class="sect3" id="RELEASE-16-SOURCE-CODE"><div class="titlepage"><div><div><h4 class="title">E.4.3.11. Source Code <a href="#RELEASE-16-SOURCE-CODE" class="id_link">#</a></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>936       Build <acronym class="acronym">ICU</acronym> support by default (Jeff Davis)937      </p><p>938       This removes <a class="link" href="installation.html" title="Chapter 17. Installation from Source Code">build939       flag</a> <code class="option">--with-icu</code> and adds flag940       <code class="option">--without-icu</code>.941      </p></li><li class="listitem"><p>942       Add support for SSE2 (Streaming <acronym class="acronym">SIMD</acronym> Extensions943       2) vector operations on x86-64 architectures (John Naylor)944      </p></li><li class="listitem"><p>945       Add support for Advanced <acronym class="acronym">SIMD</acronym> (Single946       Instruction Multiple Data) (<acronym class="acronym">NEON</acronym>) instructions947       on <acronym class="acronym">ARM</acronym> architectures (Nathan Bossart)948      </p></li><li class="listitem"><p>949       Have <span class="systemitem">Windows</span>950       binaries built with <span class="productname">MSVC</span> use951       <code class="literal">RandomizedBaseAddress</code> (<acronym class="acronym">ASLR</acronym>)952       (Michael Paquier)953      </p><p>954       This was already enabled on <span class="productname">MinGW</span> builds.955      </p></li><li class="listitem"><p>956       Prevent extension libraries from exporting their symbols by default957       (Andres Freund, Tom Lane)958      </p><p>959       Functions that need to be called from the core backend960       or other extensions must now be explicitly marked961       <code class="literal">PGDLLEXPORT</code>.962      </p></li><li class="listitem"><p>963       Require <span class="systemitem">Windows 10</span> or964       newer versions (Michael Paquier, Juan José Santamaría Flecha)965      </p><p>966       Previously <span class="systemitem">Windows Vista</span> and967       <span class="systemitem">Windows XP</span> were supported.968      </p></li><li class="listitem"><p>969       Require <span class="productname">Perl</span> version 5.14 or later970       (John Naylor)971      </p></li><li class="listitem"><p>972       Require <span class="productname">Bison</span> version 2.3 or later973       (John Naylor)974      </p></li><li class="listitem"><p>975       Require <span class="productname">Flex</span> version 2.5.35 or later976       (John Naylor)977      </p></li><li class="listitem"><p>978       Require <acronym class="acronym">MIT</acronym> Kerberos for979       <acronym class="acronym">GSSAPI</acronym> support (Stephen Frost)980      </p></li><li class="listitem"><p>981       Remove support for <span class="productname">Visual Studio 2013</span>982       (Michael Paquier)983      </p></li><li class="listitem"><p>984       Remove support for <span class="systemitem">HP-UX</span>985       (Thomas Munro)986      </p></li><li class="listitem"><p>987       Remove support for <span class="productname">HP/Intel Itanium</span>988       (Thomas Munro)989      </p></li><li class="listitem"><p>990       Remove support for <span class="productname">M68K</span>,991       <span class="productname">M88K</span>, <span class="productname">M32R</span>,992       and <span class="productname">SuperH</span> <acronym class="acronym">CPU</acronym>993       architectures (Thomas Munro)994      </p></li><li class="listitem"><p>995       Remove <a class="link" href="libpq.html" title="Chapter 34. libpq — C Library"><span class="application">libpq</span></a>996       support for <acronym class="acronym">SCM</acronym> credential authentication997       (Michael Paquier)998      </p><p>999       Backend support for this authentication method was removed in1000       <span class="productname">PostgresSQL</span> 9.1.1001      </p></li><li class="listitem"><p>1002       Add <a class="link" href="install-meson.html" title="17.4. Building and Installation with Meson"><span class="application">meson</span></a>1003       build system (Andres Freund, Nazir Bilal Yavuz, Peter Eisentraut)1004      </p><p>1005       This eventually will replace the <span class="productname">Autoconf</span>1006       and <span class="systemitem">Windows</span>-based1007       <span class="productname">MSVC</span> build systems.1008      </p></li><li class="listitem"><p>1009       Allow control of the location of the1010       <span class="application">openssl</span> binary used by the build system1011       (Peter Eisentraut)1012      </p><p>1013       Make finding <span class="application">openssl</span>1014       program a <span class="application">configure</span> or1015       <span class="application">meson</span> option1016      </p></li><li class="listitem"><p>1017       Add build option to allow testing of small table segment sizes1018       (Andres Freund)1019      </p><p>1020       The build options are <a class="link" href="install-make.html#CONFIGURE-OPTION-WITH-SEGSIZE"><code class="option">--with-segsize-blocks</code></a>1021       and <code class="option">-Dsegsize_blocks</code>.1022      </p></li><li class="listitem"><p>1023       Add <a class="link" href="source.html" title="Chapter 56. PostgreSQL Coding Conventions"><span class="application">pgindent</span></a> options1024       (Andrew Dunstan)1025      </p><p>1026       The new options are <code class="option">--show-diff</code>,1027       <code class="option">--silent-diff</code>, <code class="option">--commit</code>,1028       and <code class="option">--help</code>, and allow multiple1029       <code class="option">--exclude</code> options.  Also require the typedef file1030       to be explicitly specified.  Options <code class="option">--code-base</code>1031       and <code class="option">--build</code> were also removed.1032      </p></li><li class="listitem"><p>1033       Add <a class="link" href="source.html" title="Chapter 56. PostgreSQL Coding Conventions"><span class="application">pg_bsd_indent</span></a>1034       source code to the main tree (Tom Lane)1035      </p></li><li class="listitem"><p>1036       Improve <span class="application">make_ctags</span> and1037       <span class="application">make_etags</span> (Yugo Nagata)1038      </p></li><li class="listitem"><p>1039       Adjust <a class="link" href="catalog-pg-attribute.html" title="53.7. pg_attribute"><code class="structname">pg_attribute</code></a>1040       columns for efficiency (Peter Eisentraut)1041      </p></li></ul></div></div><div class="sect3" id="RELEASE-16-MODULES"><div class="titlepage"><div><div><h4 class="title">E.4.3.12. Additional Modules <a href="#RELEASE-16-MODULES" class="id_link">#</a></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>1042       Improve use of extension-based indexes on boolean columns (Zongliang1043       Quan, Tom Lane)1044      </p></li><li class="listitem"><p>1045       Add support for Daitch-Mokotoff Soundex to <a class="link" href="fuzzystrmatch.html" title="F.17. fuzzystrmatch — determine string similarities and distance"><span class="application">fuzzystrmatch</span></a>1046       (Dag Lem)1047      </p></li><li class="listitem"><p>1048       Allow <a class="link" href="auto-explain.html" title="F.4. auto_explain — log execution plans of slow queries"><span class="application">auto_explain</span></a>1049       to log values passed to parameterized statements (Dagfinn Ilmari1050       Mannsåker)1051      </p><p>1052       This affects queries using server-side <a class="link" href="sql-prepare.html" title="PREPARE"><code class="command">PREPARE</code></a>/<a class="link" href="sql-execute.html" title="EXECUTE"><code class="command">EXECUTE</code></a>1053       and client-side parse/bind.  Logging is controlled by <a class="link" href="auto-explain.html#AUTO-EXPLAIN-CONFIGURATION-PARAMETERS-LOG-PARAMETER-MAX-LENGTH"><code class="literal">auto_explain.log_parameter_max_length</code></a>;1054       by default query parameters will be logged with no length1055       restriction.1056      </p></li><li class="listitem"><p>1057       Have <a class="link" href="auto-explain.html" title="F.4. auto_explain — log execution plans of slow queries"><span class="application">auto_explain</span></a>'s1058       <code class="option">log_verbose</code> mode honor the value of <a class="link" href="runtime-config-statistics.html#GUC-COMPUTE-QUERY-ID"><code class="varname">compute_query_id</code></a>1059       (Atsushi Torikoshi)1060      </p><p>1061       Previously even if1062       <code class="varname">compute_query_id</code> was enabled, <a class="link" href="auto-explain.html#AUTO-EXPLAIN-CONFIGURATION-PARAMETERS-LOG-VERBOSE"><code class="option">log_verbose</code></a>1063       was not showing the query identifier.1064      </p></li><li class="listitem"><p>1065       Change the maximum length of <a class="link" href="ltree.html" title="F.23. ltree — hierarchical tree-like data type"><span class="application">ltree</span></a> labels1066       from 256 to 1000 and allow hyphens (Garen Torikian)1067      </p></li><li class="listitem"><p>1068       Have <a class="link" href="pgstatstatements.html" title="F.32. pg_stat_statements — track statistics of SQL planning and execution"><code class="structname">pg_stat_statements</code></a>1069       normalize constants used in utility commands (Michael Paquier)1070      </p><p>1071       Previously constants appeared instead of placeholders, e.g.,1072       <code class="literal">$1</code>.1073      </p></li><li class="listitem"><p>1074       Add <a class="link" href="pgwalinspect.html" title="F.37. pg_walinspect — low-level WAL inspection"><span class="application">pg_walinspect</span></a>1075       function <a class="link" href="pgwalinspect.html#PGWALINSPECT-FUNCS-PG-GET-WAL-BLOCK-INFO"><code class="function">pg_get_wal_block_info()</code></a>1076       to report <acronym class="acronym">WAL</acronym> block information (Michael Paquier,1077       Melanie Plageman, Bharath Rupireddy)1078      </p></li><li class="listitem"><p>1079       Change how <a class="link" href="pgwalinspect.html" title="F.37. pg_walinspect — low-level WAL inspection"><span class="application">pg_walinspect</span></a>1080       functions <a class="link" href="pgwalinspect.html#PGWALINSPECT-FUNCS-PG-GET-WAL-RECORDS-INFO"><code class="function">pg_get_wal_records_info()</code></a>1081       and <a class="link" href="pgwalinspect.html#PGWALINSPECT-FUNCS-PG-GET-WAL-STATS"><code class="function">pg_get_wal_stats()</code></a>1082       interpret ending <acronym class="acronym">LSN</acronym>s (Bharath Rupireddy)1083      </p><p>1084       Previously ending <acronym class="acronym">LSN</acronym>s which represent1085       nonexistent <acronym class="acronym">WAL</acronym> locations would generate1086       an error, while they will now be interpreted as the end of the1087       <acronym class="acronym">WAL</acronym>.1088      </p></li><li class="listitem"><p>1089       Add detailed descriptions of <acronym class="acronym">WAL</acronym> records in <a class="link" href="pgwalinspect.html" title="F.37. pg_walinspect — low-level WAL inspection"><span class="application">pg_walinspect</span></a>1090       and <a class="link" href="pgwaldump.html" title="pg_waldump"><span class="application">pg_waldump</span></a>1091       (Melanie Plageman, Peter Geoghegan)1092      </p></li><li class="listitem"><p>1093       Add <a class="link" href="pageinspect.html" title="F.25. pageinspect — low-level inspection of database pages"><span class="application">pageinspect</span></a>1094       function <a class="link" href="pageinspect.html#PAGEINSPECT-B-TREE-FUNCS" title="F.25.3. B-Tree Functions"><code class="function">bt_multi_page_stats()</code></a>1095       to report statistics on multiple pages (Hamid Akhtar)1096      </p><p>1097       This is similar to <code class="function">bt_page_stats()</code> except it1098       can report on a range of pages.1099      </p></li><li class="listitem"><p>1100       Add empty range output column to <a class="link" href="pageinspect.html" title="F.25. pageinspect — low-level inspection of database pages"><span class="application">pageinspect</span></a>1101       function <a class="link" href="pageinspect.html#PAGEINSPECT-BRIN-FUNCS" title="F.25.4. BRIN Functions"><code class="function">brin_page_items()</code></a>1102       (Tomas Vondra)1103      </p></li><li class="listitem"><p>1104       Redesign archive modules to be more flexible (Nathan Bossart)1105      </p><p>1106       Initialization changes will require modules written for older1107       versions of Postgres to be updated.1108      </p></li><li class="listitem"><p>1109       Correct inaccurate <a class="link" href="pgstatstatements.html" title="F.32. pg_stat_statements — track statistics of SQL planning and execution"><span class="application">pg_stat_statements</span></a>1110       row tracking extended query protocol statements (Sami Imseih)1111      </p></li><li class="listitem"><p>1112       Add <a class="link" href="pgbuffercache.html" title="F.27. pg_buffercache — inspect PostgreSQL buffer cache state"><span class="application">pg_buffercache</span></a>1113       function <code class="function">pg_buffercache_usage_counts()</code> to1114       report usage totals (Nathan Bossart)1115      </p></li><li class="listitem"><p>1116       Add <a class="link" href="pgbuffercache.html" title="F.27. pg_buffercache — inspect PostgreSQL buffer cache state"><span class="application">pg_buffercache</span></a>1117       function <code class="function">pg_buffercache_summary()</code> to report1118       summarized buffer statistics (Melih Mutlu)1119      </p></li><li class="listitem"><p>1120       Allow the schemas of required extensions to be1121       referenced in extension scripts using the new syntax1122       <code class="literal">@extschema:referenced_extension_name@</code>1123       (Regina Obe)1124      </p></li><li class="listitem"><p>1125       Allow required extensions to1126       be marked as non-relocatable using <a class="link" href="extend-extensions.html#EXTEND-EXTENSIONS-FILES-NO-RELOCATE"><code class="literal">no_relocate</code></a>1127       (Regina Obe)1128      </p><p>1129       This allows <code class="literal">@extschema:referenced_extension_name@</code>1130       to be treated as a constant for the lifetime of the extension.1131      </p></li></ul></div><div class="sect4" id="RELEASE-16-PGFDW"><div class="titlepage"><div><div><h5 class="title">E.4.3.12.1. <a class="link" href="postgres-fdw.html" title="F.38. postgres_fdw — access data stored in external PostgreSQL servers"><span class="application">postgres_fdw</span></a> <a href="#RELEASE-16-PGFDW" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>1132        Allow <span class="application">postgres_fdw</span> to do aborts in1133        parallel (Etsuro Fujita)1134       </p><p>1135        This is enabled with1136        <span class="application">postgres_fdw</span> option <a class="link" href="postgres-fdw.html#POSTGRES-FDW-OPTIONS-TRANSACTION-MANAGEMENT" title="F.38.1.6. Transaction Management Options"><code class="option">parallel_abort</code></a>.1137       </p></li><li class="listitem"><p>1138        Make <a class="link" href="sql-analyze.html" title="ANALYZE"><code class="command">ANALYZE</code></a>1139        on foreign <span class="application">postgres_fdw</span> tables more1140        efficient (Tomas Vondra)1141       </p><p>1142        The <span class="application">postgres_fdw</span> option <a class="link" href="postgres-fdw.html#POSTGRES-FDW-OPTIONS-COST-ESTIMATION" title="F.38.1.3. Cost Estimation Options"><code class="option">analyze_sampling</code></a>1143        controls the sampling method.1144       </p></li><li class="listitem"><p>1145        Restrict shipment of <a class="link" href="datatype-oid.html" title="8.19. Object Identifier Types"><code class="type">reg</code></a>* type constants1146        in <span class="application">postgres_fdw</span> to those referencing1147        built-in objects or extensions marked as shippable (Tom Lane)1148       </p></li><li class="listitem"><p>1149        Have <span class="application">postgres_fdw</span> and <a class="link" href="dblink.html" title="F.12. dblink — connect to other PostgreSQL databases"><span class="application">dblink</span></a> handle1150        interrupts during connection establishment (Andres Freund)1151       </p></li></ul></div></div></div></div><div class="sect2" id="RELEASE-16-ACKNOWLEDGEMENTS"><div class="titlepage"><div><div><h3 class="title">E.4.4. Acknowledgments <a href="#RELEASE-16-ACKNOWLEDGEMENTS" class="id_link">#</a></h3></div></div></div><p>1152    The following individuals (in alphabetical order) have contributed1153    to this release as patch authors, committers, reviewers, testers,1154    or reporters of issues.1155   </p><table border="0" summary="Simple list" class="simplelist"><tr><td>Abhijit Menon-Sen</td></tr><tr><td>Adam Mackler</td></tr><tr><td>Adrian Klaver</td></tr><tr><td>Ahsan Hadi</td></tr><tr><td>Ajin Cherian</td></tr><tr><td>Ajit Awekar</td></tr><tr><td>Alan Hodgson</td></tr><tr><td>Aleksander Alekseev</td></tr><tr><td>Alex Denman</td></tr><tr><td>Alex Kozhemyakin</td></tr><tr><td>Alexander Korolev</td></tr><tr><td>Alexander Korotkov</td></tr><tr><td>Alexander Lakhin</td></tr><tr><td>Alexander Pyhalov</td></tr><tr><td>Alexey Borzov</td></tr><tr><td>Alexey Ermakov</td></tr><tr><td>Alexey Makhmutov</td></tr><tr><td>Álvaro Herrera</td></tr><tr><td>Amit Kapila</td></tr><tr><td>Amit Khandekar</td></tr><tr><td>Amit Langote</td></tr><tr><td>Amul Sul</td></tr><tr><td>Anastasia Lubennikova</td></tr><tr><td>Anban Company</td></tr><tr><td>Andreas Dijkman</td></tr><tr><td>Andreas Karlsson</td></tr><tr><td>Andreas Scherbaum</td></tr><tr><td>Andrei Zubkov</td></tr><tr><td>Andres Freund</td></tr><tr><td>Andrew Alsup</td></tr><tr><td>Andrew Bille</td></tr><tr><td>Andrew Dunstan</td></tr><tr><td>Andrew Gierth</td></tr><tr><td>Andrew Kesper</td></tr><tr><td>Andrey Borodin</td></tr><tr><td>Andrey Lepikhov</td></tr><tr><td>Andrey Sokolov</td></tr><tr><td>Ankit Kumar Pandey</td></tr><tr><td>Ante Kresic</td></tr><tr><td>Anton Melnikov</td></tr><tr><td>Anton Sidyakin</td></tr><tr><td>Anton Voloshin</td></tr><tr><td>Antonin Houska</td></tr><tr><td>Arne Roland</td></tr><tr><td>Artem Anisimov</td></tr><tr><td>Arthur Zakirov</td></tr><tr><td>Ashutosh Bapat</td></tr><tr><td>Ashutosh Sharma</td></tr><tr><td>Asim Praveen</td></tr><tr><td>Atsushi Torikoshi</td></tr><tr><td>Ayaki Tachikake</td></tr><tr><td>Balazs Szilfai</td></tr><tr><td>Benoit Lobréau</td></tr><tr><td>Bernd Helmle</td></tr><tr><td>Bertrand Drouvot</td></tr><tr><td>Bharath Rupireddy</td></tr><tr><td>Bilva Sanaba</td></tr><tr><td>Bob Krier</td></tr><tr><td>Boris Zentner</td></tr><tr><td>Brad Nicholson</td></tr><tr><td>Brar Piening</td></tr><tr><td>Bruce Momjian</td></tr><tr><td>Bruno da Silva</td></tr><tr><td>Carl Sopchak</td></tr><tr><td>Cary Huang</td></tr><tr><td>Changhong Fei</td></tr><tr><td>Chris Travers</td></tr><tr><td>Christoph Berg</td></tr><tr><td>Christophe Pettus</td></tr><tr><td>Corey Huinker</td></tr><tr><td>Craig Ringer</td></tr><tr><td>Curt Kolovson</td></tr><tr><td>Dag Lem</td></tr><tr><td>Dagfinn Ilmari Mannsåker</td></tr><tr><td>Daniel Gustafsson</td></tr><tr><td>Daniel Vérité</td></tr><tr><td>Daniel Watzinger</td></tr><tr><td>Daniel Westermann</td></tr><tr><td>Daniele Varrazzo</td></tr><tr><td>Daniil Anisimov</td></tr><tr><td>Danny Shemesh</td></tr><tr><td>Dave Page</td></tr><tr><td>David Christensen</td></tr><tr><td>David G. Johnston</td></tr><tr><td>David Geier</td></tr><tr><td>David Gilman</td></tr><tr><td>David Kimura</td></tr><tr><td>David Rowley</td></tr><tr><td>David Steele</td></tr><tr><td>David Turon</td></tr><tr><td>David Zhang</td></tr><tr><td>Davinder Singh</td></tr><tr><td>Dean Rasheed</td></tr><tr><td>Denis Laxalde</td></tr><tr><td>Dilip Kumar</td></tr><tr><td>Dimos Stamatakis</td></tr><tr><td>Dmitriy Kuzmin</td></tr><tr><td>Dmitry Astapov</td></tr><tr><td>Dmitry Dolgov</td></tr><tr><td>Dmitry Koval</td></tr><tr><td>Dong Wook Lee</td></tr><tr><td>Dongming Liu</td></tr><tr><td>Drew DeVault</td></tr><tr><td>Duncan Sands</td></tr><tr><td>Ed Maste</td></tr><tr><td>Egor Chindyaskin</td></tr><tr><td>Ekaterina Kiryanova</td></tr><tr><td>Elena Indrupskaya</td></tr><tr><td>Emmanuel Quincerot</td></tr><tr><td>Eric Mutta</td></tr><tr><td>Erik Rijkers</td></tr><tr><td>Erki Eessaar</td></tr><tr><td>Erwin Brandstetter</td></tr><tr><td>Etsuro Fujita</td></tr><tr><td>Eugeny Zhuzhnev</td></tr><tr><td>Euler Taveira</td></tr><tr><td>Evan Jones</td></tr><tr><td>Evgeny Morozov</td></tr><tr><td>Fabrízio de Royes Mello</td></tr><tr><td>Farias de Oliveira</td></tr><tr><td>Florin Irion</td></tr><tr><td>Franz-Josef Färber</td></tr><tr><td>Garen Torikian</td></tr><tr><td>Georgios Kokolatos</td></tr><tr><td>Gilles Darold</td></tr><tr><td>Greg Stark</td></tr><tr><td>Guillaume Lelarge</td></tr><tr><td>Gunnar Bluth</td></tr><tr><td>Gunnar Morling</td></tr><tr><td>Gurjeet Singh</td></tr><tr><td>Haiyang Wang</td></tr><tr><td>Haiying Tang</td></tr><tr><td>Hamid Akhtar</td></tr><tr><td>Hans Buschmann</td></tr><tr><td>Hao Wu</td></tr><tr><td>Hayato Kuroda</td></tr><tr><td>Heath Lord</td></tr><tr><td>Heikki Linnakangas</td></tr><tr><td>Himanshu Upadhyaya</td></tr><tr><td>Hisahiro Kauchi</td></tr><tr><td>Hongyu Song</td></tr><tr><td>Hubert Lubaczewski</td></tr><tr><td>Hung Nguyen</td></tr><tr><td>Ian Barwick</td></tr><tr><td>Ibrar Ahmed</td></tr><tr><td>Ilya Gladyshev</td></tr><tr><td>Ilya Nenashev</td></tr><tr><td>Isaac Morland</td></tr><tr><td>Israel Barth Rubio</td></tr><tr><td>Jacob Champion</td></tr><tr><td>Jacob Speidel</td></tr><tr><td>Jaime Casanova</td></tr><tr><td>Jakub Wartak</td></tr><tr><td>James Coleman</td></tr><tr><td>James Inform</td></tr><tr><td>James Vanns</td></tr><tr><td>Jan Wieck</td></tr><tr><td>Japin Li</td></tr><tr><td>Jeevan Ladhe</td></tr><tr><td>Jeff Davis</td></tr><tr><td>Jeff Janes</td></tr><tr><td>Jehan-Guillaume de Rorthais</td></tr><tr><td>Jelte Fennema</td></tr><tr><td>Jian He</td></tr><tr><td>Jim Jones</td></tr><tr><td>Jinbao Chen</td></tr><tr><td>Joe Conway</td></tr><tr><td>Joel Jacobson</td></tr><tr><td>John Naylor</td></tr><tr><td>Jonathan Katz</td></tr><tr><td>Josef Simanek</td></tr><tr><td>Joseph Koshakow</td></tr><tr><td>Juan José Santamaría Flecha</td></tr><tr><td>Julien Rouhaud</td></tr><tr><td>Julien Roze</td></tr><tr><td>Junwang Zhao</td></tr><tr><td>Justin Pryzby</td></tr><tr><td>Justin Zhang</td></tr><tr><td>Karina Litskevich</td></tr><tr><td>Karl O. Pinc</td></tr><tr><td>Keisuke Kuroda</td></tr><tr><td>Ken Kato</td></tr><tr><td>Kevin McKibbin</td></tr><tr><td>Kieran McCusker</td></tr><tr><td>Kirk Wolak</td></tr><tr><td>Konstantin Knizhnik</td></tr><tr><td>Koshi Shibagaki</td></tr><tr><td>Kotaro Kawamoto</td></tr><tr><td>Kui Liu</td></tr><tr><td>Kyotaro Horiguchi</td></tr><tr><td>Lakshmi Narayanan Sreethar</td></tr><tr><td>Laurence Parry</td></tr><tr><td>Laurenz Albe</td></tr><tr><td>Luca Ferrari</td></tr><tr><td>Lukas Fittl</td></tr><tr><td>Maciek Sakrejda</td></tr><tr><td>Magnus Hagander</td></tr><tr><td>Maja Zaloznik</td></tr><tr><td>Marcel Hofstetter</td></tr><tr><td>Marina Polyakova</td></tr><tr><td>Mark Dilger</td></tr><tr><td>Marko Tiikkaja</td></tr><tr><td>Markus Winand</td></tr><tr><td>Martijn van Oosterhout</td></tr><tr><td>Martin Jurca</td></tr><tr><td>Martin Kalcher</td></tr><tr><td>Mary Xu</td></tr><tr><td>Masahiko Sawada</td></tr><tr><td>Masahiro Ikeda</td></tr><tr><td>Masao Fujii</td></tr><tr><td>Mason Sharp</td></tr><tr><td>Matheus Alcantara</td></tr><tr><td>Mats Kindahl</td></tr><tr><td>Matthias van de Meent</td></tr><tr><td>Matthijs van der Vleuten</td></tr><tr><td>Maxim Orlov</td></tr><tr><td>Maxim Yablokov</td></tr><tr><td>Mehmet Emin Karakas</td></tr><tr><td>Melanie Plageman</td></tr><tr><td>Melih Mutlu</td></tr><tr><td>Micah Gates</td></tr><tr><td>Michael Banck</td></tr><tr><td>Michael Paquier</td></tr><tr><td>Michail Nikolaev</td></tr><tr><td>Michel Pelletier</td></tr><tr><td>Mike Oh</td></tr><tr><td>Mikhail Gribkov</td></tr><tr><td>Mingli Zhang</td></tr><tr><td>Miroslav Bendik</td></tr><tr><td>Mitsuru Hinata</td></tr><tr><td>Myo Wai Thant</td></tr><tr><td>Naeem Akhter</td></tr><tr><td>Naoki Okano</td></tr><tr><td>Nathan Bossart</td></tr><tr><td>Nazir Bilal Yavuz</td></tr><tr><td>Neha Sharma</td></tr><tr><td>Nick Babadzhanian</td></tr><tr><td>Nicola Contu</td></tr><tr><td>Nikhil Shetty</td></tr><tr><td>Nikita Glukhov</td></tr><tr><td>Nikolay Samokhvalov</td></tr><tr><td>Nikolay Shaplov</td></tr><tr><td>Nishant Sharma</td></tr><tr><td>Nitin Jadhav</td></tr><tr><td>Noah Misch</td></tr><tr><td>Noboru Saito</td></tr><tr><td>Noriyoshi Shinoda</td></tr><tr><td>Nuko Yokohama</td></tr><tr><td>Oleg Bartunov</td></tr><tr><td>Oleg Tselebrovskiy</td></tr><tr><td>Olly Betts</td></tr><tr><td>Onder Kalaci</td></tr><tr><td>Onur Tirtir</td></tr><tr><td>Pablo Federico</td></tr><tr><td>Palle Girgensohn</td></tr><tr><td>Paul Guo</td></tr><tr><td>Paul Jungwirth</td></tr><tr><td>Paul Ramsey</td></tr><tr><td>Pavel Borisov</td></tr><tr><td>Pavel Kulakov</td></tr><tr><td>Pavel Luzanov</td></tr><tr><td>Pavel Stehule</td></tr><tr><td>Peifeng Qiu</td></tr><tr><td>Peter Eisentraut</td></tr><tr><td>Peter Geoghegan</td></tr><tr><td>Peter Smith</td></tr><tr><td>Phil Florent</td></tr><tr><td>Philippe Godfrin</td></tr><tr><td>Platon Pronko</td></tr><tr><td>Przemyslaw Sztoch</td></tr><tr><td>Rachel Heaton</td></tr><tr><td>Ranier Vilela</td></tr><tr><td>Regina Obe</td></tr><tr><td>Reid Thompson</td></tr><tr><td>Reiner Peterke</td></tr><tr><td>Richard Guo</td></tr><tr><td>Riivo Kolka</td></tr><tr><td>Rishu Bagga</td></tr><tr><td>Robert Haas</td></tr><tr><td>Robert Sjöblom</td></tr><tr><td>Robert Treat</td></tr><tr><td>Roberto Mello</td></tr><tr><td>Robins Tharakan</td></tr><tr><td>Roman Zharkov</td></tr><tr><td>Ronan Dunklau</td></tr><tr><td>Rushabh Lathia</td></tr><tr><td>Ryo Matsumura</td></tr><tr><td>Samay Sharma</td></tr><tr><td>Sami Imseih</td></tr><tr><td>Sandeep Thakkar</td></tr><tr><td>Sandro Santilli</td></tr><tr><td>Sebastien Flaesch</td></tr><tr><td>Sébastien Lardière</td></tr><tr><td>Sehrope Sarkuni</td></tr><tr><td>Sergey Belyashov</td></tr><tr><td>Sergey Pankov</td></tr><tr><td>Sergey Shinderuk</td></tr><tr><td>Shi Yu</td></tr><tr><td>Shinya Kato</td></tr><tr><td>Sho Kato</td></tr><tr><td>Shruthi Gowda</td></tr><tr><td>Shveta Mallik</td></tr><tr><td>Simon Riggs</td></tr><tr><td>Sindy Senorita</td></tr><tr><td>Sirisha Chamarthi</td></tr><tr><td>Sravan Kumar</td></tr><tr><td>Stéphane Tachoires</td></tr><tr><td>Stephen Frost</td></tr><tr><td>Steve Chavez</td></tr><tr><td>Stone Tickle</td></tr><tr><td>Sven Klemm</td></tr><tr><td>Takamichi Osumi</td></tr><tr><td>Takeshi Ideriha</td></tr><tr><td>Tatsuhiro Nakamori</td></tr><tr><td>Tatsuo Ishii</td></tr><tr><td>Teja Mupparti</td></tr><tr><td>Tender Wang</td></tr><tr><td>Teodor Sigaev</td></tr><tr><td>Thiago Nunes</td></tr><tr><td>Thom Brown</td></tr><tr><td>Thomas Habets</td></tr><tr><td>Thomas Mc Kay</td></tr><tr><td>Thomas Munro</td></tr><tr><td>Tim Carey-Smith</td></tr><tr><td>Tim Field</td></tr><tr><td>Timo Stolz</td></tr><tr><td>Tom Lane</td></tr><tr><td>Tomas Vondra</td></tr><tr><td>Tor Erik Linnerud</td></tr><tr><td>Torsten Förtsch</td></tr><tr><td>Tristan Partin</td></tr><tr><td>Troy Frericks</td></tr><tr><td>Tushar Ahuja</td></tr><tr><td>Valerie Woolard</td></tr><tr><td>Vibhor Kumar</td></tr><tr><td>Victor Spirin</td></tr><tr><td>Victoria Shepard</td></tr><tr><td>Vignesh C</td></tr><tr><td>Vik Fearing</td></tr><tr><td>Vitaly Burovoy</td></tr><tr><td>Vitaly Davydov</td></tr><tr><td>Wang Wei</td></tr><tr><td>Wenjing Zeng</td></tr><tr><td>Whale Song</td></tr><tr><td>Will Mortensen</td></tr><tr><td>Wolfgang Walther</td></tr><tr><td>Xin Wen</td></tr><tr><td>Xing Guo</td></tr><tr><td>Xingwang Xu</td></tr><tr><td>XueJing Zhao</td></tr><tr><td>Yanliang Lei</td></tr><tr><td>Youmiu Mo</td></tr><tr><td>Yugo Nagata</td></tr><tr><td>Yura Sokolov</td></tr><tr><td>Yuta Katsuragi</td></tr><tr><td>Zhen Mingyang</td></tr><tr><td>Zheng Li</td></tr><tr><td>Zhihong Yu</td></tr><tr><td>Zhijie Hou</td></tr><tr><td>Zongliang Quan</td></tr><tr><td>Zuming Jiang</td></tr></table></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="release-16-1.html" title="E.3. Release 16.1">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="release.html" title="Appendix E. Release Notes">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="release-prior.html" title="E.5. Prior Releases">Next</a></td></tr><tr><td width="40%" align="left" valign="top">E.3. Release 16.1 </td><td width="20%" align="center"><a accesskey="h" href="index.html" title="PostgreSQL 16.3 Documentation">Home</a></td><td width="40%" align="right" valign="top"> E.5. Prior Releases</td></tr></table></div></body></html>
codekingpro/portable-devtools · Team Ai