Version 6.4.6¶
Released on 2026-10-08.
Note
If you are upgrading a cluster, you must be running CrateDB 5.0.0 or higher before you upgrade to 6.4.6.
We recommend that you upgrade to the latest 6.3 release before moving to 6.4.6.
A rolling upgrade from >= 6.3.0 to 6.4.6 is supported. Before upgrading, you should back up your data.
Warning
Tables that were created before CrateDB 5.x will not function with 6.x and must be recreated before moving to 6.x.x.
You can recreate tables using COPY TO and COPY FROM or by
inserting the data into a new table.
Table of contents
See the Version 6.4.0 release notes for a full list of changes in the 6.4 series.
Fixes¶
Fixed an issue that could cause PostgreSQL wire protocol clients to receive an error like
server sent data ("D" message) without prior row description ("T" message)if executing write operations followed by a read operation using pipelining.Fixed an issue that could cause
= ANY (...)orIN (...)expressions to fail on columns of typeUUIDorNUMERIC.Fixed a rounding error if casting timestamp or long values before 1970-01-01 to
date.Fixed an issue that caused order-sensitive aggregations (
string_agg,array_agg) applied on top ofUNION ALL ... ORDER BYto return incorrect results.Fixed an issue that could cause window functions using
RANGEwith integralPRECEDING/FOLLOWINGbounds to compute frames incorrectly due to boundary overflow.Fixed incorrect
RANGEandROWSwindow frames caused by overflow when large frame bounds were narrowed before evaluation. ExplicitNULLframe bounds and negativeROWSoffsets now raise an error.Fixed an issue that caused
CREATE SNAPSHOTto fail if repository had at least one snapshot created before and backend storage’s DELETE API was temporarily unavailable.Fixed an issue that caused
NULLto always be returned fornumeric_scaleof information_schema.columns table. Now it returns the definedscaleforNUMERIC,0for integral numeric types (BYTE,SHORT,INTEGER,LONG) andNULLfor all other types.Fixed an issue, introduced with Version 6.3.0, which caused RESTORE SNAPSHOT to always restore all foreign tables contained in the snapshot, even if they weren’t requested. Foreign tables are now only restored together with their servers, e.g. by using
RESTORE SNAPSHOT ... ALLorRESTORE SNAPSHOT ... METADATA. A foreign table restored explicitly withRESTORE SNAPSHOT ... TABLEdoesn’t restore its server and user mappings, so it’s unusable unless they already exist or created manually.Fixed a rare race condition causing the
queryCircuitBreaker’s state not to be reset afterKILLorCircuitBreakingException, and leading to consequent queries to fail with false positiveCircuitBreakingException.Fixed a race condition in
EXPLAIN ANALYZEthat could cause an intermittentNullPointerException.Fixed an issue that could cause logical replication of new partitions to fail after restarting publisher nodes.
Fixed an issue that caused pg_catalog.pg_publication and pg_catalog.pg_publication_tables to only show the publications owned by the current user, even for superusers and users with the AL privilege. Superusers and users with
ALcan now see all publications.Fixed an issue that caused a
>or>=comparison on the distance function in aWHEREclause, e.g.WHERE distance(p, 'POINT (0 0)') > 100, to also match rows where the GEO_POINT columnpisNULL.Fixed an issue that caused
WHERE distance(p, ...) IS NULLto fail with anIndexOutOfBoundsException, and comparisons likeWHERE distance(p, NULL) > 100to fail with aNullPointerException.Fixed an issue where ORDER BY using a REAL or DOUBLE PRECISION column returned values of
InfinityasNULL.Fixed a performance regression introduced in Version 6.4.3 that affected all queries running over
HTTPprotocol with password authentication.Fixed an issue where rows with
NaNwere not returned when a range filter was used and the predicate evaluated to trueFixed an issue that caused HTTP requests authenticated without an
Authorizationheader, e.g. using client certificate authentication, to run as the user set by auth.trust.http_default_user (crateby default) instead of the authenticated user.