PostgreSQL news/PostgreSQL newsen-usThu, 20 Feb 2025 00:00:00 +0000PostgreSQL 17.4, 16.8, 15.12, 14.17, and 13.20 Released! /about/news/postgresql-174-168-1512-1417-and-1320-released-3018/ <p>The PostgreSQL Global Development Group has released an update to all supported versions of PostgreSQL, including 17.4, 16.8, 15.12, 14.17, and 13.20.</p> <p>For the full list of changes, please review the <a href="/docs/release/">release notes</a>.</p> <h2>Bug Fixes and Improvements</h2> <p>The issues listed below affect PostgreSQL 17. Some of these issues may also affect other supported versions of PostgreSQL.</p> <ul> <li>Improve behavior of quoting functions in <a href="/docs/current/libpq.html"><code>libpq</code></a>. The fix for <a href="/support/security/CVE-2025-1094/">CVE-2025-1094</a> caused the quoting functions to not honor their string length parameters and, in some cases, cause crashes. This problem could be noticeable from a PostgreSQL client library, based on how it is integrated with <code>libpq</code>.</li> <li>Fix small memory leak in <a href="/docs/current/app-pgcreatesubscriber.html"><code>pg_createsubscriber</code></a>.</li> </ul> <h2>Updating</h2> <p>All PostgreSQL update releases are cumulative. As with other minor releases, users are not required to dump and reload their database or use <code>pg_upgrade</code> in order to apply this update release; you may simply shutdown PostgreSQL and update its binaries.</p> <p>Users who have skipped one or more update releases may need to run additional post-update steps; please see the release notes from earlier versions for details.</p> <p>For more details, please see the <a href="/docs/release/">release notes</a>.</p> <h2>Links</h2> <ul> <li><a href="/download/">Download</a></li> <li><a href="/docs/release/">Release Notes</a></li> <li><a href="/support/security/">Security</a></li> <li><a href="/support/versioning/">Versioning Policy</a></li> <li><a href="/about/donate/">Donate</a></li> </ul> <p>If you have corrections or suggestions for this release announcement, please send them to the <em>pgsql-www@lists.postgresql.org</em> public <a href="/list/">mailing list</a>.</p> Thu, 20 Feb 2025 00:00:00 +0000/about/news/postgresql-174-168-1512-1417-and-1320-released-3018/Out-of-cycle release scheduled for February 20, 2025 /about/news/out-of-cycle-release-scheduled-for-february-20-2025-3016/ <p>The <a href="/">PostgreSQL</a> Global Development Group is planning for an out-of-cycle release on February 20, 2025 to address a regression that was released as part of the <a href="/about/news/postgresql-173-167-1511-1416-and-1319-released-3015/">February 13, 2025 update release</a>, which included release <a href="/about/news/postgresql-173-167-1511-1416-and-1319-released-3015/">17.3, 16.7, 15.11, 14.16, and 13.19</a>. As part of this release, we will issue fixes for all supported versions (17.4, 16.8, 15.12, 14.17, 13.20). While these fixes may not impact all PostgreSQL users, PostgreSQL Global Development Group determined that it would be better to address these sooner than the <a href="/developer/roadmap/">next scheduled release on May 8, 2025</a>.</p> <p>The fix for <a href="/support/security/CVE-2025-1094/">CVE-2025-1094</a>, which closed a vulnerability in the <a href="/docs/current/libpq.html">libpq</a> PostgreSQL client library, introduced a regression related to string handling for non-null terminated strings. The error would be visible based on how a PostgreSQL client implemented this behavior, and may not impact <a href="https://wiki.postgresql.org/wiki/List_of_drivers">all PostgreSQL drivers</a>. As a precaution, the PostgreSQL Global Development Group opted for a follow up release.</p> <p>If you are impacted by this issue, we advise to consider waiting for the availability of 17.4, 16.8, 15.12, 14.17, and 13.20 before upgrading.</p> Fri, 14 Feb 2025 00:00:00 +0000/about/news/out-of-cycle-release-scheduled-for-february-20-2025-3016/PostgreSQL 17.3, 16.7, 15.11, 14.16, and 13.19 Released! /about/news/postgresql-173-167-1511-1416-and-1319-released-3015/ <p>The PostgreSQL Global Development Group has released an update to all supported versions of PostgreSQL, including 17.3, 16.7, 15.11, 14.16, and 13.19. This release fixes 1 security vulnerability and over 70 bugs reported over the last several months.</p> <p>For the full list of changes, please review the <a href="/docs/release/">release notes</a>.</p> <h2>Security Issues</h2> <h3><a href="/support/security/CVE-2025-1094/">CVE-2025-1094</a>: PostgreSQL quoting APIs miss neutralizing quoting syntax in text that fails encoding validation</h3> <p>CVSS v3.1 Base Score: <a href="https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?version=3.1&amp;vector=AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H">8.1</a></p> <p>Supported, Vulnerable Versions: 13 - 17. </p> <p>Improper neutralization of quoting syntax in PostgreSQL <a href="/docs/current/libpq.html"><code>libpq</code></a> functions <code>PQescapeLiteral()</code>, <code>PQescapeIdentifier()</code>, <code>PQescapeString()</code>, and <code>PQescapeStringConn()</code> allows a database input provider to achieve SQL injection in certain usage patterns. Specifically, SQL injection requires the application to use the function result to construct input to psql, the PostgreSQL interactive terminal. Similarly, improper neutralization of quoting syntax in PostgreSQL command line utility programs allows a source of command line arguments to achieve SQL injection when <a href="/docs/current/runtime-config-client.html#GUC-CLIENT-ENCODING"><code>client_encoding</code></a> is <code>BIG5</code> and <a href="/docs/current/runtime-config-preset.html#GUC-SERVER-ENCODING"><code>server_encoding</code></a> is one of <code>EUC_TW</code> or <code>MULE_INTERNAL</code>. Versions before PostgreSQL 17.3, 16.7, 15.11, 14.16, and 13.19 are affected.</p> <p>The PostgreSQL project thanks Stephen Fewer, Principal Security Researcher, Rapid7 for reporting this problem.</p> <h2>Bug Fixes and Improvements</h2> <p>This update fixes over 70 bugs that were reported in the last several months. The issues listed below affect PostgreSQL 17. Some of these issues may also affect other supported versions of PostgreSQL.</p> <ul> <li>Restore pre-v17 truncation behavior for &gt;63-byte database names and usernames in connection requests.</li> <li>Don't perform connection privilege checks and limits on parallel workers, and instead inherit these from the leader process.</li> <li>Remove <code>Lock</code> suffix from <code>LWLock</code> wait event names. </li> <li>Fix possible re-use of stale results in window aggregates, which could lead to incorrect results.</li> <li>Several race condition fixes for <a href="/docs/current/sql-vacuum.html">vacuum</a> that in the worst case could cause corruption to a system catalog.</li> <li>Several fixes for <a href="/docs/current/sql-truncate.html">truncating</a> tables and indexes that prevent potential corruption.</li> <li>Fix for detaching a partition where its own foreign-key constraint references a partitioned table.</li> <li>Fix for the <code>FFn</code> (e.g., <code>FF1</code>) format codes for <code>to_timestamp</code>, where an integer format code before the <code>FFn</code> would consume all available digits.</li> <li>Fixes for SQL/JSON and <code>XMLTABLE()</code> to double-quote specific entries when necessary.</li> <li>Include the <code>ldapscheme</code> option in <a href="/docs/current/view-pg-hba-file-rules.html"><code>pg_hba_file_rules()</code></a>.</li> <li>Several fixes for <a href="/docs/current/queries-union.html"><code>UNION</code></a>, including not merging columns with non-compatible collations.</li> <li>Several fixes that could impact availability or speed of starting a connection to PostgreSQL.</li> <li>Fix multiple memory leaks in logical decoding output.</li> <li>Fix several memory leaks in <a href="/docs/current/plpython.html">PL/Python</a>.</li> <li>Add psql tab completion for <a href="/docs/current/sql-copy.html"><code>COPY (MERGE INTO)</code></a>.</li> <li>Make <a href="/docs/current/app-pgcontroldata.html"><code>pg_controldata</code></a> more resilient when displaying info from corrupted<a href="/docs/current/wal-internals.html">pg_control</a> files.</li> <li>Fix for a memory leak in <a href="/docs/current/app-pgrestore.html"><code>pg_restore</code></a> with zstd-compressed data.</li> <li>Fix <a href="/docs/current/app-pgbasebackup.html"><code>pg_basebackup</code></a> to correctly handle pg_wal.tar files exceeding 2GB on Windows.</li> <li>Modify <a href="/docs/current/earthdistance.html">earthdistance</a> to use SQL-standard function bodies, which fixes possible issues with major version upgrades to v17 when databases use this extension.</li> <li>Fix crash in <a href="/docs/current/pageinspect.html">pageinspect</a> in instances where the <code>brin_page_items()</code> function definition is not updated to the latest version.</li> <li>Fix race condition when trying to cancel a <a href="/docs/current/postgres-fdw.html"><code>postgres_fdw</code></a> remote query.</li> </ul> <p>This release also updates time zone data files to tzdata release 2025a for DST law changes in Paraguay, plus historical corrections for the Philippines.</p> <h2>Updating</h2> <p>All PostgreSQL update releases are cumulative. As with other minor releases, users are not required to dump and reload their database or use <code>pg_upgrade</code> in order to apply this update release; you may simply shutdown PostgreSQL and update its binaries.</p> <p>Users who have skipped one or more update releases may need to run additional post-update steps; please see the release notes from earlier versions for details.</p> <p>For more details, please see the <a href="/docs/release/">release notes</a>.</p> <h2>Links</h2> <ul> <li><a href="/download/">Download</a></li> <li><a href="/docs/release/">Release Notes</a></li> <li><a href="/support/security/">Security</a></li> <li><a href="/support/versioning/">Versioning Policy</a></li> <li><a href="/about/donate/">Donate</a></li> </ul> <p>If you have corrections or suggestions for this release announcement, please send them to the <em>pgsql-www@lists.postgresql.org</em> public <a href="/list/">mailing list</a>.</p> Thu, 13 Feb 2025 00:00:00 +0000/about/news/postgresql-173-167-1511-1416-and-1319-released-3015/PostgreSQL 17.2, 16.6, 15.10, 14.15, 13.18, and 12.22 Released! /about/news/postgresql-172-166-1510-1415-1318-and-1222-released-2965/ <p>The PostgreSQL Global Development Group has released an update to all supported versions of PostgreSQL, including 17.2, 16.6, 15.10, 14.15, and 13.18. Additionally, due to the nature of one of the issues in the <a href="/about/news/out-of-cycle-release-scheduled-for-november-21-2024-2958/">previous update release</a>, the PostgreSQL Global Development Group is also releasing a 12.22 release for PostgreSQL 12. PostgreSQL 12 is now EOL and will not receive more fixes.</p> <p>For the full list of changes, please review the <a href="/docs/release/">release notes</a>.</p> <h2>PostgreSQL 12 EOL Notice</h2> <p><strong>This is the final release of PostgreSQL 12</strong>. PostgreSQL 12 is now end-of-life and will no longer receive security and bug fixes. If you are running PostgreSQL 12 in a production environment, we suggest that you make plans to upgrade to a newer, supported version of PostgreSQL. Please see our <a href="/support/versioning/">versioning policy</a> for more information.</p> <h2>Bug Fixes and Improvements</h2> <p>The issues listed below affect PostgreSQL 17. Some of these issues may also affect other supported versions of PostgreSQL.</p> <ul> <li>Restore functionality of <a href="/docs/current/sql-alterrole.html"><code>ALTER ROLE .. SET ROLE</code></a> and <a href="/docs/current/sql-alterdatabase.html"><code>ALTER DATABASE .. SET ROLE</code></a>. The fix for <a href="/support/security/CVE-2024-10978/">CVE-2024-10978</a> accidentally caused settings for role to not be applied if they came from non-interactive sources, including previous <code>ALTER {ROLE|DATABASE}</code> commands and the <a href="/docs/current/libpq-envars.html"><code>PGOPTIONS</code></a> environment variable.</li> <li>Restore compatibility for the <code>timescaledb</code> and other PostgreSQL extensions built using PostgreSQL prior to the 2024-11-14 release (17.0, 16.4, 15.8, 14.13, 13.16, 12.20, and earlier). This fix restores <code>struct ResultRelInfo</code> to its previous size, so that affected extensions don't need to be rebuilt.</li> <li>Fix cases where a logical replication slot's <code>restart_lsn</code> could go backwards.</li> <li>Avoid deleting still-needed WAL files during <a href="/docs/current/app-pgrewind.html"><code>pg_rewind</code></a>.</li> <li>Fix race conditions associated with dropping shared statistics entries, which could lead to loss of statistics data.</li> <li>Fix crash with <code>ALTER TABLE</code> when checking to see if an index's opclass options have changed if the table has an index with a non-default operator class.</li> </ul> <h2>Updating</h2> <p>All PostgreSQL update releases are cumulative. As with other minor releases, users are not required to dump and reload their database or use <code>pg_upgrade</code> in order to apply this update release; you may simply shutdown PostgreSQL and update its binaries.</p> <p>Users who have skipped one or more update releases may need to run additional post-update steps; please see the release notes from earlier versions for details.</p> <p>For more details, please see the <a href="/docs/release/">release notes</a>.</p> <h2>Links</h2> <ul> <li><a href="/download/">Download</a></li> <li><a href="/docs/release/">Release Notes</a></li> <li><a href="/support/security/">Security</a></li> <li><a href="/support/versioning/">Versioning Policy</a></li> <li><a href="https://twitter.com/postgresql">Follow @postgresql on X/Twitter</a></li> <li><a href="/about/donate/">Donate</a></li> </ul> <p>If you have corrections or suggestions for this release announcement, please send them to the <em>pgsql-www@lists.postgresql.org</em> public <a href="/list/">mailing list</a>.</p> Thu, 21 Nov 2024 00:00:00 +0000/about/news/postgresql-172-166-1510-1415-1318-and-1222-released-2965/Out-of-cycle release scheduled for November 21, 2024 /about/news/out-of-cycle-release-scheduled-for-november-21-2024-2958/ <p>The PostgreSQL Global Development Group is planning for an out-of-cycle release on November 21, 2024 to address two regressions that were released as part of the <a href="/about/news/postgresql-171-165-159-1414-1317-and-1221-released-2955/">November 14, 2024 update release</a>, which included releases for <a href="/about/news/postgresql-171-165-159-1414-1317-and-1221-released-2955/">17.1, 16.5, 15.9, 14.14, 13.17, and 12.21</a>. As part of this release, we will issue fixes for all supported versions (17.2, 16.6, 15.10, 14.15, 13.18), and for 12.22, even though PostgreSQL 12 is now EOL.</p> <p>While these regressions may not impact all users, the PostgreSQL Global Development Group determined that it would be better to address these sooner than the <a href="/developer/roadmap/">next scheduled release on February 13, 2025</a>. A high-level description of the regressions are as follows.</p> <ol> <li> <p>The fix for <a href="/support/security/CVE-2024-10978/">CVE-2024-10978</a> <a href="/message-id/CADOZwSb0UsEr4_UTFXC5k7%3DfyyK8uKXekucd%2B-uuGjJsGBfxgw%40mail.gmail.com">prevented <code>ALTER USER ... SET ROLE ...</code> from having any effect</a>. This will be fixed in the upcoming release.</p> </li> <li> <p>Certain PostgreSQL extensions took a dependency on an Application Binary Interface (ABI) that was modified in this release and <a href="/message-id/CABOikdNmVBC1LL6pY26dyxAS2f%2BgLZvTsNt%3D2XbcyG7WxXVBBQ%40mail.gmail.com">caused them to break</a>. Currently, this can be mitigated by rebuilding the extensions against the updated definition.</p> </li> </ol> <p>If you are impacted by either of these issues, we advise to wait for the availability of 17.2, 16.6, 15.10, 14.15, 13.18, and 12.22 before upgrading.</p> Fri, 15 Nov 2024 00:00:00 +0000/about/news/out-of-cycle-release-scheduled-for-november-21-2024-2958/PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 Released! /about/news/postgresql-171-165-159-1414-1317-and-1221-released-2955/ <p>The PostgreSQL Global Development Group has released an update to all supported versions of PostgreSQL, including 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21. This release fixes 4 security vulnerabilities and over 35 bugs reported over the last several months.</p> <p>For the full list of changes, please review the <a href="/docs/release/">release notes</a>.</p> <h2>PostgreSQL 12 EOL Notice</h2> <p><strong>This is the final release of PostgreSQL 12</strong>. PostgreSQL 12 is now end-of-life and will no longer receive security and bug fixes. If you are running PostgreSQL 12 in a production environment, we suggest that you make plans to upgrade to a newer, supported version of PostgreSQL. Please see our <a href="/support/versioning/">versioning policy</a> for more information.</p> <h2>Security Issues</h2> <h3><a href="/support/security/CVE-2024-10976/">CVE-2024-10976</a>: PostgreSQL row security below e.g. subqueries disregards user ID changes</h3> <p>CVSS v3.1 Base Score: <a href="https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?version=3.1&amp;vector=AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N">4.2</a></p> <p>Supported, Vulnerable Versions: 12 - 17.</p> <p>Incomplete tracking in PostgreSQL of tables with row security allows a reused query to view or change different rows from those intended. <a href="/support/security/CVE-2023-2455/">CVE-2023-2455</a> and <a href="/support/security/CVE-2016-2193/">CVE-2016-2193</a> fixed most interaction between row security and user ID changes. They missed cases where a subquery, WITH query, security invoker view, or SQL-language function references a table with a row-level security policy. This has the same consequences as the two earlier CVEs. That is to say, it leads to potentially incorrect policies being applied in cases where role-specific policies are used and a given query is planned under one role and then executed under other roles. This scenario can happen under security definer functions or when a common user and query is planned initially and then re-used across multiple SET ROLEs.</p> <p>Applying an incorrect policy may permit a user to complete otherwise-forbidden reads and modifications. This affects only databases that have used <a href="/docs/current/sql-createpolicy.html"><code>CREATE POLICY</code></a> to define a row security policy. An attacker must tailor an attack to a particular application's pattern of query plan reuse, user ID changes, and role-specific row security policies. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.</p> <p>The PostgreSQL project thanks Wolfgang Walther for reporting this problem.</p> <h3><a href="/support/security/CVE-2024-10977/">CVE-2024-10977</a>: PostgreSQL libpq retains an error message from man-in-the-middle</h3> <p>CVSS v3.1 Base Score: <a href="https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?version=3.1&amp;vector=AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N">3.1</a></p> <p>Supported, Vulnerable Versions: 12 - 17.</p> <p>Client use of server error message in PostgreSQL allows a server not trusted under current SSL or GSS settings to furnish arbitrary non-NUL bytes to the libpq application. For example, a man-in-the-middle attacker could send a long error message that a human or screen-scraper user of psql mistakes for valid query results. This is probably not a concern for clients where the user interface unambiguously indicates the boundary between one error message and other text. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.</p> <p>The PostgreSQL project thanks Jacob Champion for reporting this problem.</p> <h3><a href="/support/security/CVE-2024-10978/">CVE-2024-10978</a>: PostgreSQL SET ROLE, SET SESSION AUTHORIZATION reset to wrong user ID</h3> <p>CVSS v3.1 Base Score: <a href="https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?version=3.1&amp;vector=AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N">4.2</a></p> <p>Supported, Vulnerable Versions: 12 - 17.</p> <p>Incorrect privilege assignment in PostgreSQL allows a less-privileged application user to view or change different rows from those intended. An attack requires the application to use <a href="/docs/current/sql-set-role.html"><code>SET ROLE</code></a>, <a href="/docs/current/sql-set-session-authorization.html"><code>SET SESSION AUTHORIZATION</code></a>, or an equivalent feature. The problem arises when an application query uses parameters from the attacker or conveys query results to the attacker. If that query reacts to <code>current_setting('role')</code> or the current user ID, it may modify or return data as though the session had not used <code>SET ROLE</code> or <code>SET SESSION AUTHORIZATION</code>. The attacker does not control which incorrect user ID applies. Query text from less-privileged sources is not a concern here, because <code>SET ROLE</code> and <code>SET SESSION AUTHORIZATION</code> are not sandboxes for unvetted queries. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.</p> <p>The PostgreSQL project thanks Tom Lane for reporting this problem.</p> <h3><a href="/support/security/CVE-2024-10979/">CVE-2024-10979</a>: PostgreSQL PL/Perl environment variable changes execute arbitrary code</h3> <p>CVSS v3.1 Base Score: <a href="https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?version=3.1&amp;vector=AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">8.8</a></p> <p>Supported, Vulnerable Versions: 12 - 17.</p> <p>Incorrect control of environment variables in PostgreSQL <a href="/docs/current/plperl.html">PL/Perl</a> allows an unprivileged database user to change sensitive process environment variables (e.g. <code>PATH</code>). That often suffices to enable arbitrary code execution, even if the attacker lacks a database server operating system user. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.</p> <p>The PostgreSQL project thanks Coby Abrams for reporting this problem.</p> <h2>Bug Fixes and Improvements</h2> <p>This update fixes over 35 bugs that were reported in the last several months. The issues listed below affect PostgreSQL 17. Some of these issues may also affect other supported versions of PostgreSQL.</p> <ul> <li>Fix when attaching or detaching table partitions with foreign key constraints. After upgrade, users impacted by this issue will need to perform manual steps to finish fixing it. Please see the "Upgrading" section and the release notes for more information.</li> <li>Fix when using libc as the default collation provider when <code>LC_CTYPE</code> is <code>C</code> while <code>LC_COLLATE</code> is a different locale. This could lead to incorrect query results. If you have these settings in your database, please reindex any affected indexes after updating to this release. This issue impacted 17.0 only.</li> <li>Several query planner fixes, including disallowing joining partitions (<a href="/docs/current/runtime-config-query.html#GUC-ENABLE-PARTITIONWISE-JOIN">partitionwise join</a>) if the collations of the partitions don't match.</li> <li>Fix possible wrong answers or <code>wrong varnullingrels</code> planner errors for <a href="/docs/current/sql-merge.html"><code>MERGE ... WHEN NOT MATCHED BY SOURCE</code></a> actions.</li> <li>Fix validation of the <a href="/docs/current/sql-copy.html"><code>COPY</code></a> <code>FORCE_NOT_NULL</code> and <code>FORCE_NULL</code>.</li> <li>Fix server crash when a <a href="/docs/current/functions-aggregate.html"><code>json_objectagg()</code></a> call contains a volatile function.</li> <li>Ensure there's a registered dependency between a partitioned table and a non-built-in access method specified in <code>CREATE TABLE ... USING</code>. This fix only prevents problems for partitioned tables created after this update.</li> <li>Fix race condition in committing a serializable transaction.</li> <li>Fix race condition in <a href="/docs/current/sql-commit-prepared.html"><code>COMMIT PREPARED</code></a> that could require manual file removal after a crash-and-recovery.</li> <li>Fix for <a href="/docs/current/view-pg-cursors.html"><code>pg_cursors</code></a> view to prevent errors by excluding cursors that aren't completely set up.</li> <li>Reduce logical decoding memory consumption.</li> <li>Fix to prevent stable functions from receiving stale row values when they're called from a <a href="/docs/current/sql-call.html"><code>CALL</code></a> statement's argument list and the <code>CALL</code> is within a <a href="/docs/current/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING">PL/pgSQL <code>EXCEPTION</code></a> block.</li> <li>Fix for JIT crashes on ARM (aarch64) systems.</li> <li>The <code>psql</code> <code>\watch</code> now treats values that are less than 1ms to be 0 (no wait between executions).</li> <li>Fix failure to use credentials for a replication user in the <a href="/docs/current/libpq-pgpass.html">password file</a> (<a href="/docs/current/libpq-pgpass.html"><code>pgpass</code></a>)</li> <li><a href="/docs/current/app-pgcombinebackup.html"><code>pg_combinebackup</code></a> now throws an error if an incremental backup file is present in a directory that should contain a full backup.</li> <li>Fix to avoid reindexing temporary tables and indexes in <a href="/docs/current/app-vacuumdb.html"><code>vacuumdb</code></a> and parallel <a href="/docs/current/app-reindexdb.html"><code>reindexdb</code></a>.</li> </ul> <p>This release also updates time zone data files to tzdata release 2024b. This tzdata release changes the old System-V-compatibility zone names to duplicate the corresponding geographic zones; for example <code>PST8PDT</code> is now an alias for <code>America/Los_Angeles</code>. The main visible consequence is that for timestamps before the introduction of standardized time zones, the zone is considered to represent local mean solar time for the named location. For example, in <code>PST8PDT</code>, timestamptz input such as 1801-01-01 00:00 would previously have been rendered as <code>1801-01-01 00:00:00-08</code>, but now it is rendered as <code>1801-01-01 00:00:00-07:52:58</code>.</p> <p>Also, historical corrections for Mexico, Mongolia, and Portugal. Notably, Asia/Choibalsan is now an alias for Asia/Ulaanbaatar rather than being a separate zone, mainly because the differences between those zones were found to be based on untrustworthy data. </p> <h2>Updating</h2> <p>All PostgreSQL update releases are cumulative. As with other minor releases, users are not required to dump and reload their database or use <code>pg_upgrade</code> in order to apply this update release; you may simply shutdown PostgreSQL and update its binaries.</p> <p>If you have a partitioned table with foreign key constraints where you've run the <code>ATTACH PARTITION</code>/<code>DETACH PARTITION</code> commands, you will need to take further steps after upgrading. You can fix this by executing an <a href="/docs/current/sql-altertable.html"><code>ALTER TABLE ... DROP CONSTRAINT</code></a> on the now stand-alone table for each faulty constraint, and then re-add the constraint. If re-adding the constraint fails, you will need to manually re-establish consistency between the referencing and referenced tables, then re-add the constraint.</p> <p>This query can be used to identify broken constraints and construct the commands needed to recreate them:</p> <p><code>SELECT conrelid::pg_catalog.regclass AS "constrained table", conname AS constraint, confrelid::pg_catalog.regclass AS "references", pg_catalog.format('ALTER TABLE %s DROP CONSTRAINT %I;', conrelid::pg_catalog.regclass, conname) AS "drop", pg_catalog.format('ALTER TABLE %s ADD CONSTRAINT %I %s;', conrelid::pg_catalog.regclass, conname, pg_catalog.pg_get_constraintdef(oid)) AS "add" FROM pg_catalog.pg_constraint c WHERE contype = 'f' AND conparentid = 0 AND (SELECT count(*) FROM pg_catalog.pg_constraint c2 WHERE c2.conparentid = c.oid) &lt;&gt; (SELECT count(*) FROM pg_catalog.pg_inherits i WHERE (i.inhparent = c.conrelid OR i.inhparent = c.confrelid) AND EXISTS (SELECT 1 FROM pg_catalog.pg_partitioned_table WHERE partrelid = i.inhparent));</code></p> <p>Since it is possible that one or more of the <code>ADD CONSTRAINT</code> steps will fail, you should save the query's output in a file and then attempt to perform each step.</p> <p>Additionally, if you are running PostgreSQL 17.0 and using libc as your default collation provider, and have set <code>LC_CTYPE</code> to be <code>C</code> while <code>LC_COLLATE</code> is a different locale, you will need to rebuild your text-based indexes. You can do this with the <a href="/docs/current/sql-reindex.html"><code>REINDEX INDEX CONCURRENTLY</code></a> command.</p> <p>Users who have skipped one or more update releases may need to run additional post-update steps; please see the release notes from earlier versions for details.</p> <p>For more details, please see the <a href="/docs/release/">release notes</a>.</p> <h2>Links</h2> <ul> <li><a href="/download/">Download</a></li> <li><a href="/docs/release/">Release Notes</a></li> <li><a href="/support/security/">Security</a></li> <li><a href="/support/versioning/">Versioning Policy</a></li> <li><a href="https://twitter.com/postgresql">Follow @postgresql on X/Twitter</a></li> <li><a href="/about/donate/">Donate</a></li> </ul> <p>If you have corrections or suggestions for this release announcement, please send them to the <em>pgsql-www@lists.postgresql.org</em> public <a href="/list/">mailing list</a>.</p> Thu, 14 Nov 2024 00:00:00 +0000/about/news/postgresql-171-165-159-1414-1317-and-1221-released-2955/PostgreSQL 17 Released! /about/news/postgresql-17-released-2936/ <p>The <a href="">PostgreSQL Global Development Group</a> today announced the release of <a href="/docs/17/release-17.html">PostgreSQL 17</a>, the latest version of the world's most advanced open source database.</p> <p>PostgreSQL 17 builds on decades of open source development, improving its performance and scalability while adapting to emergent data access and storage patterns. This release of <a href="">PostgreSQL</a> adds significant overall performance gains, including an overhauled memory management implementation for vacuum, optimizations to storage access and improvements for high concurrency workloads, speedups in bulk loading and exports, and query execution improvements for indexes. PostgreSQL 17 has features that benefit brand new workloads and critical systems alike, such as additions to the developer experience with the SQL/JSON <code>JSON_TABLE</code> command, and enhancements to logical replication that simplify management of high availability workloads and major version upgrades.</p> <p>"PostgreSQL 17 highlights how the global open source community, which drives the development of PostgreSQL, builds enhancements that help users at all stages of their database journey," said Jonathan Katz, a member of the PostgreSQL core team. "Whether it's improvements for operating databases at scale or new features that build on a delightful developer experience, PostgreSQL 17 will enhance your data management experience." </p> <p>PostgreSQL, an innovative data management system known for its reliability, robustness, and extensibility, benefits from over 25 years of open source development from a global developer community and has become the preferred open source relational database for organizations of all sizes.</p> <h3>System-wide performance gains</h3> <p>The PostgreSQL <a href="/docs/17/routine-vacuuming.html">vacuum</a> process is critical for healthy operations, requiring server instance resources to operate. PostgreSQL 17 introduces a new internal memory structure for vacuum that consumes up to 20x less memory. This improves vacuum speed and also reduces the use of shared resources, making more available for your workload.</p> <p>PostgreSQL 17 continues to improve performance of its I/O layer. High concurrency workloads may see up to 2x better write throughput due to improvements with <a href="/docs/17/wal-intro.html">write-ahead log</a> (<a href="/docs/17/wal-intro.html">WAL</a>) processing. Additionally, the new streaming I/O interface speeds up sequential scans (reading all the data from a table) and how quickly <a href="/docs/17/sql-analyze.html"><code>ANALYZE</code></a> can update planner statistics.</p> <p>PostgreSQL 17 also extends its performance gains to query execution. PostgreSQL 17 improves the performance of queries with <code>IN</code> clauses that use <a href="/docs/17/indexes-types.html#INDEXES-TYPES-BTREE">B-tree</a> indexes, the default index method in PostgreSQL. Additionally, <a href="/docs/17/brin.html">BRIN</a> indexes now support parallel builds. PostgreSQL 17 includes several improvements for query planning, including optimizations for <code>NOT NULL</code> constraints, and improvements in processing <a href="/docs/17/queries-with.html">common table expressions</a> (<a href="/docs/17/queries-with.html"><code>WITH</code> queries</a>). This release adds more SIMD (Single Instruction/Multiple Data) support for accelerating computations, including using AVX-512 for the <a href="/docs/17/functions-bitstring.html"><code>bit_count</code></a> function.</p> <h3>Further expansion of a robust developer experience</h3> <p>PostgreSQL was the <a href="/about/news/postgresql-92-released-1415/">first relational database to add JSON support (2012)</a>, and PostgreSQL 17 adds to its implementation of the SQL/JSON standard. <a href="/docs/17/functions-json.html#FUNCTIONS-SQLJSON-TABLE"><code>JSON_TABLE</code></a> is now available in PostgreSQL 17, letting developers convert JSON data into a standard PostgreSQL table. PostgreSQL 17 now supports <a href="/docs/17/functions-json.html#FUNCTIONS-JSON-CREATION-TABLE">SQL/JSON constructors</a> (<code>JSON</code>, <code>JSON_SCALAR</code>, <code>JSON_SERIALIZE</code>) and <a href="/docs/17/functions-json.html#SQLJSON-QUERY-FUNCTIONS">query functions</a> (<code>JSON_EXISTS</code>, <code>JSON_QUERY</code>, <code>JSON_VALUE</code>), giving developers other ways of interfacing with their JSON data. This release adds more <a href="/docs/17/functions-json.html#FUNCTIONS-SQLJSON-PATH-OPERATORS"><code>jsonpath</code> expressions</a>, with an emphasis of converting JSON data to a native PostgreSQL data type, including numeric, boolean, string, and date/time types.</p> <p>PostgreSQL 17 adds more features to <a href="/docs/17/sql-merge.html"><code>MERGE</code></a>, which is used for conditional updates, including a <code>RETURNING</code> clause and the ability to update <a href="/docs/17/sql-createview.html">views</a>. Additionally, PostgreSQL 17 has new capabilities for bulk loading and data exporting, including up to a 2x performance improvement when exporting large rows using the <a href="/docs/17/sql-copy.html"><code>COPY</code></a> command. <code>COPY</code> performance also has improvements when the source and destination encodings match, and includes a new option, <code>ON_ERROR</code>, that allows an import to continue even if there is an insert error.</p> <p>This release expands on functionality both for managing data in partitions and data distributed across remote PostgreSQL instances. PostgreSQL 17 supports using identity columns and exclusion constraints on <a href="/docs/17/ddl-partitioning.html">partitioned tables</a>. The <a href="/docs/17/postgres-fdw.html">PostgreSQL foreign data wrapper</a> (<a href="/docs/17/postgres-fdw.html"><code>postgres_fdw</code></a>), used to execute queries on remote PostgreSQL instances, can now push <code>EXISTS</code> and <code>IN</code> subqueries to the remote server for more efficient processing.</p> <p>PostgreSQL 17 also includes a built-in, platform independent, immutable collation provider that's guaranteed to be immutable and provides similar sorting semantics to the <code>C</code> collation except with <code>utf-8</code> encoding rather than <code>SQL_ASCII</code>. Using this new collation provider guarantees that your text-based queries will return the same sorted results regardless of where you run PostgreSQL.</p> <h3>Logical replication enhancements for high availability and major version upgrades</h3> <p><a href="/docs/17/logical-replication.html">Logical replication</a> is used to stream data in real-time across many use cases. However, prior to this release, users who wanted to perform a major version upgrade would have to drop <a href="/docs/17/logical-replication-subscription.html#LOGICAL-REPLICATION-SUBSCRIPTION-SLOT">logical replication slots</a>, which requires resynchronizing data to subscribers after an upgrade. Starting with upgrades from PostgreSQL 17, users don't have to drop logical replication slots, simplifying the upgrade process when using logical replication.</p> <p>PostgreSQL 17 now includes failover control for logical replication, making it more resilient when deployed in high availability environments. Additionally, PostgreSQL 17 introduces the <a href="/docs/17/app-pgcreatesubscriber.html"><code>pg_createsubscriber</code></a> command-line tool for converting a physical replica into a new logical replica.</p> <h3>More options for managing security and operations</h3> <p>PostgreSQL 17 further extends how users can manage the overall lifecycle of their database systems. PostgreSQL has a new TLS option, <code>sslnegotiation</code>, that lets users perform a direct TLS handshakes when using <a href="https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation">ALPN</a> (registered as <code>postgresql</code> in the ALPN directory). PostgreSQL 17 also adds the <code>pg_maintain</code> <a href="/docs/17/predefined-roles.html">predefined role</a>, which gives users permission to perform maintenance operations.</p> <p><a href="/docs/17/app-pgbasebackup.html"><code>pg_basebackup</code></a>, the backup utility included in PostgreSQL, now supports incremental backups and adds the <a href="/docs/17/app-pgcombinebackup.html"><code>pg_combinebackup</code></a> utility to reconstruct a full backup. Additionally, <a href="/docs/17/app-pgdump.html"><code>pg_dump</code></a> includes a new option called <code>--filter</code> that lets you select what objects to include when generating a dump file.</p> <p>PostgreSQL 17 also includes enhancements to monitoring and analysis features. <a href="/docs/17/sql-explain.html"><code>EXPLAIN</code></a> now shows the time spent for local I/O block reads and writes, and includes two new options: <code>SERIALIZE</code> and <code>MEMORY</code>, useful for seeing the time spent in data conversion for network transmission, and how much memory was used. PostgreSQL 17 now reports the <a href="/docs/17/progress-reporting.html#VACUUM-PROGRESS-REPORTING">progress of vacuuming indexes</a>, and adds the <a href="/docs/17/view-pg-wait-events.html"><code>pg_wait_events</code></a> system view that, when combined with <a href="/docs/17/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW"><code>pg_stat_activity</code></a>, gives more insight into why an active session is waiting.</p> <h3>Additional Features</h3> <p>Many other new features and improvements have been added to PostgreSQL 17 that may also be helpful for your use cases. Please see the <a href="/docs/17/release-17.html">release notes</a> for a complete list of new and changed features.</p> <h3>About PostgreSQL</h3> <p><a href="">PostgreSQL</a> is the world's most advanced open source database, with a global community of thousands of users, contributors, companies and organizations. Built on over 35 years of engineering, starting at the University of California, Berkeley, PostgreSQL has continued with an unmatched pace of development. PostgreSQL's mature feature set not only matches top proprietary database systems, but exceeds them in advanced database features, extensibility, security, and stability.</p> <h3>Links</h3> <ul> <li><a href="/download/">Download</a></li> <li><a href="/docs/17/release-17.html">Release Notes</a></li> <li><a href="/about/press/">Press Kit</a></li> <li><a href="/support/security/">Security Page</a></li> <li><a href="/support/versioning/">Versioning Policy</a></li> <li><a href="https://twitter.com/postgresql">Follow @postgresql</a></li> <li><a href="/about/donate/">Donate</a></li> </ul> Thu, 26 Sep 2024 00:00:00 +0000/about/news/postgresql-17-released-2936/Code of Conduct Committee Seeking New Volunteers /about/news/code-of-conduct-committee-seeking-new-volunteers-2931/ <p>This message is being sent from the Community Code of Conduct Committee, with the approval of the Core Team. As part of the Community CoC policy, the Committee membership is to be refreshed on an annual basis. We are seeking up to 4 volunteers to serve on the Committee for the coming year, October 1, 2024 - September 30, 2024.</p> <p>We are seeking people who reflect the diversity of the PostgreSQL community, with the goal to have members from multiple countries and varied demographics. The time commitment for Committee involvement varies, based on internal administrative work and the number of active investigations. We estimate an average of 5 to 10 hours per month, but that could increase if there is an increase in the number of incident reports.</p> <p>If you are interested, please complete the questionnaire below, and email your responses to the Committee at coc@postgresql.org no later than September 15, 2024 at 05:00 PM UTC.</p> <h3>The Questionnaire</h3> <p>Your name:</p> <p>Current employer:</p> <p>Current country of residence:</p> <p>(We ask for employer and residence because one of the goals of the Committee is to have representation from a variety of geographical areas. We also want to avoid a concentration of members from one company.)</p> <ol> <li>What interests you about being on the CoC Committee?</li> <li>Have you been on another CoC Committee, or had a similar role at another organization? (Prior experience is not required, it's just helpful to know everyone's background.)</li> <li>What else do you want to tell us about yourself that is helpful for us to know about your potential involvement with the CoC Committee?</li> </ol> <p>Please be sure to send your reply to the CoC email listed above. </p> <p>Thank you!</p> <p>Regards, Chris Travers Chair PostgreSQL Community Code of Conduct Committee</p> Mon, 09 Sep 2024 00:00:00 +0000/about/news/code-of-conduct-committee-seeking-new-volunteers-2931/PostgreSQL 17 RC1 Released! /about/news/postgresql-17-rc1-released-2926/ <p>The PostgreSQL Global Development Group announces that the first release candidate of PostgreSQL 17 is now available for download. As a release candidate, PostgreSQL 17 RC 1 will be mostly identical to the initial release of PostgreSQL 17, though some more fixes may be applied prior to the general availability of PostgreSQL 17.</p> <p>The planned date for the general availability of PostgreSQL 17 is September 26, 2024. Please see the "Release Schedule" section for more details.</p> <h2>Upgrading to PostgreSQL 17 RC 1</h2> <p>To upgrade to PostgreSQL 17 RC 1 from earlier versions of PostgreSQL, you will need to use a major version upgrade strategy, e.g. <code>pg_upgrade</code> or <code>pg_dump</code> / <code>pg_restore</code>. For more information, please visit the documentation section on <a href="/docs/17/upgrading.html">upgrading</a>:</p> <p><a href="/docs/17/upgrading.html">/docs/17/upgrading.html</a></p> <h2>Changes Since 17 Beta 3</h2> <p>Several bug fixes were applied for PostgreSQL 17 during the Beta 3 period. These include:</p> <ul> <li>Revert the MERGE/SPLIT partition feature.</li> <li>Fix for feature that improves performance around logical decoding of subtransactions.</li> </ul> <p>For a detailed list of fixes, please visit the <a href="https://wiki.postgresql.org/wiki/PostgreSQL_17_Open_Items#resolved_before_17rc1">open items</a> page.</p> <h2>Release Schedule</h2> <p>This is the first release candidate for PostgreSQL 17. Unless an issue is discovered that warrants a delay or to produce an additional release candidate, PostgreSQL 17 should be made generally available on September 26, 2024.</p> <p>For further information please see the <a href="/developer/beta/">Beta Testing</a> page.</p> <h2>Links</h2> <ul> <li><a href="/download/">Download</a></li> <li><a href="/developer/beta/">Beta Testing Information</a></li> <li><a href="/docs/17/release-17.html">PostgreSQL 17 Beta Release Notes</a></li> <li><a href="https://wiki.postgresql.org/wiki/PostgreSQL_17_Open_Items">PostgreSQL 17 Open Issues</a></li> <li><a href="/about/featurematrix/#configuration-management">Feature Matrix</a></li> <li><a href="/account/submitbug/">Submit a Bug</a></li> <li><a href="https://twitter.com/postgresql">Follow @postgresql on X/Twitter</a></li> <li><a href="/about/donate/">Donate</a></li> </ul> Thu, 05 Sep 2024 00:00:00 +0000/about/news/postgresql-17-rc1-released-2926/PostgreSQL 16.4, 15.8, 14.13, 13.16, 12.20, and 17 Beta 3 Released! /about/news/postgresql-164-158-1413-1316-1220-and-17-beta-3-released-2910/ <p>The PostgreSQL Global Development Group has released an update to all supported versions of PostgreSQL, including 16.4, 15.8, 14.13, 13.16, and 12.20, as well as the third beta release of PostgreSQL 17. This release fixes 1 security vulnerability and over 55 bugs reported over the last several months.</p> <p>For the full list of changes, please review the <a href="/docs/release/">release notes</a>.</p> <h2>PostgreSQL 12 EOL Notice</h2> <p>PostgreSQL 12 will stop receiving fixes on November 14, 2024. If you are running PostgreSQL 12 in a production environment, we suggest that you make plans to upgrade to a newer, supported version of PostgreSQL. Please see our <a href="/support/versioning/">versioning policy</a> for more information.</p> <h2>Security Issues</h2> <h3><a href="/support/security/CVE-2024-7348/">CVE-2024-7348</a>: PostgreSQL relation replacement during pg_dump executes arbitrary SQL</h3> <p>CVSS v3.1 Base Score: <a href="https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H">8.8</a></p> <p>Supported, Vulnerable Versions: 12 - 16.</p> <p>An attacker able to create and drop non-temporary objects could inject SQL code that would be executed by a concurrent <a href="/docs/current/app-pgdump.html"><code>pg_dump</code></a> session with the privileges of the role running <code>pg_dump</code> (which is often a superuser). The attack involves replacing a sequence or similar object with a view or foreign table that will execute malicious code. To prevent this, introduce a new server parameter <code>restrict_nonsystem_relation_kind</code> that can disable expansion of non-builtin views as well as access to foreign tables, and teach <code>pg_dump</code> to set it when available. Note that the attack is prevented only if both <code>pg_dump</code> and the server it is dumping from are new enough to have this fix.</p> <p>The PostgreSQL project thanks Noah Misch for reporting this problem.</p> <h2>Bug Fixes and Improvements</h2> <p>This update fixes over 55 bugs that were reported in the last several months. The issues listed below affect PostgreSQL 16. Some of these issues may also affect other supported versions of PostgreSQL.</p> <ul> <li>Avoid incorrect results from "Merge Right Anti Join" plans, where if the inner relation is known to have unique join keys, the merge could misbehave when there are duplicated join keys in the outer relation.</li> <li>Prevent infinite loop in <a href="/docs/current/sql-vacuum.html"><code>VACUUM</code></a>.</li> <li>Fix partition pruning setup during <a href="/docs/current/sql-altertable.html"><code>ALTER TABLE DETACH ... PARTITION CONCURRENTLY</code></a>.</li> <li>Fix behavior of stable functions that are used as an argument to a <a href="/docs/current/sql-call.html"><code>CALL</code></a> statement.</li> <li><code>pg_sequence_last_value()</code> now returns <code>NULL</code> instead of throwing an error when called on unlogged sequences on standby servers and on temporary sequences of other sessions.</li> <li>Fix parsing of ignored operators in <code>websearch_to_tsquery()</code>.</li> <li>Correctly check updatability of view columns targeted by <a href="/docs/current/sql-insert.html"><code>INSERT ... DEFAULT</code></a>.</li> <li>Lock owned sequences during <a href="/docs/current/sql-altertable.html"><code>ALTER TABLE ... SET LOGGED|UNLOGGED</code></a>.</li> <li>Don't throw an error if a queued <code>AFTER</code> trigger no longer exists.</li> <li>Fix selection of an arbiter index for <a href="/docs/current/sql-insert.html"><code>INSERT ... ON CONFLICT</code></a> when the desired index has expressions or predicates, for example, through an updatable view.</li> <li>Refuse to modify a temporary table of another session with <a href="/docs/current/sql-altertable.html"><code>ALTER TABLE</code></a>.</li> <li>Fix handling of extended statistics on expressions in <a href="/docs/current/sql-createtable.html"><code>CREATE TABLE ... LIKE STATISTICS</code></a>.</li> <li>Fix failure to recalculate sub-queries generated from <code>MIN()</code> or <code>MAX()</code> aggregates.</li> <li>Disallow underscores in positional parameters.</li> <li>Avoid crashing when a JIT-inlined backend function throws an error.</li> <li>Fix handling of subtransactions of prepared transactions when starting a hot standby server.</li> <li>Prevent incorrect initialization of logical replication slots.</li> <li>Fix memory leak in the logical replication WAL sender when publishing changes to a partitioned table whose partitions have row types that are physically different from the table.</li> <li>Disable creation of stateful TLS session tickets by OpenSSL.</li> <li>Fix how <a href="/docs/current/plpgsql.html">PL/pgSQL</a> handles integer ranges containing underscores (e.g., <code>FOR i IN 1_001..1_002</code>).</li> <li>Fix incompatibility between <a href="/docs/current/plperl.html">PL/Perl</a> and Perl 5.40.</li> <li>Several fixes related to recursive <a href="/docs/current/plpython.html">PL/Python</a> functions and triggers.</li> <li>Ensure that <a href="/docs/current/app-pgrestore.html"><code>pg_restore -l</code></a> reports dependent table of contents entries correctly.</li> <li><a href="/docs/current/pgstatstatements.html"><code>pg_stat_statements</code></a> now passes a query ID for utility (non-<code>SELECT</code>/<code>INSERT</code>/<code>UPDATE</code>) statements that appears in SQL-language functions.</li> <li>Fix for <a href="/docs/current/postgres-fdw.html"><code>postgres_fdw</code></a> when mapping a foreign table to a nontrivial remote view.</li> <li><a href="/docs/current/postgres-fdw.html"><code>postgres_fdw</code></a> no longer sends a <code>FETCH FIRST WITH TIES</code> clause to a remote server.</li> </ul> <h2>Updating</h2> <p>All PostgreSQL update releases are cumulative. As with other minor releases, users are not required to dump and reload their database or use <code>pg_upgrade</code> in order to apply this update release; you may simply shutdown PostgreSQL and update its binaries.</p> <p>Users who have skipped one or more update releases may need to run additional post-update steps; please see the release notes from earlier versions for details.</p> <p>For more details, please see the <a href="/docs/release/">release notes</a>.</p> <h2>A Note on the PostgreSQL 17 Beta</h2> <p>This release marks the third beta release of PostgreSQL 17 and puts the community one step closer to general availability tentatively around the end of the third quarter.</p> <p>In the spirit of the open source PostgreSQL community, we strongly encourage you to test the new features of PostgreSQL 17 on your systems to help us eliminate bugs or other issues that may exist. While we do not advise you to run PostgreSQL 17 Beta 3 in production environments, we encourage you to find ways to run your typical application workloads against this beta release.</p> <p>Your testing and feedback will help the community ensure that the PostgreSQL 17 release upholds our standards of delivering a stable, reliable release of the world's most advanced open source relational database. Please read more about our <a href="/developer/beta/">beta testing process</a> and how you can contribute:</p> <p><a href="/developer/beta/">/developer/beta/</a></p> <h2>Upgrading to PostgreSQL 17 Beta 3</h2> <p>To upgrade to PostgreSQL 17 Beta 3 from an earlier version of PostgreSQL, you will need to use a strategy similar to upgrading between major versions of PostgreSQL (e.g. <code>pg_upgrade</code> or <code>pg_dump</code> / <code>pg_restore</code>). For more information, please visit the documentation section on <a href="/docs/17/static/upgrading.html">upgrading</a>.</p> <h2>Changes Since Beta 2</h2> <p>Fixes and changes in PostgreSQL 17 Beta 3 include:</p> <ul> <li>Rename the <code>standby_slot_names</code> parameter to to <code>synchronized_standby_slots</code>.</li> <li>Several SQL/JSON fixes.</li> <li>Fix <code>pg_combinebackup --clone</code>.</li> <li>Fix <code>pg_createsubscriber</code> to work for database names that contain a space.</li> <li><code>pg_createsubscriber</code> now drops pre-existing subscriptions when run on a target database.</li> <li>Improve efficiency in retrieving subscription information during <code>pg_upgrade</code>.</li> <li>Fix TLS fallback behavior during <code>sslmode=prefer</code> to error when a server sends an error during the startup process.</li> <li>Document an error case with <code>pg_basebackup</code> incremental backup on a standby server when it's executed immediately after the previous backup.</li> <li>Fix issue where <code>pg_upgrade --transaction-size</code> can cause the backend to use an order of magnitude more RAM.</li> </ul> <p>Please see the <a href="/docs/17/release-17.html">release notes</a> for a complete list of new and changed features, and <a href="https://wiki.postgresql.org/wiki/PostgreSQL_17_Open_Items">PostgreSQL 17 open items</a> for more details on fixes and changes.</p> <h2>Testing for Bugs &amp; Compatibility</h2> <p>The stability of each PostgreSQL release greatly depends on you, the community, to test the upcoming version with your workloads and testing tools in order to find bugs and regressions before the general availability of PostgreSQL 17. As this is a Beta, minor changes to database behaviors, feature details, and APIs are still possible. Your feedback and testing will help determine the final tweaks on the new features, so please test in the near future. The quality of user testing helps determine when we can make a final release.</p> <p>A list of <a href="https://wiki.postgresql.org/wiki/PostgreSQL_17_Open_Items">open issues</a> is publicly available in the PostgreSQL wiki. You can <a href="/account/submitbug/">report bugs</a> using this form on the PostgreSQL website:</p> <p><a href="/account/submitbug/">/account/submitbug/</a></p> <h2>Links</h2> <ul> <li><a href="/download/">Download</a></li> <li><a href="/docs/release/">Release Notes</a></li> <li><a href="/support/security/">Security</a></li> <li><a href="/support/versioning/">Versioning Policy</a></li> <li><a href="/developer/beta/">Beta Testing Information</a></li> <li><a href="/docs/17/release-17.html">PostgreSQL 17 Beta Release Notes</a></li> <li><a href="https://wiki.postgresql.org/wiki/PostgreSQL_17_Open_Items">PostgreSQL 17 Open Issues</a></li> <li><a href="/about/featurematrix/">Feature Matrix</a></li> <li><a href="/account/submitbug/">Submit a Bug</a></li> <li><a href="https://twitter.com/postgresql">Follow @postgresql on X/Twitter</a></li> <li><a href="/about/donate/">Donate</a></li> </ul> <p>If you have corrections or suggestions for this release announcement, please send them to the <em>pgsql-www@lists.postgresql.org</em> public <a href="/list/">mailing list</a>.</p> Thu, 08 Aug 2024 00:00:00 +0000/about/news/postgresql-164-158-1413-1316-1220-and-17-beta-3-released-2910/