This release makes binary-only changes. Once installed, any existing use of
pg_clickhouse v0.1 will get its benefits on reload without needing to
ALTER EXTENSION UPDATE.
⚡ Improvements
- Changed the default mapping for
DateTimeandDateTime64values fromTIMESTAMPtoTIMESTAMPTZ, because ClickHouse storesDateTimes as a Unix timestamp, always normalized to UTC, even if it displays as a different time zone. As of the first bug fix listed below, pg_clickhouse (almost) always fetches these values in UTC, so can store them asTIMESTAMPTZvalues. - Implemented
INSERTsupport for the UUID and INET (IPv4 and IPv6) types. Thanks to Rahul Mehta for the report (#127)!
🪲 Bug Fixes
- Fixed time zone conversion in the http engine. Does not work with parameterized execution on ClickHouse versions prior to 25.8 due to ClickHouse Issue 88088; recommend using the binary engine for tables with timestamp values on earlier ClickHouse versions to avoid the issue.
- Fixed a server crash when attempting to insert types not yet supported by the binary engine.
🚀 Distribution
- Added the security policy.
📔 Notes
- Scripted the generation of the TPC-H results table and updated it in the README.
- Cleaned up some comments and old references to postgres_fdw left from the original fork in 2019.
- Added tests demonstrating subqueries that pg_clickhouse does not yet push down, to be improved in future releases.
🏗️ Build Setup
- Added pre-commit hooks to lint the code, including for indentation enforced by
pg_bsd_indent. A new workflow ensures consistency for these quality checks. Relatedly, a number of issues found by the linters have been corrected. - Configured
make installcheckto run the tests in parallel, resulting in far faster test execution on multi-core systems. Adjusted the schemas in which some of the tests work to ensure they don't stomp on each other.
🆚 For more detail compare changes since v0.1.2.