Version 4.8.2

Released on 2022-07-11.


If you are upgrading a cluster, you must be running CrateDB 4.0.2 or higher before you upgrade to 4.8.2.

We recommend that you upgrade to the latest 4.7 release before moving to 4.8.2.

A rolling upgrade from 4.7.x to 4.8.2 is supported.

Before upgrading, you should back up your data.

Table of Contents

See the Version 4.8.0 release notes for a full list of changes in the 4.8 series.


  • Fixed an issue that caused queries reading values of type BIT to fail if the query contains a WHERE clause pk_col = ? condition.

  • Fixed an issue in the serialization logic of the BIT type. This could cause issues with PostgreSQL clients using the text serialization mode.

  • Fixed an issue that caused col IS NULL to match empty arrays.

  • Fixed an issue that caused col IS NULL expressions to match rows where col is not null if col had INDEX OFF and STORAGE WITH (columnstore = false) set.

  • Fixed an issue that caused queries with ORDER BY clause and LIMIT 0 to fail.

  • Fixed an issue that prevented rows inserted after the last refresh from showing up in the result if a shard had been idle for more than 30 seconds. This affected tables without an explicit refresh_interval setting.

  • Fixed an issue that caused NPE to be thrown, instead of a user-friendly error message when NULL is passed as shardId for the ALTER TABLE XXX REROUTE XXX statements (MOVE, ALLOCATE, PROMOTE, CANCEL).

  • Fixed an issue that caused queries operating on expressions with no defined type to fail. Examples are queries with GROUP BY on an ignored object column or UNION on NULL literals.

  • Fixed an issue that caused GROUP BY and ORDER BY statements with NULL ordinal casted to a specific type, throw an error. Example: SELECT NULL, count(*) from unnest([1, 2]) GROUP BY NULL::integer.

  • Fixed an issue that not-null constraints used to be shown in the pg_constraint table which contradicts with PostgreSQL.

  • Fixed an issue that caused IllegalArgumentException to be thrown when attempting to insert values into a partitioned table, using less columns than the ones defined in the table’s PARTITIONED BY clause.

  • Fixed an issue that caused failure of ALTER TABLE statements when updating dynamic or non-dynamic table settings on closed tables.

  • Fixed an issue that caused clients using PostrgreSQL wire protocol’s simple query to hang, when an error occurred during planning.

  • Fixed casts of TEXT to REGCLASS data types which were resulting in wrong REGCLASS values as the current_schema was not taken into account.

  • Fixed an issue which caused PRIMARY KEY columns to be shown as nullable in the pg_catalog.pg_attribute table.

  • Fixed possible infinitive loops on COPY FROM statements if an IO error happen while trying to read lines from an URI.

  • Fixed an issue that caused ARRAY_LENGTH in combination with a greater than `` (>``) comparison to exclude rows if an array contained duplicates or nulls.