Up to [cvs.NetBSD.org] / pkgsrc / databases / postgresql14
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
postgresql1*: updated to 17.2, 16.6, 15.10, 14.15, 13.18, 12.22 PostgreSQL 17.2, 16.6, 15.10, 14.15, 13.18, and 12.22 The issues listed below affect PostgreSQL 17. Some of these issues may also affect other supported versions of PostgreSQL. Restore functionality of ALTER ROLE .. SET ROLE and ALTER DATABASE .. SET ROLE. The fix for CVE-2024-10978 accidentally caused settings for role to not be applied if they came from non-interactive sources, including previous ALTER {ROLE|DATABASE} commands and the PGOPTIONS environment variable. Restore compatibility for the timescaledb 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 struct ResultRelInfo to its previous size, so that affected extensions don't need to be rebuilt. Fix cases where a logical replication slot's restart_lsn could go backwards. Avoid deleting still-needed WAL files during pg_rewind. Fix race conditions associated with dropping shared statistics entries, which could lead to loss of statistics data. Fix crash with ALTER TABLE when checking to see if an index's opclass options have changed if the table has an index with a non-default operator class.
postgresql: updated to 17.1, 16.5, 15.9, 14.14, 13.17 PostgreSQL 12 is now end-of-life. Security Issues * CVE-2024-10976: PostgreSQL row security below e.g. subqueries disregards user ID changes * CVE-2024-10977: PostgreSQL libpq retains an error message from man-in-the-middle * CVE-2024-10978: PostgreSQL SET ROLE, SET SESSION AUTHORIZATION reset to wrong user ID * CVE-2024-10979: PostgreSQL PL/Perl environment variable changes execute arbitrary code Bug Fixes and Improvements 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. 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. Fix when using libc as the default collation provider when LC_CTYPE is C while LC_COLLATE 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. Several query planner fixes, including disallowing joining partitions (partitionwise join) if the collations of the partitions don't match. Fix possible wrong answers or wrong varnullingrels planner errors for MERGE ... WHEN NOT MATCHED BY SOURCE actions. Fix validation of the COPY FORCE_NOT_NULL and FORCE_NULL. Fix server crash when a json_objectagg() call contains a volatile function. Ensure there's a registered dependency between a partitioned table and a non-built-in access method specified in CREATE TABLE ... USING. This fix only prevents problems for partitioned tables created after this update. Fix race condition in committing a serializable transaction. Fix race condition in COMMIT PREPARED that could require manual file removal after a crash-and-recovery. Fix for pg_cursors view to prevent errors by excluding cursors that aren't completely set up. Reduce logical decoding memory consumption. Fix to prevent stable functions from receiving stale row values when they're called from a CALL statement's argument list and the CALL is within a PL/pgSQL EXCEPTION block. Fix for JIT crashes on ARM (aarch64) systems. The psql \watch now treats values that are less than 1ms to be 0 (no wait between executions). Fix failure to use credentials for a replication user in the password file (pgpass) pg_combinebackup now throws an error if an incremental backup file is present in a directory that should contain a full backup. Fix to avoid reindexing temporary tables and indexes in vacuumdb and parallel reindexdb
postgresql: updated to 16.4, 15.8, 14.13, 13.16, 12.20 CVE-2024-7348: PostgreSQL relation replacement during pg_dump executes arbitrary SQL CVSS v3.1 Base Score: 8.8 Supported, Vulnerable Versions: 12 - 16. An attacker able to create and drop non-temporary objects could inject SQL code that would be executed by a concurrent pg_dump session with the privileges of the role running pg_dump (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 restrict_nonsystem_relation_kind that can disable expansion of non-builtin views as well as access to foreign tables, and teach pg_dump to set it when available. Note that the attack is prevented only if both pg_dump and the server it is dumping from are new enough to have this fix. Bug Fixes and Improvements 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. Prevent infinite loop in VACUUM. Fix partition pruning setup during ALTER TABLE DETACH ... PARTITION CONCURRENTLY. Fix behavior of stable functions that are used as an argument to a CALL statement. pg_sequence_last_value() now returns NULL instead of throwing an error when called on unlogged sequences on standby servers and on temporary sequences of other sessions. Fix parsing of ignored operators in websearch_to_tsquery(). Correctly check updatability of view columns targeted by INSERT ... DEFAULT. Lock owned sequences during ALTER TABLE ... SET LOGGED|UNLOGGED. Don't throw an error if a queued AFTER trigger no longer exists. Fix selection of an arbiter index for INSERT ... ON CONFLICT when the desired index has expressions or predicates, for example, through an updatable view. Refuse to modify a temporary table of another session with ALTER TABLE. Fix handling of extended statistics on expressions in CREATE TABLE ... LIKE STATISTICS. Fix failure to recalculate sub-queries generated from MIN() or MAX() aggregates. Disallow underscores in positional parameters. Avoid crashing when a JIT-inlined backend function throws an error. Fix handling of subtransactions of prepared transactions when starting a hot standby server. Prevent incorrect initialization of logical replication slots. 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. Disable creation of stateful TLS session tickets by OpenSSL. Fix how PL/pgSQL handles integer ranges containing underscores (e.g., FOR i IN 1_001..1_002). Fix incompatibility between PL/Perl and Perl 5.40. Several fixes related to recursive PL/Python functions and triggers. Ensure that pg_restore -l reports dependent table of contents entries correctly. pg_stat_statements now passes a query ID for utility (non-SELECT/INSERT/UPDATE) statements that appears in SQL-language functions. Fix for postgres_fdw when mapping a foreign table to a nontrivial remote view. postgres_fdw no longer sends a FETCH FIRST WITH TIES clause to a remote server.
postgresql: updated to 16.3, 15.7, 14.12, 13.15, 12.19 PostgreSQL 16.3, 15.7, 14.12, 13.15, and 12.19 The PostgreSQL Global Development Group has released an update to all supported versions of PostgreSQL, including 16.3, 15.7, 14.12, 13.15, and 12.19. This release fixes one security vulnerability and over 55 bugs reported over the last several months. A security vulnerability was found in the system views pg_stats_ext and pg_stats_ext_exprs, potentially allowing authenticated database users to see data they don't have sufficient privileges to view. The fix for this vulnerability only fixes fresh PostgreSQL installations, namely those that are created with the initdb utility after this fix is applied. If you have a current PostgreSQL installation and are concerned about this issue, please follow the instructions in the "Updating" section for remediation steps. For the full list of changes, please review the release notes.
postgresql1*: updated to 16.2, 15.6, 14.11, 13.14, 12.18 Security Issues CVE-2024-0985: PostgreSQL non-owner REFRESH MATERIALIZED VIEW CONCURRENTLY executes arbitrary SQL Bug Fixes and Improvements This update fixes over 65 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. Fix memory leak when performing JIT inlining that could lead to out-of-memory conditions. Several query planner fixes. Align MERGE behavior with UPDATE when updating a partition key column and skip firing AFTER UPDATE ROW trigger and other post-update actions. Fix problems with duplicate token names in ALTER TEXT SEARCH CONFIGURATION ... MAPPING commands. Fix DROP ROLE with duplicate role names. Properly lock the associated table during DROP STATISTICS to prevent errors if ANALYZE is running concurrently. Fix function volatility checking for GENERATED and DEFAULT expressions. Ensure collation matches when matching an existing index to a new partitioned index. Avoid failure if a child index is dropped concurrently with REINDEX INDEX on a partitioned index. Fix for locking during cleanup of GIN indexes. For this case, if multiple processes tried to clean the same GIN index page, there was a chance of index corruption. If you believe you were affected by this issue, reindex your GIN indexes after installing this update. Avoid failure with partitioned SP-GiST indexes. Several ownership fixes for large objects. In EXPLAIN (BUFFERS), change name of I/O timing data "shared/local" to "shared". Ensure durability of the CREATE DATABASE command if a system crash occurred during or shortly after execution. Add more logging messages when starting and ending recovery from a backup. Revert a change that made the walreceiver process unresponsive to SIGTERM while waiting for a replication connection to be established. Several fixes for logical replication. Fix incompatibility with OpenSSL 3.2. Fix PL/pgSQL to allow CREATE FUNCTION/CREATE PROCEDURE SQL commands that use SQL-standard function bodies. Fix for error handling in libpq pipeline mode. Ensure initdb always uncomments postgresql.conf entries for the lc_ family of parameters. In pg_dump, don't dump RLS policies or security labels for extension member objects.
postgresql: updated to 16.1, 15.5, 14.10, 13.13, 12.17, and 11.22 Security Issues CVE-2023-5868: Memory disclosure in aggregate function calls CVE-2023-5869: Buffer overrun from integer overflow in array modification CVE-2023-5870: Role pg_signal_backend can signal certain superuser processes Bug Fixes and Improvements 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. Fix issue where GiST indexes had an incorrect behavior during a "page split" operation that could lead to incorrect results in subsequent index searches. Please reindex GiST indexes after installing this update. Fix issue where B-tree indexes would incorrectly de-duplicate interval columns. Please reindex any B-tree index that includes an interval column after installing this update. Provide more efficient indexing of date, timestamptz, and timestamp values in BRIN indexes when using a minmax_multi opsclass. While not required, we recommend reindexing BRIN indexes that include these data types after installing this update. Fix for bulk table insertion into partitioned tables. Fix for hash-partitioned tables with multiple partition keys during step generation and runtime pruning that could lead to crashes in some cases. Throw the correct error if pgrowlocks() is applied to a partitioned table Fix inconsistent rechecking of concurrently-updated rows during MERGE when using READ COMMITTED mode. Correctly identify the target table in an inherited UPDATE/DELETE/MERGE even when the parent table is excluded by constraints. Fix over-allocation of a constructed tsvector. Fix ALTER SUBSCRIPTION to apply changes in the run_as_owner option. Several fixes for COPY FROM, Several fixes for handling torn reads with pg_control. Fix "could not find pathkey item to sort" errors occurring while planning aggregate functions with ORDER BY or DISTINCT options. When track_io_timing is enabled, include the time taken by relation extension operations as write time. Track the dependencies of cached CALL statements, and re-plan them when needed. Treat out-of-memory failures as FATAL while reading WAL. Fix pg_dump to dump the new run_as_owner option of subscriptions. Fix pg_restore so that selective restores will include both table-level and column-level ACLs for selected tables. Add logic to pg_upgrade to check for use of obsolete data types abstime, reltime, and tinterval. Fix vacuumdb to have multiple -N switches actually exclude tables in multiple schemas. amcheck will no longer report interrupted page deletion as corruption. Fix btree_gin indexes on interval columns to properly return data when using the < and <= operators.
postgresql: updated to 15.4, 14.9, 13.12, 12.16, 11.21 PostgreSQL 15.4, 14.9, 13.12, 12.16, 11.21 This release fixes two security vulnerabilities and over 40 bugs reported over the last several months. Security Issues CVE-2023-39417: Extension script @substitutions@ within quoting allow SQL injection. CVE-2023-39418: MERGE fails to enforce UPDATE or SELECT row security policies.
postgresql: updated to 15.3, 14.8, 13.11, 12.15, and 11.20 PostgreSQL 15.3, 14.8, 13.11, 12.15, and 11.20 Security Issues CVE-2023-2454: CREATE SCHEMA ... schema_element defeats protective search_path changes. CVE-2023-2455: Row security policies disregard user ID changes after inlining. Bug Fixes and Improvements This update fixes over 80 bugs that were reported in the last several months. The issues listed below affect PostgreSQL 15. Some of these issues may also affect other supported versions of PostgreSQL. Included in this release: Several fixes for CREATE DATABASE when using the STRATEGY = WAL_LOG, including a potential corruption that could lose modifications to a template/source database. Fix crash with CREATE SCHEMA AUTHORIZATION. Several fixes for MERGE. Several fixes for triggers in partitioned tables. Disallow altering composite types that are stored in indexes. Ensure that COPY TO from a parent table with row-level security enabled does not copy any rows from child tables. Adjust text-search-related character classification logic to correctly detect whether the prevailing locale is C when the default collation of a database uses the ICU provider. Re-allow exponential notation in ISO-8601 interval fields. Improve error reporting for various invalid JSON string literals. Fix data corruption due to vacuum_defer_cleanup_age being larger than the current 64-bit xid. Several fixes for the query parser and planner, including better detection of improperly-nested aggregates. Fix partition pruning bug with the boolean IS NOT TRUE and IS NOT FALSE conditions. Prior to this, NULL partitions were accidentally pruned. Fix memory leak in memoize plan execution. Fix buffer refcount leak on foreign tables using partitions when performing batched inserts. Restore support for sub-millisecond vacuum_cost_delay settings. Several fixes for views and rules. Avoid unnecessary work while scanning a multi-column BRIN index with multiple scan keys. Ignore dropped columns and generated columns during logical replication of an UPDATE or DELETE action. Several fixes for naming and availability of wait events. Support RSA-PSS certificates with SCRAM-SHA-256 channel binding. This feature requires building with OpenSSL 1.1.1 or newer. Avoid race condition with process ID tracking on Windows. Fix memory leak within a session for PL/pgSQL DO blocks that use cast expressions. Tighten array dimensionality checks from PL/Perl and PL/Python when converting list structures to multi-dimensional SQL arrays. Fix pg_dump so that partitioned tables that are hash-partitioned on an enumerated type column can be restored successfully. Fix for pg_trgm where an unsatisfiable regular expression could lead to a crash when using a GiST or GIN index. Limit memory usage of pg_get_wal_records_info() in pg_walinspect.
postgresql: updated to 15.2, 14.7, 13.10, 12.14, and 11.19 Security Issues CVE-2022-41862: Client memory disclosure when connecting, with Kerberos, to modified server. Versions Affected: 12 - 15. A modified, unauthenticated server or an unauthenticated man-in-the-middle can send an unterminated string during the establishment of Kerberos transport encryption. When a libpq client application has a Kerberos credential cache and doesn't explicitly disable option gssencmode, a server can cause libpq to over-read and report an error message containing uninitialized bytes from and following its receive buffer. If libpq's caller somehow makes that message accessible to the attacker, this achieves a disclosure of the over-read bytes. We have not confirmed or ruled out viability of attacks that arrange for a crash or for presence of notable, confidential information in disclosed bytes. The PostgreSQL project thanks Jacob Champion for reporting this problem. Bug Fixes and Improvements This update fixes over 60 bugs that were reported in the last several months. The issues listed below affect PostgreSQL 15. Some of these issues may also affect other supported versions of PostgreSQL. Included in this release: Fix for partitioned tables to correctly update GENERATED columns in child tables if the GENERATED column does not exist in the parent table or the child generated column has different dependencies than the parent. Several fixes for the MERGE command. Allow a WITH RECURSIVE ... CYCLE query to access its SET output column. Fix an issue with bulk insertions on foreign tables that could lead to logical inconsistencies, for example, a BEFORE ROW trigger may not process rows that should be available. Reject uses of undefined variables in jsonpath existence checks. Fix for jsonb subscripting that come directly from a text column in a table. Honor updated values of checkpoint_completion_target on reload. Log the correct ending timestamp in recovery_target_xid mode. Fix issue to allow column lists longer than 100 when using logical replication. Prevent "wrong tuple length" failure at the end of VACUUM. Avoid an immediate commit after ANALYZE when using query pipelining. Several fixes to the query planner, including one that provides more opportunities for using memoization with partitionwise joins. Fix for statistics collection to correctly handle when a relation changes type (e.g. a table is converted to a view). Ensure full text search queries can be cancelled while performing phrase matches. Fix deadlock between DROP DATABASE and logical replication worker process. Fix small session-lifespan memory leak when CREATE SUBSCRIPTION fails its connection attempt. Performance improvement for replicas with hot_standby enabled that are processing SELECT queries. Several fixes for logical decoding that improve its stability and bloat handling. Fix the default logical replication plug-in, pgoutput, to not send columns that are not listed in a table's replication column list. Fix possible corruption of very large tablespace map files in pg_basebackup. Remove a harmless warning from pg_dump in --if-exists mode when the public schema has a non-default owner. Fix the psql commands \sf and \ef to handle SQL-language functions that have SQL-standard function bodies (i.e. BEGIN ATOMIC). Fix tab completion of ALTER FUNCTION/PROCEDURE/ROUTINE ... SET SCHEMA. Update the pageinspect extension to mark its disk-accessing functions as PARALLEL RESTRICTED. Fix the seg extension to not crash or print garbage if an input number has more than 127 digits.
postgresql1[0-5]: Updated to 15.1, 14.6, 13.9, 12.13, 11.18, and 10.23 PostgreSQL 15.1, 14.6, 13.9, 12.13, 11.18, and 10.23 Released! Bug Fixes and Improvements This update fixes over 25 bugs that were reported in the last several months. The issues listed below affect PostgreSQL 15. Some of these issues may also affect other supported versions of PostgreSQL. Included in this release: Fix for updatable views for INSERT statements that include multi-row VALUES clauses with a DEFAULT set. Disallow rules named _RETURN that are not ON SELECT rules. Disallow use of MERGE on a partitioned table that has foreign-table partitions. Fix for construction of per-partition foreign key constraints while doing ALTER TABLE ... ATTACH PARTITION, where previously incorrect or duplicate constraints could be built. Fix for a planner failure with extended statistics on partitioned or inherited tables. Fix bugs in logical decoding that could lead to memory leaks when replay starts from a point between the beginning of a transaction and the beginning of its subtransaction. Fix issues with slow shutdown of replication workers by allowing interrupts in more places. Disallow logical replication into foreign-table partitions. Prevent crash in replication works after a SQL or PL/pgSQL function syntax error. psql -c now exits with a nonzero status if the query is canceled. Allow cross-platform tablespace relocation in pg_basebackup. Fix pg_dump to include comments attached to some CHECK constraints.
postgresql: updated to 14.5, 13.8, 12.12, 11.17, 10.22 This update fixes over 40 bugs that were reported in the last several months. The issues listed below affect PostgreSQL 14. Some of these issues may also affect other supported versions of PostgreSQL. Included in this release: Fix replay of CREATE DATABASE write-ahead log (WAL) records on standby servers when encountering a missing tablespace directory. Add support for tablespaces that are plain directories instead of symbolic links to other directories. Fix permission checks in CREATE INDEX to use the user's permissions. This fixes broken dump/restore scenarios that relied on the behavior prior to the fix for CVE-2022-1552. In the extended query protocol, force an immediate commit after CREATE DATABASE and other commands that can't run in a transaction block. Fix a race condition around checking transaction visibility that was more likely to happen when using synchronous replication. Fix incorrect permission-checking code for extended statistics. Fix extended statistics machinery to handle most common value (MCV)-type statistics on boolean-valued expressions. Avoid planner core dump with constant = ANY(array) clauses when there are MCV-type extended statistics on the array variable. Allow cancellation of ANALYZE while it is computing extended statistics. Fix ALTER TABLE ... ENABLE/DISABLE TRIGGER to handle recursion for triggers on partitioned tables. Reject ROW() expressions and functions in FROM that have more than 1600 columns. Fix memory leak in logical replication subscribers. Fix checks in logical replication of replica identity when the target table is partitioned. Arrange to clean up after commit-time errors within SPI_commit(), rather than expecting callers to do that. This includes a fix for the same scenario in PL/Python, which had reported crashes on Python 3.11 and memory leaks on older versions of Python 3. Improve handling in libpq of idle states in pipeline mode. In the psql \watch command, echo a newline after cancellation with control-C. Fix pg_upgrade to detect non-upgradable usages of functions accepting anyarray parameters. Several postgres_fdw fixes, including prevention of batch insertions when there are WITH CHECK OPTION constraints present.
postgresql14: updated to 14.4 PostgreSQL 14.4 Released! The PostgreSQL Global Development Group has released PostgreSQL 14.4 to fix an issue that could cause silent data corruption when using the CREATE INDEX CONCURRENTLY or REINDEX CONCURRENTLY commands. Please see the following section for information on how to detect and correct silent data corruption in your indexes. This release also fixes over 15 bugs since PostgreSQL 14.3 was released in May. For the full list of changes, please review the release notes.
postgresqlNN: updated to 14.3, 13.7, 12.11, 11.16, and 10.21 The PostgreSQL Global Development Group has released an update to all supported versions of PostgreSQL, including 14.3, 13.7, 12.11, 11.16, and 10.21. This release closes one security vulnerability and fixes over 50 bugs reported over the last three months. CVE-2022-1552: Autovacuum, REINDEX, and others omit "security restricted operation" sandbox. Versions Affected: 10 - 14. The security team typically does not test unsupported versions, but this problem is quite old. Autovacuum, REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW, CLUSTER, and pg_amcheck made incomplete efforts to operate safely when a privileged user is maintaining another user's objects. Those commands activated relevant protections too late or not at all. An attacker having permission to create non-temp objects in at least one schema could execute arbitrary SQL functions under a superuser identity. While promptly updating PostgreSQL is the best remediation for most users, a user unable to do that can work around the vulnerability by disabling autovacuum, not manually running the above commands, and not restoring from output of the pg_dump command. Performance may degrade quickly under this workaround. VACUUM is safe, and all commands are fine when a trusted user owns the target object. Bug Fixes and Improvements This update fixes over 50 bugs that were reported in the last several months. The issues listed below affect PostgreSQL 14. Some of these issues may also affect other supported versions of PostgreSQL. Included in this release: Fix issue that could lead to corruption of GiST indexes on ltree columns. After upgrading, you will need to reindex any GiST indexes on ltree columns. Column names in tuples produced by a whole-row variable (e.g. tbl.*) outside of a top-level of a SELECT list are now always associated with those of the associated named composite type, if there is one. The release notes detail a workaround if you depend on the previous behavior. Fix incorrect rounding when extracting epoch values from interval types. Prevent issues with calling pg_stat_get_replication_slot(NULL). Fix incorrect output for types timestamptz and timetz in table_to_xmlschema(). Fix errors related to a planner issue that affected asynchronous remote queries. Fix planner failure if a query using SEARCH or CYCLE features contains a duplicate common-table expression (WITH) name. Fix ALTER FUNCTION to support changing a function's parallelism property and its SET-variable list in the same command. Fix incorrect sorting of table rows when using CLUSTER on an index whose leading key is an expression. Prevent data loss if a system crash occurs shortly after a sorted GiST index build. Fix risk of deadlock failures while dropping a partitioned index. Fix race condition between DROP TABLESPACE and checkpointing that could fail to remove all dead files from the tablespace directory. Fix potential issue in crash recovery after a TRUNCATE command that overlaps with a checkpoint. Re-allow _ as the first character in a custom configuration parameter name. Fix PANIC: xlog flush request is not satisfied failure during standby promotion when there is a missing WAL continuation record. Fix possibility of self-deadlock in hot standby conflict handling. Ensure that logical replication apply workers can be restarted when the server is near the max_sync_workers_per_subscription limit. Disallow execution of SPI functions during PL/Perl function compilation. libpq now accepts root-owned SSL private key files, which matches the rules the server has used since the 9.6 release. Re-allow database.schema.table patterns in psql, pg_dump, and pg_amcheck. Several fixes for pageinspect to improve overall stability. Disable batch insertion in postgres_fdw when BEFORE INSERT ... FOR EACH ROW triggers exist on the foreign table. Update JIT code to work with LLVM 14.
postgresql1N: updated to 14.2, 13.6, 12.10, 11.15, and 10.20 PostgreSQL 14.2, 13.6, 12.10, 11.15, and 10.20 Released! This update fixes over 55 bugs that were reported in the last several months. The issues listed below affect PostgreSQL 14. Some of these issues may also affect other supported versions of PostgreSQL. Included in this release: Fix for a low probability scenario of index corruption when a HOT (heap-only tuple) chain changes state during VACUUM. Encountering this issue is unlikely, but if you are concerned, please consider reindexing. Fix for using REINDEX CONCURRENTLY on TOAST table indexes to prevent corruption. You can fix any TOAST indexes by reindexing them again. The psql \password command now defaults to setting the password for the role defined by CURRENT_USER. Additionally, the role name is now included in the password prompt. Build extended statistics for partitioned tables. If you previously added extended statistics to a partitioned table, you should run ANALYZE on those tables. As autovacuum currently does not process partitioned tables, you must periodically run ANALYZE on any partitioned tables to update their statistics. Fix crash with ALTER STATISTICS when the statistics object is dropped concurrently. Fix crash with multiranges when extracting variable-length data types. Several fixes to the query planner that lead to incorrect query results. Several fixes for query plan memoization. Fix startup of a physical replica to tolerate transaction ID wraparound. When using logical replication, avoid duplicate transmission of a partitioned table's data when the publication includes both the child and parent tables. Disallow altering data type of a partitioned table's columns when the partitioned table's row type is used as a composite type elsewhere. Disallow ALTER TABLE ... DROP NOT NULL for a column that is part of a replica identity index. Several fixes for caching that correct logical replication behavior and improve performance. Fix memory leak when updating expression indexes. Avoid leaking memory during REASSIGN OWNED BY operations that reassign ownership of many objects. Fix display of whole-row variables appearing in INSERT ... VALUES rules. Fix race condition that could lead to failure to localize error messages that are reported early in multi-threaded use of libpq or ecpglib. Fix psql \d command for identifying parent triggers. Fix failures on Windows when using the terminal as data source or destination. This affected the psql \copy command and using pg_recvlogical with -f -. Fix the pg_dump --inserts and --column-inserts modes to handle tables that contain both generated and dropped columns. Fix edge cases in how postgres_fdw handles asynchronous queries. These errors could lead to crashes or incorrect results when attempting to run parallel scans of foreign tables. For the full list of changes available, please review the release notes.
postgresql: updated to 14.1, 13.5, 12.9, 11.14, 10.19, 9.6.24 PostgreSQL 14.1, 13.5, 12.9, 11.14, 10.19, and 9.6.24 Security Issues CVE-2021-23214: Server processes unencrypted bytes from man-in-the-middle Versions Affected: 9.6 - 14. The security team typically does not test unsupported versions, but this problem is quite old. When the server is configured to use trust authentication with a clientcert requirement or to use cert authentication, a man-in-the-middle attacker can inject arbitrary SQL queries when a connection is first established, despite the use of SSL certificate verification and encryption. The PostgreSQL project thanks Jacob Champion for reporting this problem. CVE-2021-23222: libpq processes unencrypted bytes from man-in-the-middle Versions Affected: 9.6 - 14. The security team typically does not test unsupported versions, but this problem is quite old. A man-in-the-middle attacker can inject false responses to the client's first few queries, despite the use of SSL certificate verification and encryption. If more preconditions hold, the attacker can exfiltrate the client's password or other confidential data that might be transmitted early in a session. The attacker must have a way to trick the client's intended server into making the confidential data accessible to the attacker. A known implementation having that property is a PostgreSQL configuration vulnerable to CVE-2021-23214. As with any exploitation of CVE-2021-23214, the server must be using trust authentication with a clientcert requirement or using cert authentication. To disclose a password, the client must be in possession of a password, which is atypical when using an authentication configuration vulnerable to CVE-2021-23214. The attacker must have some other way to access the server to retrieve the exfiltrated data (a valid, unprivileged login account would be sufficient). The PostgreSQL project thanks Jacob Champion for reporting this problem. Bug Fixes and Improvements This update fixes over 40 bugs that were reported in the last several months. The issues listed below affect PostgreSQL 14. Some of these issues may also affect other supported versions of PostgreSQL. Some of these fixes include: Fix physical replication for cases where the primary crashes after shipping a WAL segment that ends with a partial WAL record. When applying this update, update your standby servers before the primary so that they will be ready to handle the fix if the primary happens to crash. Fix parallel VACUUM so that it will process indexes below the min_parallel_index_scan_size threshold if the table has at least two indexes that are above that size. This problem does not affect autovacuum. If you are affected by this issue, you should reindex any manually-vacuumed tables. Fix causes of CREATE INDEX CONCURRENTLY and REINDEX CONCURRENTLY writing corrupt indexes. You should reindex any concurrently-built indexes. Fix for attaching/detaching a partition that could allow certain INSERT/UPDATE queries to misbehave in active sessions. Fix for creating a new range type with CREATE TYPE that could cause problems for later event triggers or subsequent executions of the CREATE TYPE command. Fix updates of element fields in arrays of a domain that is a part of a composite. Disallow the combination of FETCH FIRST WITH TIES and FOR UPDATE SKIP LOCKED. Fix corner-case loss of precision in the numeric power() function. Fix restoration of a Portal's snapshot inside a subtransaction, which could lead to a crash. For example, this could occur in PL/pgSQL when a COMMIT is immediately followed by a BEGIN ... EXCEPTION block that performs a query. Clean up correctly if a transaction fails after exporting its snapshot. This could occur if a replication slot was created then rolled back, and then another replication slot was created in the same session. Fix for "overflowed-subtransaction" wraparound tracking on standby servers that could lead to performance degradation. Ensure that prepared transactions are properly accounted for during promotion of a standby server. Ensure that the correct lock level is used when renaming a table. Avoid crash when dropping a role that owns objects being dropped concurrently. Disallow setting huge_pages to on when shared_memory_type is sysv Fix query type checking in the PL/pgSQL RETURN QUERY. Several fixes for pg_dump, including the ability to dump non-global default privileges correctly. Use the CLDR project's data to map Windows time zone names to IANA time zones. This update also contains tzdata release 2021e for DST law changes in Fiji, Jordan, Palestine, and Samoa, plus historical corrections for Barbados, Cook Islands, Guyana, Niue, Portugal, and Tonga. Also, the Pacific/Enderbury zone has been renamed to Pacific/Kanton. Also, the following zones have been merged into nearby, more-populous zones whose clocks have agreed with them since 1970: Africa/Accra, America/Atikokan, America/Blanc-Sablon, America/Creston, America/Curacao, America/Nassau, America/Port_of_Spain, Antarctica/DumontDUrville, and Antarctica/Syowa. In all these cases, the previous zone name remains as an alias.
databases: Replace RMD160 checksums with BLAKE2s checksums All checksums have been double-checked against existing RMD160 and SHA512 hashes The following distfiles could not be fetched (some may be only fetched conditionally): ./databases/cstore/distinfo D6.data.ros.gz ./databases/cstore/distinfo cstore0.2.tar.gz ./databases/cstore/distinfo data4.tar.gz
postgresql, patch, go: remove SHA1 hash from distfiles Found by pkglint 21.3.1.
postgresql14: added version 14.0 PostgreSQL 14 contains many new features and enhancements, including: Stored procedures can now return data via OUT parameters. The SQL-standard SEARCH and CYCLE options for common table expressions have been implemented. Subscripting can now be applied to any data type for which it is a useful notation, not only arrays. In this release, the jsonb and hstore types have gained subscripting operators. Range types have been extended by adding multiranges, allowing representation of noncontiguous data ranges. Numerous performance improvements have been made for parallel queries, heavily-concurrent workloads, partitioned tables, logical replication, and vacuuming. B-tree index updates are managed more efficiently, reducing index bloat. VACUUM automatically becomes more aggressive, and skips inessential cleanup, if the database starts to approach a transaction ID wraparound condition. Extended statistics can now be collected on expressions, allowing better planning results for complex queries. libpq now has the ability to pipeline multiple queries, which can boost throughput over high-latency connections.