Skip to content

Databases

DuckLake Lakehouse Management in VS Code

DuckLake is a lakehouse solution built on DuckDB that separates catalog metadata from data storage. Key features include:

  • Flexible catalog backends: Use a local DuckDB/SQLite file, a PostgreSQL/MySQL server, or a remote DuckDB catalog served over the quack protocol
  • Multiple storage options: Store Parquet data files locally, on Amazon S3, Google Cloud Storage, or Azure (ADLS Gen2 and Blob)
  • Full SQL support: Create, alter, and query tables using standard SQL through DuckDB
  • ACID transactions: Transactional guarantees via the underlying catalog database
  • Time travel: Query historical versions of your data

DuckLake is ideal for teams that want lakehouse capabilities without the complexity of Spark or Hive, while retaining the speed and simplicity of DuckDB.

To connect to DuckLake in DBCode:

  1. Open the DBCode Extension: Launch Visual Studio Code and open the DBCode extension.
  2. Add a New Connection: Click on the “Add Connection” icon.
  3. Complete connection form:
    • Select DuckLake as the database type
    • Choose your catalog type (local file, database server, or quack server). For a quack server, enter the host and port (default 9494) and an access token; transport uses HTTPS automatically for remote hosts and plain HTTP for localhost.
    • Configure the data storage location (local directory, S3 path, GCS path, or Azure path)
    • For S3/GCS storage, configure an AWS authentication profile; for Azure, configure an Azure Storage authentication profile (connection string, account key, SAS token, credential chain, managed identity, or service principal). For sovereign clouds, set the Endpoint Suffix (for example core.usgovcloudapi.net or core.chinacloudapi.cn).
    • For an existing local catalog, optionally enable Read Only to browse and query it without allowing writes.
  4. Connect: Click save to establish your connection.
  5. Start Querying: Begin creating tables and querying your lakehouse data.

For detailed instructions on connecting to DuckLake, refer to the Connect article.

DBCode supports the core DuckLake workflow:

  • Progressive schema browsing: Explore schemas, tables, columns, and row estimates without loading the complete catalog at once
  • SQL autocomplete: Intelligent suggestions for DuckDB-specific functions and syntax
  • Data editing: Insert, update, and delete rows directly in the data grid, including precise numerics, dates, Unicode text, booleans, and NULL values
  • Query cancellation: Stop a running query from the editor and continue using the same connection
  • Read-only catalog access: Open an existing local catalog with DuckLake’s read-only attach mode
  • EXPLAIN visualization: Graphical query execution plan visualization

By using DuckLake with DBCode, you get a lightweight lakehouse directly within Visual Studio Code, with the full power of DuckDB’s analytical engine and flexible storage backends.

For more information about DuckLake, check out DuckLake.