Releases: duckdb/pg_duckdb
pg_duckdb v0.3.1
pg_duckdb is a Postgres extension that embeds DuckDB's columnar-vectorized analytics engine and features into Postgres. We recommend using pg_duckdb to build high performance analytics and data-intensive applications. See the README for install instructions and example usage. Below are the release notes for the 0.3.0 release. The only difference between 0.3.0 and 0.3.1 is a change to CI to fix pushing releases to Docker Hub.
Added
- Support using Postgres indexes and reading from partitioned tables. (#477)
- The
AS (id bigint, name text)
syntax is no longer supported when usingread_parquet
,iceberg_scan
, etc. The new syntax is as follows: (#531)SELECT * FROM read_parquet('file.parquet'); SELECT r['id'], r['name'] FROM read_parquet('file.parquet') r WHERE r['age'] > 21;
- Add a
duckdb.query
function which allows using DuckDB query syntax in Postgres. (#531) - Support the
approx_count_distinct
DuckDB aggregate. (#499) - Support the
bytea
(aka blob),uhugeint
,jsonb
,timestamp_ns
,timestamp_ms
,timestamp_s
&interval
types. (#511, #525, #513, #534, #573) - Support DuckDB json functions and aggregates. (#546)
- Add support for the
duckdb.allow_community_extensions
setting. - We have an official logo! 🎉 (#575)
Changed
- Update to DuckDB 1.2.0. (#548)
- Allow executing
duckdb.raw_query
,duckdb.cache_info
,duckdb.cache_delete
andduckdb.recycle_db
as non-superusers. (#572) - Only sync MotherDuck catalogs when there is DuckDB query activity. (#582)
Fixed
- Correctly parse parameter lists in
COPY
commands. This allows usingPARTITION_BY
as one of theCOPY
options. (#465) - Correctly read cache metadata for files larger than 4GB. (#494)
- Fix bug in parameter handling for prepared statements and PL/pgSQL functions. (#491)
- Fix comparisons and operators on the
timestamp with timezone
field by enabling DuckDB itsicu
extension by default. (#512) - Allow using
read_parquet
functions when not using superuser privileges. (#550) - Fix some case insensitivity issues when reading from Postgres tables. (#563)
- Fix case where cancel requests (e.g. triggered by pressing Ctrl+C in
psql
) would be ignored (#548, #584, #587) - Fixed CI so docker images are built and pushed to Docker Hub for tags. ([#589])
New Contributors
- @jhydra12 made their first contribution in #489
- @ritwizsinha made their first contribution in #512
- @szarnyasg made their first contribution in #519
- @elefeint made their first contribution in #528
- @dentiny made their first contribution in #543
- @destrex271 made their first contribution in #534
Full Changelog: v0.2.0...v0.3.1
pg_duckdb v0.2.0
pg_duckdb is a Postgres extension that embeds DuckDB's columnar-vectorized analytics engine and features into Postgres. We recommend using pg_duckdb to build high performance analytics and data-intensive applications. See the README for install instructions and example usage.
Added
- Support for reading Delta Lake storage using the
duckdb.delta_scan(...)
function. (#403) - Support for reading JSON using the
duckdb.read_json(...)
function. (#405) - Support for multi-statement transactions. (#433)
- Support reading from Azure Blob storage. (#478)
- Support many more array types, such as
float
,numeric
anduuid
arrays. (#282) - Support for PostgreSQL 14. (#397)
- Manage cached files using the
duckdb.cache_info()
andduckdb.cache_delete()
functions. (#434) - Add
scope
column toduckdb.secrets
table. (#461) - Allow configuring the default MotherDuck database using the
duckdb.motherduck_default_database
setting. (#470) - Automatically install and load known DuckDB extensions when queries use them. So,
duckdb.install_extension()
is usually not necessary anymore. (#484)
Changed
Fixed
- Throw a clear error when reading partitioned tables (reading from partitioned tables is not supported yet). (#412)
- Fixed crash when using
CREATE SCHEMA AUTHORIZATION
. (#423) - Fix queries inserting into DuckDB tables with
DEFAULT
values. (#448) - Fixed assertion failure involving recursive CTEs. (#436)
- Only allow setting
duckdb.motherduck_postgres_database
inpostgresql.conf
. (#476) - Much better separation between C and C++ code, to avoid memory leaks and crashes (many PRs).
New Contributors
- @Reminiscent made their first contribution in #282
- @dpxcc made their first contribution in #443
- @naoyak made their first contribution in #470
Full Changelog: v0.1.0...v0.2.0