버전·설치·런타임 기준
DuckDB current, LTS, CLI, Python client, extension 버전을 분석 운영 기준선으로 고정합니다.
핵심 요약
- 분석 노트북은 최신 current가 유리하지만 공유 배치·배포 패키지는 LTS가 나으니, 워크로드별로 버전 기준선을 고정합니다.
- 2026-05-14 기준 1.5 current와 1.4 LTS가 병행되며, 1.4.0 LTS 커뮤니티 지원 종료는 2026-09-16, latest stable Python client는 1.5.2입니다.
- 팀에서는 설치 명령보다 버전 고정(예: duckdb==1.5.2)이 중요하고, CLI·Python·JDBC 등 client마다 릴리스 반영 시점이 며칠씩 엇갈립니다.
- version()·duckdb_settings()·duckdb_extensions() 결과를 job log나 notebook 첫 cell에 남겨 재현성을 확보합니다.
- core_nightly·custom repository extension은 검증에는 유용하지만 재현 가능한 분석 배치에는 별도 승인 없이 쓰지 않습니다.
DuckDB는 릴리스가 자주 나옵니다. 분석 노트북에서는 최신 current가 유리하지만, 공유 배치나 배포 패키지라면 LTS가 더 낫습니다. 핸드북 기준일인 2026-05-14에는 current 1.5 라인과 1.4 LTS 라인이 함께 굴러갑니다. Python API 문서는 latest stable client를 1.5.2로 안내합니다.
버전 선택
| 선택 | 쓰기 좋은 상황 | 주의점 |
|---|---|---|
| 1.5 current | 최신 CLI, VARIANT, built-in GEOMETRY, 최신 lakehouse 개선을 써야 함 | minor upgrade 시 extension 호환과 저장 포맷을 확인 |
| 1.4 LTS | 보수적 production batch, 장기 재현성, 패치 중심 운영 | 최신 기능은 일부 빠질 수 있음 |
| preview/nightly | 버그 재현, 새 기능 검증, extension 개발 | 운영 데이터 경로에는 사용하지 않음 |
DuckDB 1.4.0은 LTS로 발표되었고 커뮤니티 지원은 2026-09-16에 끝납니다. 1.5.0 발표문은 1.4 LTS와 1.5 current를 함께 제공한다고 밝힙니다. 릴리스 캘린더에는 1.5.3이 2026-05-18 예정으로 잡혀 있으니, 이 핸드북의 "latest" 표기는 기준일과 함께 읽어야 합니다.
설치 기준
# CLI
curl https://install.duckdb.org | sh
# Python
python -m pip install duckdb
# Conda
conda install python-duckdb -c conda-forge팀 단위에서는 설치 명령보다 버전 고정이 중요합니다.
duckdb==1.5.2CLI, Python package, JDBC/ODBC, R, Go client는 릴리스가 반영되는 시점이 며칠씩 엇갈립니다. batch image를 만들 때는 duckdb --version,
Python duckdb.__version__, extension list를 함께 남깁니다.
런타임 기준선
SELECT version();
SELECT name, value
FROM duckdb_settings()
WHERE name IN (
'memory_limit',
'threads',
'temp_directory',
'preserve_insertion_order',
'max_temp_directory_size'
)
ORDER BY name;
SELECT extension_name, loaded, installed, install_mode, installed_from
FROM duckdb_extensions()
ORDER BY extension_name;이 결과는 분석 리포트 부록이나 job log에 남깁니다. DuckDB는 같은 SQL이라도 extension 버전, file metadata, thread 수, temp directory 성능에 따라 실행 시간이 달라집니다.
Extension 기준
DuckDB extension은 크게 세 축으로 관리합니다.
| 축 | 기준 |
|---|---|
| core repository | 기본 repository에서 signed core extension 설치 |
| support tier | parquet, json, httpfs, icu 같은 primary extension 우선 |
| update policy | current는 UPDATE EXTENSIONS 검증, LTS는 패치 노트 확인 후 반영 |
INSTALL httpfs;
LOAD httpfs;
INSTALL iceberg;
LOAD iceberg;
SELECT extension_name, extension_version, installed_from
FROM duckdb_extensions()
WHERE installed;nightly extension
core_nightly나 custom repository는 새 기능 검증에는 유용하지만, 재현 가능한 분석 배치에는 별도 승인 없이 쓰지 않습니다.
재현성 체크리스트
| 항목 | 기록 위치 |
|---|---|
| DuckDB engine version | job log, notebook 첫 cell |
| client package version | requirements.txt, lockfile |
| extension version/source | duckdb_extensions() 결과 |
| session settings | duckdb_settings() 중 성능·보안 설정 |
| 입력 file list | manifest table 또는 filename virtual column |
| output publish path | Parquet root, partition key, overwrite 정책 |