Contents
Changelog
All notable changes to this project will be documented in this file. It uses the Keep a Changelog format, and this project adheres to Semantic Versioning.
v0.1.2 β 2026-09-30
This release makes binary-only changes. Once installed and loaded, any
existing use of chdb and chdb_hook v0.1 will get the v0.1.2 benefits without
needing to ALTER EXTENSION UPDATE.
β‘ Improvements
- Added mappings for additional chDB data types:
- The Interval family maps to Postgres interval or bigint
- A Map maps to a two-dimensional array of key/value pairs or a custom two-field composite type
- A Tuple maps to an array of its values or composite type
- An unflattened Nested column maps to a two-dimensional array or composite type array
- All LowCardinality types now map to their Postgres equivalents, not
just
LowCardinality(String) - Parameterized JSON (
JSON(...)) now maps to jsonb or json
- Added the
encoding_checkoption toCOPY. Valid values arefail,replace,remove, andtruncate. See the [COPY docs] for details (#96). - Linking to libchdb v26.9.0 fixes the CVS format with NULL geometric types.
π Bug Fixes
- Reject
COPY FROMa URL with aWHEREclause, preventing imports from silently ignoring row filters (#86). - Fix
CREATE TABLEinference to usetext[]forTupleandtext[][]forMapandNestedinstead oftext. Reuse source types fromDESCRIBEwhen loading rows, keepingNestedfields in one column (#89). - The
installtarget no longer installslibchdb.awhen usingLIBCHDB_BUILD=static. Since we statically link it, we do not need to install it.
ποΈ Build Setup
- Added the
NO_FILE_SCHEMEoption tomake. When set, chd_hook will be built without support for thefile://scheme, which may be useful for Postgres hosting providers (#85). - The
installtarget no longer installslibchdb.awhen usingLIBCHDB_BUILD=static. Since we statically link it, we do not need to install it (#87). - Added the
MAX_CONCURRENT_TESTSvariable to minimize the number of concurrent tests in resource-constrained environments, such as CI runners (#91). - Added macOS testing to the CI workflow and adopted the PGXN actions for the CI and release workflows.
β¬οΈ Dependencies
- Added testing for chDB v26.7.3 and v26.9.0.
- Updated to support PostgreSQL 19 beta 4.
π Documentation
- Added missing links to the README and docs and simplified the list of files to load in a single command.
- Document manual enum and composite type mappings
for
Enum,Tuple,Map, andNestedcolumns (#89).
COPY docs βchdb_hook docs: COPY Overloadingβ
v0.1.1 β 2026-09-06
This release makes binary-only changes. Once installed and loaded, any
existing use of chdb and chdb_hook v0.1 will get the v0.1.1 benefits without
needing to ALTER EXTENSION UPDATE.
β‘ Improvements
- Support mapping
BFloat16toreal, andIntervaltypes tointerval.Intervaltypes also map tobiginttransparently (#76, #92). - Added PostgreSQL 15 support.
- Map
UInt64,Int128,Int256,UInt128, andUInt256to Postgresnumeric, so values above thebigintrange no longer raise an error. A derived column carries the precision spanning its chDB type (#78).
π Bug Fixes
DateTime64orTime64now defaults to millisecond precision (#76).- Reading a ClickHouse string into a text column validates its bytes against
database encoding, raising an error instead of returning unreadable text.
Use
byteato preserve raw bytes (#80). - Added the
date_time_output_format='iso'setting to each chDB query to always formattimestampandtimestamptzvalues in plain text formats with the ISO-8601 format in UTC, convertingtimestampvalues from the currenttimezonesetting.
π π» Quality
- Added comprehensive tests for timestamp and timestamptz
COPYoutput and round-tripping, including the impact of thetimezonesetting ontimestampvalues.
π Documentation
- Added the βTimestamp Conversionβ section to the chdb_hook docs to
document the ISO-8601 format of plain text exports of
timestampandtimestamptzvalues, as well as the impact of thetimezonesetting on exported and imported values. - Added a benchmark and documented its results in the README.
v0.1.0 β 2026-08-25
The theme of this release is Shakedown.
β‘ Improvements
- New extension, everything fresh!
- Relies on a helper app,
chdb_helper, to encapsulate all interaction with chDB - chdb extension provides
chdb_query()to execute a single, stateless query. - chdb_hooks module hooks into the
COPYcommand to copy data from a remote URL in any of the formats supported by chDB - chdb_hooks also hooks into the
CREATE TABLEcommand to copy and or define the column structure for the table from a remote URL in any of the formats supported by chDB - The
COPYandCREATE TABLEhooks support a variety of URL schemes, including:filehttpandhttpss3for AWS S3gsfor Google Cloud Storageazfor Azure Blob Storageabfsfor Azure ABFS
- Data type mapping provided by the pg-clickhouse-c header-only library
ποΈ Build Setup
- Requires chDB v26.7.0
- PGXS build pipeline
- PGXN and GitHub release workflows
- Limited to macOS and Linux (only platforms supported by chDB)
- Dynamic linking to chDB by default
- Statically link chDB with
LIBCHDB_BUILD=static - Automatically download chDB with
BUNDLE_LIBCHDB=1
π Documentation
- chdb extension reference documentation in doc/chdb.md
- chdb_hook module reference documentation in doc/chdb_hook.md