docs/content/stable/releases/ybdb-releases/v2025.1.md
What follows are the release notes for the YugabyteDB 2025.1 release series. Content will be added as new notable features and changes are available in the patch releases of the YugabyteDB 2025.1 release series.
For an RSS feed of all release series, point your feed reader to the RSS feed for releases.
Build: 2025.1.4.0-b103
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Docker:
docker pull yugabytedb/yugabyte:2025.1.4.0-b103
pg_replication_origin_session_setup. {{<issue 29842>}}YbctidReader instances for different components. {{<issue 29781>}}yb-ts-cli tool. {{<issue 7832>}}ysql_clone_disable_connections flag to allow YSQL database connections during cloning. {{<issue 29678>}}log-dump to read encrypted WAL files using the master_addresses flag. {{<issue 17816>}}FetchData RPC to handle intermittent network issues during remote bootstrapping. {{<issue 26217>}}tablet_split_candidates metric for tracking unsplitted tablet counts. {{<issue 28958>}}PRE_VOTER to VOTER until local bootstrap completes. {{<issue 29795>}}follower_unavailable_considered_failed_sec as a runtime flag. {{<issue 30123>}}DETAIL_LEVEL without changing default log visibility. {{<issue 30307>}}ysql_dump output on script failure during DB cloning. {{<issue 29607>}}FLAGS_num_advisory_locks_tablets to 3. {{<issue 30823>}}are_nodes_safe_to_take_down to check if nodes can be taken down without losing quorum. {{<issue 28020>}}backend_xmin in pg_stat_get_activity. {{<issue 29747>}}epoll_* functions and fixing syntax errors. {{<issue 29827>}}INSERT ... ON CONFLICT for partial indexes. {{<issue 30104>}}pg_upgrade to pg_upgrade_data, ensuring successful execution even when yb-master is run from a non-writable directory, and avoid common errors related to directory permissions. {{<issue 29172>}}PgSession::RunAsync method signature for easier future modifications. {{<issue 26307>}}yb_ycql_utils to supported extensions for YSQL major upgrades. {{<issue 29973>}}ysql_dump now correctly honors the PGHOST environment variable, prioritizing the -h flag. {{<issue 29976>}}.arclint. {{<issue 30190>}}ALTER TYPE operations. {{<issue 30416>}}YbctidReader instances for different components. {{<issue 29781>}}COMMIT occurs inside a procedure. {{<issue 30459>}}OBJECT_NOT_FOUND errors to refresh cache. {{<issue 29589>}}table_id to populate namespace_id in metadata, preventing issues from namespace renames. {{<issue 29901>}}durable_wal_write is set to false. {{<issue 23453>}}default_time_to_live is set to 0. {{<issue 29710>}}CREATE INDEX statements with special options like colocation_id. {{<issue 29337>}}ysql_db_catalog_version_map. {{<issue 29476>}}kPgSession transactions to better detect deadlocks. {{<issue 30252>}}pgwrapper::PqEscapeLiteral function to escape literals in clone scripts. {{<issue 30694>}}GetConsistentWALRecords returns zero WAL records near request deadlines, improving reliability in partially streamed transactions. The change also enables cdc_enable_savepoint_rollback_filtering by default, ensuring better support for Savepoint/Rollback operations in CDC. {{<issue 29396>}}Build: 2025.1.3.2-b1
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Docker:
docker pull yugabytedb/yugabyte:2025.1.3.2-b1
This is a YugabyteDB Anywhere-only release, with no changes to YugabyteDB.
Build: 2025.1.3.1-b2
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Docker:
docker pull yugabytedb/yugabyte:2025.1.3.1-b2
INSERT ... ON CONFLICT operations. {{<issue 30104>}}Build: 2025.1.3.0-b75
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Docker:
docker pull yugabytedb/yugabyte:2025.1.3.0-b75
ysql_conn_mgr_max_phy_conn_percent and introduced new flag ysql_conn_mgr_reserve_internal_conns for reserving connections for internal operations. {{<issue 28859>}}CatalogManager::mutex_ for each placement run, thus improving efficiency. {{<issue 29183>}}InterprocessSharedMemoryObject and InterprocessMappedRegion to wrap boost::interprocess calls, converting exceptions to Status returns. {{<issue 27826>}}/snapshots endpoint to TServer UI displaying space overhead information of snapshots, including snapshot ID, time, cumulative required space, exclusive data space, and schedule ID. {{<issue 29388>}}CatalogManager::GetYsqlCatalogConfig to use catalog_version_table_in_perdb_mode_ over ysql_enable_db_catalog_version_mode for accurate per-db mode representation. {{<issue 28690>}}pggate_rpc_timeout_secs. {{<issue 28863>}}colocation_id in colocated databases. The fix preserves the original colocation_id when implicit indexes are created during the ALTER TABLE statement, ensuring that the colocation ids are consistent after restoration. {{<issue 29260>}}ysql_yb_enable_update_reltuples_after_create_index to update reltuples for base table and index after CREATE INDEX, aligning with PostgreSQL behavior. {{<issue 25394>}}yb_ignore_bool_cond_for_legacy_estimate, allowing setting via flag before upgrading from 2.20. {{<issue 29831>}}YBParsePrepareErrorResponse packet for unnamed prepared statements. {{<issue 29526>}}table_info to IsTabletCoveredBySnapshot. {{<issue 28679>}}enable_export_snapshot_using_relfilenode autoflag from kLocalVolatile to kExternal, protecting format_version field changes in SnapshotInfoPB. {{<issue 27155>}}min_replay_txn_first_write_ht to address transaction data loss that occurred due to incorrect filtering of transactions on bootstrap. {{<issue 29642>}}kDeadlock errors, especially in cases involving advisory locks and DDL transactions. {{<issue 28593>}}od_frontend_remote_client. {{<issue 29303>}}od_write function to prevent double free of mm_msg_t objects and enhanced machine_msg_free to handle NULL messages. {{<issue 29398>}}PeerMessageQueue::ReadReplicatedMessagesForConsistentCDC where WAL Ops were missed due to bugs in record reading and handling of approaching deadlines. {{<issue 29060>}}pg_publication_rel and pg_class tables. {{<issue 29140>}}Build: 2025.1.2.2-b5
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Docker:
docker pull yugabytedb/yugabyte:2025.1.2.2-b5
This is a YugabyteDB Anywhere-only release, with no significant changes to YugabyteDB.
Build: 2025.1.2.1-b4
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Docker:
docker pull yugabytedb/yugabyte:2025.1.2.1-b4
This is a YugabyteDB Anywhere-only release, with no significant changes to YugabyteDB.
Build: 2025.1.2.0-b110
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Docker:
docker pull yugabytedb/yugabyte:2025.1.2.0-b110
CDC data now retained for 24 hours by default in case the CDC client/consumer is offline. {{<tags/feature/ga idea="1171">}}
Improved YSQL Connection Manager performance. Reduced the cost of binding logical to physical connections to improve performance and lower application-level latencies, specifically by optimizing the GUC workflow. {{<tags/feature/ga idea="2197">}}
yb_enable_cbo=legacy_ignore_stats_bnl_mode. {{<issue 28703>}}yb_read_after_commit_visibility to relaxed to avoid restart read required errors during yb_index_check. {{<issue 27288>}}pg_range is preloaded. {{<issue 28991>}}pg_total_relation_size to include index sizes, ensuring accurate and consistent size reporting across YugabyteDB's distributed storage. {{<issue 23181>}}yb_active_session_history by filtering out rows more quickly. {{<issue 29089>}}wal_size metric to include the size of the current active, writable segment, ensuring accurate reflection of on-disk size. {{<issue 15274>}}xcluster_enable_ddl_replication from a preview flag to an kExternal flag. {{<issue 27831>}}ysql_yb_enable_implicit_dynamic_tables_logical_replication from a test to preview flag. {{<issue 26424>}}list_change_data_streams output. {{<issue 28646>}}GetChanges to clients for more transparency. {{<issue 28033>}}pg_enum in ysql_catalog_preload_additional_table_list. {{<issue 28757>}}yb-admin ysql_catalog_version command to return per-DB Catalog Version value for a provided database. {{<issue 28690>}}TimeZone is not lowercased in connection manager for correct pgJDBC interpretation. {{<issue 28537>}}INSERT ...ON CONFLICT ...DO NOTHING statements. {{<issue 28324>}}yb_index_check operation, reducing risk of Snapshot too old error on larger indexes. {{<issue 26283>}}yb_make_next_ddl_statement_nonincrementing to enable incremental catalog cache refresh by default. {{<issue 28765>}}kAbort and kConflict errors for clearer troubleshooting. {{<issue 28157>}}yb_ prefix exist, except yb_superuser. {{<issue 28977>}}yb_locks_min_txn_age and yb_locks_max_transactions settings. {{<issue 27851>}}Unable to find schema name for YSQL table errors and optimizes the retrieval of YSQL Table Oid. {{<issue 28793>}},{{<issue 27590>}}wal_size metric when reusing existing segments. {{<issue 28720>}}CHANGE replica identity. {{<issue 28629>}}yb_ignore_read_time_in_walsender parameter for logical replication continuity during upgrades. {{<issue 27177>}}Build: 2025.1.1.2-b3
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Docker:
docker pull yugabytedb/yugabyte:2025.1.1.2-b3
Build: 2025.1.1.1-b1
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Docker:
docker pull yugabytedb/yugabyte:2025.1.1.1-b1
We're excited to announce the key features and enhancements in the 2025.1.1.1 release, designed to improve performance, usability, and management of your database environments.
Table-level locking for concurrent DDL and DML {{<tags/feature/tp idea="1114">}}
Added Table-level locks to support concurrent DDL and DML operations, improving workload concurrency and reducing conflicts during schema changes.
YugabyteDB CDC Connector on Confluent Hub {{<tags/feature/ga idea="151">}}
The YugabyteDB CDC Connector is now available directly on Confluent Hub, making it easier to integrate YugabyteDB into event-driven architectures. For more information on CDC, refer to Change data capture (CDC).
Truncate table support in xCluster replication {{<tags/feature/ea idea="1608">}}
Enables TRUNCATE operations to be safely replicated in xCluster environments, ensuring consistency across distributed clusters. For more information, refer to xCluster replication.
Added support for SCRAM-based password authentication in Connection manager, enhancing security beyond the previously supported MD5 method. {{<tags/feature/ea idea="2194">}}
Query diagnostics. You can use a new YSQL function yb_query_diagnostics, to create a diagnostics bundle for a normalised YSQL query for a time range to speed up troubleshooting. The bundle contains critical data like the EXPLAIN PLAN, bind variables, pg_statement_stats, schema details, and Active Session History. {{<tags/feature/ea idea="1591">}}
yb_ddl_transaction_block_enabled flag. {{<issue 3109>}},{{<issue 27715>}}CatalogInvalMessagesDataDebugString. {{<issue 27387>}}upgrade_ysql to exit early if YSQL is not enabled. {{<issue 27167>}}EXPLAIN (ANALYZE, DIST, DEBUG) output. {{<issue 26086>}}YB_BITMAP_DISCOURAGE_MODIFIER to better reflect actual bitmap scan costs. {{<issue 23565>}}GUC_EXPLAIN flag to YB-specific GUC parameters for enhanced EXPLAIN output. {{<issue 26864>}}pg_log_backend_memory_contexts for enhanced debugging. {{<issue 27879>}}hnsw.ef_search as a new YSQL configuration parameter, mirroring ybhnsw.ef_search. {{<issue 26629>}}MakeOptionalScopeExit function. {{<issue 27786>}}yb_fk_references_cache_limit parameter to cap FK references cache entries at 65535. {{<issue 27739>}}Perfrom requests, enhancing readability and usability. {{<issue 27965>}}Perform RPC for YSQL. {{<issue 27432>}}COPY FROM commands in a transaction block use one transaction unit. {{<issue 27061>}}pg_cache_response_trust_auth_lifetime_limit_ms. {{<issue 28261>}}ysql_hba_conf_csv without server restarts. {{<issue 28361>}}ysql_enable_scram_channel_binding to enable SCRAM with channel binding. {{<issue 28108>}}yb_extension role to create access methods during extension setup. {{<issue 26857>}}FormatBytesAsStr to prevent large memory allocations. {{<issue 27924>}}namespace_id when necessary. {{<issue 28124>}}master_ysql_operation_lease_ttl_ms flag unnecessarily. {{<issue 27681>}}TRUNCATE TABLE support in xCluster automatic mode with new flags and triggers. {{<issue 23958>}}disable_core_dumps_on_fatal. {{<issue 28007>}}enable_object_lock_fastpath and pg_client_use_shared_memory in all Linux builds. {{<issue 28165>}}boost::optional lint rule in code reviews. {{<issue 28353>}}yb_disable_auto_analyze via non-standard methods. {{<issue 27630>}}pg_stat_replication_slot view with accurate and updated replication statistics. {{<issue 25510>}}yb_restart_time column to pg_replication_slots. {{<issue 27764>}}ON COMMIT DROP. {{<issue 27339>}}TimeZone is not lowercased in connection manager for correct pgJDBC interpretation. {{<issue 28537>}}ysql_dumpall. {{<issue 25731>}}ysql_conn_mgr_sequence_support_mode=pooled_with_currval_lastval. {{<issue 27024>}}COPY FROM/TO commands. {{<issue 28093>}}ALTER TABLE SET TABLESPACE. {{<issue 26995>}}kIdle instead of kUnused. {{<issue 28303>}}REFRESH MATERIALIZED VIEW CONCURRENTLY. {{<issue 26007>}}yb_force_early_ddl_serialization by default to avoid conflict errors. {{<issue 27761>}}pg_yb_invalidation_messages to prevent full catalog refreshes. {{<issue 27776>}}postgres_fdw to use ybctid for identifying tuples, ensuring compatibility and functionality. {{<issue 11419>}}ALTER TABLE when transactional DDL is enabled. {{<issue 28044>}},{{<issue 28040>}},{{<issue 28000>}}yb_wait_event_desc to improve data analysis accuracy. {{<issue 27260>}}yb_db_admin roles to set PL speculative execution parameters. {{<issue 28101>}}IsRenewRequired works as expected. {{<issue 28226>}}yb_enable_cbo correctly activates when legacy YSQL configuration parameters are ON. {{<issue 28156>}}dump_role_checks flag for new role-related statements in ysql_dump and ysql_dumpall. {{<issue 27795>}}dump_role_checks in ysql_dumpall for role-related statements after creating profiles. {{<issue 28235>}}PgsqlVectorFilter. {{<issue 28411>}}ysqlsh connections with empty passwords under load. {{<issue 28174>}}ALTER ROLE ... SET configurations across multiple databases. {{<issue 27945>}}DROP TABLE operation. {{<issue 28285>}}pg_hint_plan.enable_hint_table and compute_query_id to prevent errors. {{<issue 27633>}}docdb transactions post-abort to avoid state conflicts in locks. {{<issue 27559>}}pg_locks with specific iterator settings and intent limits. {{<issue 27810>}}shared_tablet_safe. {{<issue 27632>}}pg_locks output. {{<issue 28163>}}rocksdb_block_cache_bytes_read metrics to reduce noise and overhead. {{<issue 27017>}}ysql_ddl_rpc_timeout_sec flag. {{<issue 28168>}}pg_client_session.cc. {{<issue 27707>}}initdb to prevent failures. {{<issue 27444>}}ysql_enable_db_catalog_version_mode is false. {{<issue 27872>}}FLAGS_txn_slow_op_threshold_ms is set to 0. {{<issue 27996>}}TSLocalLockManager is only created when both enable_ysql and enable_object_locking_for_table_locks are enabled. {{<issue 28126>}}ALTER DEFAULT PRIVILEGES commands in xCluster automatic mode. {{<issue 27051>}}snapshot_hybrid_time for accurate backups. {{<issue 27575>}}cron.yb_enable_on_xcluster_target. {{<issue 26799>}}write_id to prevent data loss. {{<issue 28166>}}yb_ignore_read_time_in_walsender parameter for logical replication continuity during upgrades. {{<issue 27177>}}Build: 2025.1.0.1-b3
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Docker:
docker pull yugabytedb/yugabyte:2025.1.0.1-b3
FLAGS_txn_slow_op_threshold_ms is set to 0. {{<issue 27996>}}Build: 2025.1.0.0-b168
Third-party licenses: YugabyteDB, YugabyteDB Anywhere
Docker:
docker pull yugabytedb/yugabyte:2025.1.0.0-b168
PostgreSQL 15 compatible YugabyteDB clusters {{<tags/feature/ga idea="358">}}
This is the first stable release featuring a PostgreSQL fork rebase from version 11.2 to 15.0, enabling you to leverage the many key capabilities introduced in PostgreSQL between the two versions. This upgrade brings YSQL API support for numerous features, including stored generated columns, foreign keys on partitioned tables, and non-distinct NULLs in unique indexes. It also introduces query execution optimizations like incremental sort and memoization, along with various observability and security enhancements.
We're also pleased to announce that YugabyteDB 2025.1.0.0 supports in-place online upgrades and downgrade—even with the PostgreSQL fork rebased to 15.0.
Note that the source cluster must be running version 2024.2.3.0 or later to upgrade to version 2025.1.0. For more information, refer to PostgreSQL 15 features.
Support pgvector extension - With indexing support {{<tags/feature/tp idea="1111">}}
Brings AI-native capability by supporting pgvector with indexing, enabling efficient similarity search in vector workloads. Enhances vector search capabilities by introducing Hierarchical Navigable Small World (HNSW) indexing, enabling faster and more efficient high-dimensional vector lookups.
Automatic transactional xCluster DDL replication {{<tags/feature/ea idea="153">}}
YugabyteDB now supports seamless replication of YSQL DDL changes across xCluster setups, eliminating the need to manually apply DDLs on both source and target clusters. For more information, refer to Automatic DDL replication.
Parallel queries: Enabling PG parallelism for colocated tables {{<tags/feature/ga idea="577">}}
Improves query performance for colocated tables by allowing PostgreSQL to leverage multiple CPUs, leading to faster query execution times. For more information, refer to Parallel queries.
Optimization for INSERT ON CONFLICT batching {{<tags/feature/ga idea="1455">}}
Queries using the INSERT ... ON CONFLICT clause are optimized for efficient execution, with automatic batching applied when multiple statements are executed to improve performance.
For more information, refer to yb_insert_on_conflict_read_batch_size.
Cost-Based Optimizer (CBO) {{<tags/feature/ga idea="483">}}
The CBO leverages YugabyteDB's distributed storage architecture and advanced query execution optimizations, including query pushdowns, LSM indexes, and batched nested loop joins, to deliver PostgreSQL-like performance.
For instructions on enabling CBO, refer to Enable cost-based optimizer.
Bitmap scan support {{<tags/feature/ga idea="1092">}}
Combine multiple indexes for more efficient scans. For instructions on enabling bitmap-scan support, refer to enable_bitmapscan.
Improvement to backward scans {{<tags/feature/ga idea="1326">}}
Fast backward scans are now enabled by default (use_fast_backward_scan=true). This improves performance of YSQL backward table scans (for example, a descending-sorted query occurs against a table that is sorted ascending) by up to 10x.
yugabyted
Support for upgrading to PG15 using yugabyted. {{<tags/feature/ea idea="1746">}}
A new yugabyted UI tab displays the xCluster replication details of the source and destination universe. {{<tags/feature/ga idea="1763">}}
Adds support for IPv6 addresses. {{<tags/feature/ga idea="1854">}}
Voyager assessment UI enhancements which provide detailed information on migration complexity and breakdown of schema recommendation. {{<tags/feature/ga idea="2184">}}
Provides ability to find catalog tables which can be preloaded to improve latency for first query in connection or after DDL in the cluster. {{<tags/feature/ga idea="1781">}}
Compressed catalog tuples when storing in the PG catalog cache to reduce the memory consumption. {{<tags/feature/ga idea="1229">}}
Optimized DDL performance by enabling targeted catalog cache invalidation, significantly reducing impact on concurrent DMLs. This avoids rebuilding the entire cache in most cases. {{<tags/feature/ga idea="599">}}
Sampling schema in Analyze. With sampled analyze, the time to analyze a table is no longer proportional to the size of the table. This improvement brings the time to analyze down significantly. For example, time to analyze 1 TB table is down from 35 minutes to under 3 minutes. {{<tags/feature/ga idea="1790">}}
Improved bulk load performance for colocated tables. Introduced a fast path support for bulk load scenarios for colocated tables in particular (controlled by ysql_colocated_fastpath_txn_copy) that can improve COPY times up to 3x on colocated tables with multiple indexes. {{<tags/feature/ga idea="1802">}}
Advisory locks. Enables session-based and transactional advisory locks for coordination and concurrency control in distributed environments. {{<tags/feature/ga idea="812">}}
Non-disruptive adding of indexes for xCluster. Adding an index to a database configured with bi-directional xCluster Replication (or other non-transactional xCluster Replication) is now a non-disruptive, no-downtime operation. {{<tags/feature/ga idea="1536">}}
PITR-flashback query. Allows querying historical database state by specifying a past timestamp, aiding in auditing, debugging, and data analysis. {{<tags/feature/ea idea="1182">}}
Foreign key references. Allows creation of the foreign keys on partitioned tables. {{<tags/feature/ga idea="467">}}
NULLS NOT DISTINCT. By default unique indexes treat NULL values as distinct entries (and not equal), allowing multiple nulls for a column. NULLS NOT DISTINCT allows multiple NULL values to be treated equivalently. {{<tags/feature/ga idea="934">}}
Execution for queries using ON CONFLICT clause are optimized for efficient execution for YugabyteDB distributed architecture. {{<tags/feature/ga idea="1455">}}
Query Plan Management (QPM) introduced to ensure stable and adaptable query performance by preventing plan regression and automatically detecting optimal new plans. {{<tags/feature/ea idea="1107">}}
YSQL table inheritance. Adds YSQL support for table inheritance using the INHERITS keyword, which allows creating child tables that inherit columns and certain constraints from one or more parent tables. {{<tags/feature/tp idea="2158">}}
YSQL index consistency checker. yb_index_check() is a built-in utility that helps detect and diagnose index inconsistencies in your database to ensure reliable query results. {{<tags/feature/ea idea="2160">}}
YSQL lease mechanism. Enabled a robust lease mechanism between YB-TServer and YB-Master to enhance fault tolerance and data consistency during network partitions. {{<tags/feature/ga>}}
Transactional DDL. Support to align YSQL DDL semantics with PostgreSQL by allowing DDL statements to execute in the main transaction block. {{<tags/feature/tp idea="1677">}}
Added CDC Logical Replication support for xCluster feature where both CDC and xCluster can work simultaneously on the same source tables. {{<tags/feature/ea idea="82">}}
Active Session History. Get real-time and historical information about active sessions to analyze and troubleshoot performance issues. {{<tags/feature/ga idea="830">}}
PostgreSQL Anonymizer extension, which masks or replaces personally identifiable information (PII) or commercially sensitive data, is now bundled with Yugabyte. {{<tags/feature/ga idea="1497">}}
yb_enable_inplace_index_update. {{<issue 20908>}}ALTER FOREIGN TABLE ...OPTIONS (...). {{<issue 1124>}}UNLOGGED tables syntax, handling it as LOGGED with a warning. {{<issue 23895>}},{{<issue 23889>}}pg_yb_logical_client_version table to manage session configurations. {{<issue 23871>}}ysql_conn_mgr_use_auth_backend flag. {{<issue 24147>}}ysql_conn_mgr_sequence_support_mode for sequence management options. {{<issue 23660>}}enable_ysql_conn_mgr flag from preview status. {{<issue 25578>}}enable_ysql_conn_mgr to true for general availability. {{<issue 25578>}}yb_bnl_batch_size to 1024 and yb_prefer_bnl to true by default, ensuring BNL replace nested loop joins without altering non-NL join plans. {{<issue 19273>}}YbBatchedNL(t1 t2) and NoYbBatchedNL, and modifies yb_prefer_bnl handling. Also, it removes BNL dependency on enable_nestloop and adjusts cost model. {{<issue 19494>}}yb_enable_fkey_catcache. {{<issue 23686>}}ALTER ROLE commands, saving system resources. {{<issue 24390>}}PgDML classes. {{<issue 24412>}}INSERT ON CONFLICT by introducing efficient read batching and adding RETURNING support. {{<issue 24648>}}GetStatementAs<...> to simplify PgStatement* casts. {{<issue 24754>}}ybctid as a reserved, fully queryable system column for improved row identification. {{<issue 1284>}}ybcModifyTable.c. {{<issue 24882>}}ybcSetupTargets by using BMS only, enhancing target column handling. {{<issue 25007>}}CREATE OR REPLACE TRIGGER by ensuring ybctid is set. {{<issue 24941>}}ybcModifyTable.h meets style guidelines to pass arc lint checks. {{<issue 25172>}}ysql_yb_enable_advisory_locks flag is set to true. {{<issue 24713>}}ExecLockRows function. {{<issue 25268>}}ysql_block_dangerous_roles to prevent privilege escalation. {{<issue 25348>}}YsqlAdvisoryLocksTable using std::shared_future. {{<issue 25373>}}YBInitPostgresBackend for cleaner code. {{<issue 25417>}}ysql_dump by removing outdated references to pg_tablegroup. {{<issue 25419>}}pg_yb_utils.c by applying lint warnings/errors. {{<issue 25420>}}yb_insert_on_conflict_read_batch_size to zero to disable batching, aligning closer with PostgreSQL behavior. {{<issue 25489>}}ysqlsh -V output for accurate command name representation. {{<issue 25429>}}PgTypeInfo. {{<issue 25554>}}bad_opening_paren for cleaner code alignment. {{<issue 25455>}}check_for_tables_with_oids for consistency with PostgreSQL. {{<issue 25498>}}needs_pg_session_transaction field to streamline advisory lock handling. {{<issue 25591>}}PgClientSession's size and streamlines code for better readability and easier modifications. {{<issue 25652>}}pgindent for cleaner code formatting and resolving issues with function names and comments. {{<issue 25663>}}YBPgsqlLockOp for cleaner code. {{<issue 25855>}}client_ field storage in PgClientSession. {{<issue 25652>}}yb_servers function to include universe_uuid for better cluster identification. {{<issue 25818>}}INSERT ON CONFLICT read batching by default to increase test coverage. {{<issue 25985>}}ef_construction and m parameters for ybhnsw indexes during creation. {{<issue 25859>}}ybhnsw index creation options in YSQL. {{<issue 25859>}}ItemPointer static assert following upstream PostgreSQL code. {{<issue 25997>}}ysql_dump outputs with the dump_role_checks flag. {{<issue 25877>}}ybgate_api.h by matching PostgreSQL style. {{<issue 26176>}}pg_regress outputs. {{<issue 26197>}}PgDocReadOp to enhance modularity by isolating sampling logic into PgDocSampleOp. {{<issue 26165>}}yb_db_admin. {{<issue 26218>}}ALTER TYPE ... SET SCHEMA support for Orafce extension upgrades. {{<issue 26215>}}pg_stat_get_progress_info by adding new fields. {{<issue 26273>}}ALTER TABLE operations related to constraint handling. {{<issue 26315>}}ash_metadata in PgClient RPC requests with added code explanations. {{<issue 26268>}}CurrentMemoryContext handling more closely with PostgreSQL updates. {{<issue 26496>}}pg_dump to support upgrades with pg_stat_statements. {{<issue 26575>}}ybhnsw.ef_search for HNSW index searches in YSQL. {{<issue 26629>}}hnsw to ybhnsw in CREATE INDEX statements for seamless index creation. {{<issue 26549>}}bad_variable_declaration_spacing lint rule. {{<issue 26651>}}server_type option to differentiate foreign servers in postgres_fdw. {{<issue 25500>}}switch_fallthrough to yb_switch_fallthrough for consistency. {{<issue 26816>}}enable_pg_anonymizer flag. {{<issue 26804>}}get_relation_constraint_attnos function to use correct flag. {{<issue 26846>}}ysql_select_parallelism to zero to prevent errors. {{<issue 26837>}}pg_strtouint64 and adopts strtoull or strtou64 for consistency. {{<issue 26870>}}pg_stat_statements for detailed stats tracking. {{<issue 26791>}}pg_yb_catalog_version mode from 10 seconds to 20 seconds. {{<issue 26990>}}cube and earthdistance extensions in YSQL upgrades. {{<issue 27141>}}yb_enable_cbo for safer query optimization without statistics. {{<issue 26868>}}use_fast_backward_scan flag. {{<issue 26991>}}yb_read_after_commit_visibility for writes. {{<issue 24940>}}pg_stat_statements header to reset stats on upgrade from 2.25 to 2.27. {{<issue 27180>}}enable_partitionwise_aggregate to true, enhancing query performance. {{<issue 25208>}}ysql_yb_enable_cbo flag on TServer for query optimization. {{<issue 27495>}}src/backend/tcop/ as per linting reports. {{<issue 25189>}}/rpcz endpoint response. {{<issue 25603>}}pg_stats with length and bounds histograms for better query planning. {{<issue 6237>}}CREATE RULE consistently updates the catalog version across all backends. {{<issue 27201>}}cql_microseconds_timestamps_used. This tracking occurs if the cql_revert_to_partial_microsecond_support flag is true. {{<issue 24776>}}<tserver-ip>:12000/statements output. {{<issue 25368>}}load_balancer_max_inbound_remote_bootstraps_per_tserver flag. {{<issue 2426>}}MemTracker. {{<issue 26875>}}sst_dump tool. {{<issue 27233>}}remove_corrupt_data_blocks_unsafe flag for yb-ts-cli compact_tablet command. {{<issue 27381>}}rocksdb_compact_flush_rate_limit_bytes_per_sec across all tablets. {{<issue 25611>}}Seek for faster access to recent updates when needed. {{<issue 22373>}}usearch for better maintainability. {{<issue 23998>}}gflag_allowlist.txt for secure callhome data collection, plus version_info in TServer data. {{<issue 24103>}}automatic_ddl_mode to xCluster pollers for enhanced replication handling. {{<issue 24091>}}set_cdc_min_replicated_index during xCluster bootstrap for improved log retention. {{<issue 24105>}}yb_client from PgClientServiceImpl. {{<issue 24145>}}yb-admin command to remove non-active, blacklisted TServers. {{<issue 24044>}}yb-admin command to remove tablet servers from the registry. {{<issue 24044>}}Vector. {{<issue 24483>}}yugabyte-bash-common for top-level management. {{<issue 19478>}}rocksdb_determine_compaction_input_at_start flag, allowing the selection of SST files for compaction when the task starts rather than when it's queued. {{<issue 24541>}}ProducerSchemaPB with SchemaVersionsPB for xCluster configurations. {{<issue 24901>}}vector_index::VertexId with StronglyTypedUuid as VectorId. {{<issue 25038>}}pg_advisory_locks for advisory locks management. {{<issue 25127>}}stmt_max_mem_base_bytes during EXPLAIN ANALYZE. {{<issue 25174>}}serialized_request size instead of SpaceUsedLong. {{<issue 25175>}}yb_enable_advisory_lock. {{<issue 24357>}}rpc_reactor_task_timeout_ms. {{<issue 25180>}}GetTableSchema to check table existence, reducing timeouts. {{<issue 25197>}}automatic_ddl_mode argument to yb-admin create_xcluster_checkpoint. {{<issue 25302>}}rocksdb_iterator_sequential_disk_reads_factor to enhance readahead during non-sequential scans. {{<issue 25397>}}YbHnsw for efficient memory management during data loading and unloading. {{<issue 25571>}}//NOLINT comments to enhance code readability. {{<issue 25536>}}ScopedStatistics, reducing TServer insert time. {{<issue 25602>}}GetTablesEligibleForXClusterReplication. {{<issue 25732>}}AcquireAdvisoryLock calls from active session history to prevent duplicates. {{<issue 25802>}}print_ysql_write_requests flag. {{<issue 25786>}}transaction_participant.cc by removing unused boost includes. {{<issue 25792>}}ScanForward functionality for streamlined performance. {{<issue 25915>}}yb_read_time to clarify read-only restrictions. {{<issue 26027>}}vector_index_dump_stats flag is true. {{<issue 26072>}}pg_locks view. {{<issue 24712>}}yb_read_time usage and silencing related warnings. {{<issue 25629>}}docdb::VectorIndex to docdb::DocVectorIndex to eliminate name confusion. {{<issue 26304>}}yb-admin commands. {{<issue 26332>}}yb-ts-cli compact_vector_index command for tablet-specific vector index compaction. {{<issue 26338>}}automatic_mode flag to create_checkpoint for simpler xCluster setup. {{<issue 26355>}}Outbound Replication Groups section. {{<issue 26368>}}rpc::ThreadPool to automatically adjust thread counts based on activity, enhancing resource efficiency. {{<issue 26708>}}MPSCQueue for enhanced single-consumer performance and simpler maintenance. {{<issue 26774>}}ybhnsw.ef_search to customize search expansion factor. {{<issue 26883>}}ysql_yb_enable_advisory_locks by default and makes it a runtime flag. {{<issue 25293>}}-ftime-trace from Clang builds to enhance compatibility with ccache. {{<issue 27499>}}TablespaceParser. {{<issue 25202>}}load_balancer_count_move_as_add flag to simplify cluster balancing. {{<issue 26259>}}master_fwd.h for faster builds. {{<issue 26543>}}enable_tablet_split_of_cdcsdk_streamed_tables. {{<issue 24190>}}IMPLICIT streams by default; use flag to override. {{<issue 24023>}}ysql_yb_enable_consistent_replication_from_hash_range flag. {{<issue 25897>}}cdcsdk_publication_list_refresh_interval_secs to 15 minutes by default. {{<issue 25793>}}cdcsdk_flush_lag metric and fixes bugs in other CDC metrics. {{<issue 19445>}},{{<issue 25819>}}cdc_max_virtual_wal_per_tserver flag. {{<issue 25896>}}cdcsdk_update_restart_time_interval_secs. {{<issue 25562>}}wal_status in pg_replication_slots based on CDC consumption timing. {{<issue 26272>}}yb_walsender_poll_sleep_duration_empty_ms flag value to 10 ms to speed up replication in sparse workloads. {{<issue 26733>}}skip_wal_replay_from_beginning_with_cdc flag. {{<issue 24516>}}kNoCacheQueryId to prevent crashes during RocksDB operations. {{<issue 24516>}}cdc_cache_intent_block flag to control caching of CDC intent blocks. {{<issue 24909>}}cdc_enable_caching_db_block and sets its default to true for enhanced caching. {{<issue 25573>}}cdc_use_byte_threshold_for_vwal_changes. {{<issue 25572>}}DEBUG to WARN. {{<issue 26779>}}psutil dependency in yugabyted for better compatibility. {{<issue 26350>}}join flag in configuration files is properly validated to prevent node misconfiguration. {{<issue 23007>}}tserver_master_addresses to update immediately in multi-node deployments using Yb-ts-cli. {{<issue 24659>}}pg_stat_statements to fix slow queries page on yugabyted UI. {{<issue 25094>}}int64 instead of int32. {{<issue 25196>}}current_hint_retrieved after query execution to ensure consistent hint parsing. {{<issue 12741>}}ysql_enable_pg_per_database_oid_allocator is provided to return to old OID allocator behavior if necessary. {{<issue 16130>}}ALTER SEQUENCE commands to change sequence name, schema, and owner without errors. {{<issue 17271>}}ysql_conn_mgr_optimized_extended_query_protocol. {{<issue 24898>}}pg_authid table prefetching during login to reduce RPCs and prevent errors. {{<issue 25776>}}REFRESH MATERIALIZED VIEW CONCURRENTLY operation. {{<issue 26205>}}sticky settings from explain in configurations. {{<issue 24954>}}ATExecSetTableSpaceNoStorageto match PostgreSQL's approach. {{<issue 25019>}}yb_is_client_ysqlconnmgr. {{<issue 25220>}}* wildcard. {{<issue 26671>}}std::lower_bound to prevent TServer crashes. {{<issue 27170>}}ANALYZE failures on wide tables by adjusting fetch size limits. {{<issue 27202>}}ysql_conn_mgr_sequence_support_mode=pooled_with_currval_lastval. {{<issue 27024>}}pipe type to orafce_pipe to resolve naming conflicts. {{<issue 12990>}}SideBySideDiff.sanityCheckLinesMatch. {{<issue 19690>}}INSERT ON CONFLICT, with customizable batch sizes using yb_insert_on_conflict_read_batch_size. {{<issue 24179>}}ALTER TABLE commands to avoid schema version mismatch errors in the same session. {{<issue 23882>}}INSERT ON CONFLICT command to enhance performance by minimizing alternating read and write operations. Control the batch size with the new YSQL configuration parameter yb_insert_on_conflict_read_batch_size, which, when default at 1, disables batching. {{<issue 24179>}}YBIsCoveredByMainTable method. {{<issue 24239>}}UTF8 use instead of SQL_ASCII and adds pg_collation to preloaded tables to prevent specific errors. {{<issue 24149>}}ALTER TABLE VALIDATE CONSTRAINT in YugabyteDB. {{<issue 24291>}}REINDEX and TRUNCATE on system tables using table rewrite. {{<issue 24356>}}updatedCols calculations. {{<issue 24641>}}ysql_dump crashes related to pg_catalog schema dumps. {{<issue 24907>}}RelationBuildTriggers. {{<issue 24951>}}ON CONFLICT UPDATE issues. {{<issue 25075>}}yb_amiscoveredbymaintable for updated index co-partitioning design. {{<issue 25119>}}ysql_dump by clearing PG result in all scenarios. {{<issue 24934>}}INSERT ON CONFLICT DO UPDATE to prevent secondary index corruption. {{<issue 25075>}}fatal calls with pg_fatal in pg_dump.c for better error handling. {{<issue 25320>}}INSERT ... ON CONFLICT DO NOTHING with multiple arbiter indexes. {{<issue 25240>}}MasterTabletServiceImpl::Write. {{<issue 25249>}}yb_get_range_split_clause with partitioned tables. {{<issue 25104>}}primaryKeyIndex in ysql_dump. {{<issue 25340>}}INSERT ON CONFLICT to prevent failures. {{<issue 25296>}}tablet state column to yb_local_tablets for clarity on tablet statuses. {{<issue 24250>}}set_force_catalog_modifications handling to PgSession. {{<issue 25434>}}ALTER DATABASE impact to only the targeted database. {{<issue 25392>}}INSERT ON CONFLICT updates. {{<issue 14895>}},{{<issue 25521>}}ysql_dumpall. {{<issue 25701>}}ysql_dumpall to combine CREATE ROLE and ALTER ROLE for effective role management. {{<issue 25608>}}INSERT ON CONFLICT queries using SPI_execute_with_args. {{<issue 25773>}}ALTER DATABASE RENAME and ALTER DATABASE OWNER to global impact. {{<issue 25742>}}double for estimates. {{<issue 25862>}}\d command for indexes with spaces in their names. {{<issue 25711>}}INSERT ON CONFLICT with RETURNING when read batching is enabled. {{<issue 25836>}}CREATE OR REPLACE VIEW refreshes the catalog for immediate update visibility. {{<issue 25901>}}brew over apt. {{<issue 25925>}}yb_cdc_snapshot_read_time field, simplifying snapshot management. {{<issue 26303>}}yb_enable_geolocation_costing flag. {{<issue 25967>}}pg_proc entries. {{<issue 26301>}}initdb log file path on stdout for easier debugging. {{<issue 26316>}}COPY operations on tables with unique indexes. {{<issue 26207>}}MAKELEVEL. {{<issue 26337>}}relam settings. {{<issue 26317>}}indexdef for copartitioned indexes. {{<issue 26398>}}vmodule flag is respected by the postgres process. {{<issue 26521>}}liblz4.1.dylib to macOS yugabyte-client package for successful deployment. {{<issue 26523>}}ANALYZE to collect accurate stats for parent-level of partitioned tables. {{<issue 23592>}}yb_get_ybctid_width. {{<issue 24819>}}pgsql_proxy_bind_address in dual NIC setups. {{<issue 26443>}}colocated = false for non-colocated databases during backups. {{<issue 26569>}}yb_index_check to verify materialized view indexes' consistency. {{<issue 26639>}}ysql_dump maintains enum sort order during backup and restore. {{<issue 26645>}}path->rows reflects accurate row estimates in scans, avoiding incorrect overwrites. {{<issue 25710>}}relfilenode_htab during initdb. {{<issue 26456>}}SPLIT option when creating a partitioned table. {{<issue 26807>}}ysql_yb_enable_ash flag. {{<issue 26838>}}pg_enum OID during restore if sortorder is missing, enhancing troubleshooting. {{<issue 26859>}}ScheduleCheckObjectIdAllocators inadvertently removed. {{<issue 26902>}}yb_binary_restore to be set by ybdbadmin for vector extension creation. {{<issue 26941>}}EXPLAIN (ANALYZE) query. {{<issue 27093>}}ybctid is correctly populated in RETURNING clauses for DML queries. {{<issue 26951>}}pg_yb_catalog_version. {{<issue 27103>}}pg_hint_plan extension update. {{<issue 27025>}}ALTER DATABASE OWNER when using SELECT FOR UPDATE. {{<issue 27280>}}CREATE FUNCTION also updates the catalog version. {{<issue 27166>}}yb_cancel_transaction by freeing YbcStatus. {{<issue 27554>}}yb_force_early_ddl_serialization by default to avoid conflict errors. {{<issue 27761>}}pg_hint_plan. {{<issue 6720>}}GROUP BY in YCQL using ycql_ignore_group_by_error flag. {{<issue 25030>}}alter table add column commands with a default value. {{<issue 24050>}}ListMasterServers RPC on a master by returning an error. {{<issue 20372>}}malloc_usable_size(nullptr). {{<issue 25948>}}OpenTable operations. {{<issue 24860>}}Finished method during certain task aborts. {{<issue 23356>}}pg_client_use_shared_memory to false by default on Mac to enhance performance. {{<issue 24000>}}ysql_enable_packed_row is off and existing packed rows are present. {{<issue 24545>}}SIGTERM handling for cleaner shutdowns. {{<issue 24658>}}CleanupHiddenTables holds a write lock during Upsert. {{<issue 24929>}}Slice::Less and Slice::compare methods. {{<issue 25319>}}WaitForReplicationDrain behavior by not mislabeling tablets as drained. {{<issue 25457>}}lock_timeout for advisory locks, enhancing timeout precision. {{<issue 26513>}}db_max_flushing_bytes to properly limit memory usage under high write loads. {{<issue 26916>}}SELECT * FROM pg_locks during advisory lock waits. {{<issue 26972>}}recently_applied_map by not adding read-only transactions, conserving memory. {{<issue 26666>}}DocRowwiseIterator to correctly include nulls for NULLS FIRST sorting. {{<issue 27031>}}std::weak_ptr in tablet server handling. {{<issue 24182>}}pg_txn_start_us is set for restarted transactions, fixing priority issues in waiter resumption. {{<issue 24778>}}kSum to kMax to prevent inaccuracies. {{<issue 25422>}}yb_read_time. {{<issue 25834>}}pg_locks functions correctly even with active advisory locks by ignoring advisory lock tablets. {{<issue 25939>}}TSLocalLockManager to yb::tserver. {{<issue 25941>}}pg_locks to show active PostgreSQL advisory locks. {{<issue 26057>}}UNKNOWN state TableInfos gracefully. {{<issue 26019>}}-Wmisleading-indentation warnings in GCC to prevent increased compile times. {{<issue 26177>}}use_bootstrap_intent_ht_filter is set to false, preventing memory leaks. {{<issue 26860>}}Slice::ToDebugString respects the max_len setting for hex outputs. {{<issue 26874>}}yb-admin crashes by correctly handling argument count for create_database_snapshot. {{<issue 26899>}}yb_client_admin_rpc_timeout_sec flag. {{<issue 26722>}}yb-pbc-dump to decrypt and process encrypted protobuf files using specified keys. {{<issue 26917>}}pg_locks query reliability when a node is down by continuing to serve requests. {{<issue 27035>}}next_column_id. {{<issue 27064>}}pg_client_use_shared_memory enabled. {{<issue 27392>}}RollbackYsqlMajorVersionUpgrade RPC timeout to 3 minutes. {{<issue 24361>}}/TableExists correctly identifies recently deleted tables. {{<issue 25223>}}cdc_send_null_before_image_if_not_exists flag is true. {{<issue 18381>}}COMMIT records are streamed, fixing gRPC connector crashes. {{<issue 26861>}}advertise_address instead of hostname. {{<issue 25037>}}use_client_to_server_encryption flag to secure login data. {{<issue 25332>}}