E.1. Release Notes for Tantor SE 18.4.0#
E.1. Release Notes for Tantor SE 18.4.0 #
Release date: 2026-08-17
E.1.1. Review #
Tantor SE is a Russian-made DBMS based on the updated and improved version of the PostgreSQL DBMS. Tantor SE 18.4.0 is based on PostgreSQL 18 and includes all the new features introduced in PostgreSQL 18, as well as changes included in the PostgreSQL 18.4 and previous releases of Tantor SE.
The list of changes in Tantor SE 18.4.0 compared to the previous release is listed below.
E.1.2. DBMS Core Functionality #
The following changes have been made to improve the DBMS:
Added implicit preparation (Autoprepare) of frequently executed queries, enabled by the autoprepare_threshold parameter. When it is enabled, the backend caches query plans on its own and reuses them on subsequent executions, so parse analysis, rewriting and planning are skipped without any changes in the application.
Fixed the cost estimation model for parallel query execution with temporary tables when using the extended_parallel_processing parameter. Overestimation of individual subplan costs, which in some cases led to choosing a suboptimal query plan, has been eliminated.
Added an optimization for queries with
ORDER BYandLIMITcontrolled by the enable_sort_pushdown parameter. It allows sorting to be performed before outer joins when this reduces query cost and improves performance.An optimization controlled by the enable_semijoin_relocation parameter has been implemented to relocate pulled-up
SEMI/ANTIjoins next to the relations they reference. This allows the planner to apply subquery filters earlier, reduce the amount of data processed, and choose a more efficient execution plan.Implemented an optimization controlled by the enable_nestloop_onetime_filter parameter that uses smart filters to reduce the number of Nested Loop iterations.
Added bloom filter support controlled by the enable_hashjoin_bloom parameter, which speeds up queries that join tables with a large number of rows.
Improved the statistics usage algorithm for composite indexes: added the enable_multicolumn_stats_detail parameter, which enables collection of prefix histograms for multi-column btree indexes during
ANALYZE.Reduced lock contention in the shared invalidation message queue: the internal spinlock has been replaced with atomic operations.
Added support for pages using CSM compression to the pg_checksums utility.
Added a hash index for SLRU buffer lookups. Page lookups in SLRU caches now use hash search instead of linear scan within associative banks, improving access performance for CLOG, subtrans, multixact, and other SLRU-based subsystems.
Fixed a query planner error where using
COALESCEin join conditions could lead to overestimated Hash Join costs and selection of a less efficient plan. The default value of the enable_coalesce_estimation parameter is set tooff.Fixed an error that, when working with temporary tables and using the enable_temp_memory_catalog parameter, could in some cases cause the backend process to crash.
Fixed an error when upgrading from the BE edition to SE using pg_upgrade that could result in the messages
calculated CRC checksum does not match value stored in control fileandinvalid WAL segment size in control file.Fixed the
cannot drop table <table_name> because other objects depend on iterror, where internal objects of multi-column indexes could incorrectly remain part of thepg_profileextension afterALTER EXTENSION ... DROP TABLE, causing an error on subsequent table drops.Fixed the
type "<name>_ccnew" already existserror that could cause a repeatedREINDEX CONCURRENTLYon a multi-column index to fail.Fixed an error in the
pg_visible_in_snapshot()function when working with CSN snapshots that could lead to incorrect transaction visibility determination or a backend process crash.Fixed an OID collision error when using temporary tables on a replica.
Fixed an error with parsing the text representation of CSN snapshots that caused conversion to the
pg_snapshottype to fail withinvalid input syntax for type pg_snapshotmessage.Eliminated redundant processing of queries with
GROUP BYandDISTINCT. The planner no longer adds unnecessary duplicate-elimination operations when the grouping result already contains only unique rows.Fixed incorrect removal of
DISTINCTin queries containing set-returning functions (SRF).Fixed an error where stale overflow data cache entries could remain after a database drop, causing
could not open file "...": No such file or directoryerrors when subsequently creating a database.Fixed an error in CSN snapshot construction that in some cases could lead to incorrect data visibility during parralel execution of transactions.
Fixed errors in CSN-MVCC mode related to transaction snapshot construction and state handling. This improves the correctness of data visibility determination during transaction executions.
Fixed errors that, when using the enable_temp_memory_catalog parameter, could in some cases cause the backend process to crash during creation and deletion of temporary tables.
E.1.3. Additional Supplied Modules #
Fixed an error in the logic of the
auto_dumpmechanism when analyzing suboptimal query execution plans.Fixed an error that in some cases could cause the backend process to crash when using the
auto_dumpmechanism together with the csm_compress_analysis() function.
credcheck updated to version 5.0.
Optimized execution of queries with the
LIKEoperator for themcharandmvarchartypes. Improved performance of prefix and substring searches; for prefix searches, the planner can use an index.Fixed the
value too long for type mvarchar(20)error formvarcharcolumns that could occur when restoring column statistics withpg_restore_attribute_stats()during a pg_upgrade cluster upgrade.
Fixed an incorrect error message when installing the pg_cron extension if the library was not loaded via
shared_preload_libraries.Fixed an error where tables were not converted to columnar format (
warm_columnarandcold_columnar) when indexes were present.Fixed an error in Flamegraph metric calculation that occurred when building a graph for an interval exceeding the statistics retention time.
Improved extension performance through internal key caching.
Fixed an error where in some cases the default
MDstorage manager was used instead of the selected one.
E.1.4. Operating System Support #
Added build support for OS:
RED OS 8 Certified Edition
Rocky Linux 10
Ubuntu 24.04
Ubuntu 26.04
For a complete list of supported operating systems, see the Installation from Binaries section.
E.1.5. Migration to version 18.4.0 #
To migrate from PostgreSQL or Tantor DB, first install the latest minor version and then perform a data offload/restore by applying pg_dumpall, or use the pg_upgrade utility.
Caution
Starting with PostgreSQL 18, clusters initialized with
initdb have data page checksums enabled by default.
This may affect upgrades from clusters created without checksums:
pg_upgrade
requires the old and new clusters to use
the same checksum setting. If you upgrade to version 18.4.0 using
pg_upgrade
from a non-checksum-enabled cluster,
initialize the new cluster with initdb --no-data-checksums,
or enable checksums in the old cluster before running
pg_upgrade.
When upgrading within the current major version and edition, install Tantor SE 18.4.0 and restart the database server with command:
systemctl restart tantor-se-server-18
Warning
When updating skipping previous major versions (for example, from version 16 to 18 at once), it is recommended to pre-execute VACUUM FREEZE for all cluster databases.
If VACUUM FREEZE is not possible, it is recommended to upgrade sequentially, installing each major version in order.