익스텐션 문제 해결

익스텐션 문제 해결 (Troubleshooting of Extensions)

DuckDB 익스텐션을 설치하려다 오류 메시지를 보고 이 페이지에 도착했을 거예요. 특정 익스텐션이 어느 시점에 저장소에서 안 보이는 데는 여러 가지 이유가 있고, 하나씩 짚어 보면 대부분 해결돼요.

출처: 문서

본문

예를 들어 아래처럼 존재하지 않는 익스텐션을 설치하려 하면 DuckDB가 오류 메시지를 보여 줘요:

INSTALL non_existing;
HTTP Error:
Failed to download extension "non_existing" at URL "http://extensions.duckdb.org/v1.4.0/osx_arm64/non_existing.duckdb_extension.gz" (HTTP 404)

Candidate extensions: "inet", "encodings", "core_functions", "sqlite_scanner", "postgres_scanner"
For more info, visit https://duckdb.org/docs/stable/extensions/troubleshooting?version=v1.4.0&platform=osx_arm64&extension=non_existing

특정 시점에 익스텐션이 저장소에서 사용 불가능해지는 시나리오는 여러 가지가 있어요:

  • 익스텐션이 아직 업로드되지 않은 경우 — 릴리스 날짜 이후 다소 지연이 있을 수 있어요. duckdb/duckdb 또는 duckdb/community-extensions의 이슈를 확인하거나, 직접 이슈를 만들어 보는 것도 좋아요.
  • 익스텐션이 존재하지만 다른 저장소에 있는 경우 — 예를 들어 INSTALL ⟨name⟩ FROM core; 또는 INSTALL ⟨name⟩ FROM community; 또는 INSTALL ⟨name⟩ FROM core_nightly;를 시도해 보세요 (익스텐션 저장소 설치 페이지 참조).
  • 네트워크 문제 — 익스텐션이 엔드포인트에 존재하지만 로컬 DuckDB에서 접근할 수 없는 경우. 오류 메시지의 URL을 브라우저 검색창에 그대로 붙여 넣어 직접 방문해 보세요.

DuckDB 개발 버전, 즉 PRAGMA versionlibrary_versionv로 시작하지 않는 버전을 쓰고 있다면, 기본 익스텐션 저장소에서 익스텐션을 더 이상 받지 못할 수 있어요.

확신이 안 들 때는 duckdb/duckdb에 이슈를 올려 보세요.

브라우저로 익스텐션을 수동 다운로드하는 과정

익스텐션이 사용 가능한지 확인하려면, https://extensions.duckdb.org/v1.4.4/osx_arm64/spatial.duckdb_extension.gz 같은 제공된 링크를 브라우저로 방문해 관련 익스텐션 리소스를 내려받아 보세요. 참고로 http://https://로 대체되었어요.

성공하면 익스텐션이 기본 Downloads 폴더에 다운로드되고 압축이 풀리니, SQL에서 이렇게 실행하면 돼요:

INSTALL '~/Downloads/spatial.duckdb_extension';
-- 또는
FORCE INSTALL '~/Downloads/spatial.duckdb_extension';

이 명령 이후에는 익스텐션이 정상적으로 설치돼요.

더 알아보기 (Learn more)