2025-10-07
Ankündigung: DuckDB 1.4.1 LTS
The DuckDB team
In diesem Blogbeitrag heben wir einige wichtige Fixes und Komfortverbesserungen in DuckDB v1.4.1 hervor, dem ersten Patch-Release der DuckDB-1.4-LTS-Linie. Die vollständigen Release Notes finden Sie auf GitHub.
Zur Installation der neuen Version besuchen Sie bitte die Installationsseite.
Iceberg-Verbesserungen
Die DuckDB-iceberg-Erweiterung hat eine Reihe von Patches erhalten:
-
Sie können sich jetzt an einen Iceberg REST Catalog anhängen und einen Access-Delegation-Modus angeben. Das behebt einen Fehler bei Catalogs, die keine Credentials ausgeliefert haben. Die
ATTACH-Anweisung sieht jetzt so aus:ATTACH '⟨warehouse_name⟩' AS my_datalake (TYPE iceberg,ENDPOINT '⟨endpoint⟩',ACCESS_DELEGATION_MODE '⟨delegation_mode_option⟩',SECRET '⟨my_secret⟩');Die aktuellen
ACCESS_DELEGATION_MODE-Optionen sindvended_credentials(Standard) undnone. -
Beim Anhängen an AWS-verwaltete REST Catalogs wird die Einstellung
http_timeoutjetzt berücksichtigt. -
Der Versuch, eine Tabelle innerhalb einer Transaktion umzubenennen oder zu ersetzen, wirft jetzt eine klare Fehlermeldung.
-
AWS Athena kann jetzt Iceberg-Tabellen lesen, die von DuckDB geschrieben wurden.
AWS-Verbesserungen
Die aws-Erweiterung hat eine Reihe von Änderungen erhalten, die Konfiguration und Fehlersuche erleichtern.
Details stehen auf der aws-Dokumentationsseite.
Secret-Validierung
Seit DuckDB v1.4.0 sucht der AWS-credential_chain-Provider bei CREATE SECRET nach allen benötigten Credentials und scheitert, wenn sie fehlen oder nicht verfügbar sind. Seit v1.4.1 lässt sich dieses Verhalten über die Option VALIDATION konfigurieren:
CREATE OR REPLACE SECRET secret ( TYPE s3, PROVIDER credential_chain, VALIDATION 'exists');Zwei Validierungsmodi werden unterstützt:
exists(Standard) verlangt vorhandene Credentials.noneerlaubt, dassCREATE SECRETfürcredential_chainsohne verfügbare Credentials gelingt.
S3-Standardregion
Bisher konnte eine falsch gesetzte S3-Region zu schwer zu debuggenden Situationen führen (Unknown error for HTTP HEAD to ...).
DuckDB v1.4.1 entfernt us-east-1 als Standard-S3-Region und gibt einen 301-Fehlercode zurück, wenn eine falsche Region verwendet wird.
Fixes für fehlende Daten
Nutzerinnen und Nutzer haben zwei Fälle gemeldet, in denen DuckDB Daten ausgelassen hat:
- Der Parquet-Reader hatte eine Regression, durch die manche Zeilen ausgelassen wurden, wenn Predicate Pushdown auf bestimmten String-Spalten verwendet wurde.
- In bestimmten Grenzfällen konnte DuckDBs ART-Index Zeilen auslassen – nicht-deterministisch bei Ausführung auf mehreren Threads. Hinweis: Dieser Index wird nur verwendet, wenn Sie manuell einen Index mit
CREATE INDEXanlegen.
DuckDB v1.4.1 behebt beide Probleme.
Autoloading
In DuckDB v1.4.0 wurde die httpfs-Erweiterung nicht immer automatisch geladen. Zum Beispiel lieferte:
COPY (SELECT 42 AS answer) TO 's3://my_bucket/my_file.parquet';ohne manuelles Laden von httpfs folgenden Fehler:
Cannot open file "s3://my_bucket/my_file.parquet": No such file or directoryMit v1.4.1 funktioniert Autoloading, und DuckDB kann sofort in den Bucket schreiben.
Docker-Image
Wir verteilen jetzt offiziell ein Docker-Image, mit dem sich DuckDB leicht in einer containerisierten Umgebung starten lässt:
docker run --rm -it -v "$(pwd):/workspace" -w /workspace duckdb/duckdbDuckDB v1.4.1 (Andium) b390a7c376Enter ".help" for usage hints.Connected to a transient in-memory database.Use ".open FILENAME" to reopen on a persistent database.DWeitere Details einschließlich betrieblicher Hinweise und Nutzung der UI finden Sie auf der Docker-Image-Seite.