Search Shortcut cmd + k | ctrl + k
keboola

DuckDB extension for Keboola Storage — query and write Keboola tables using standard SQL

Maintainer(s): keboola

Installing and Loading

INSTALL keboola FROM community;
LOAD keboola;

Example

-- Install and load the extension
INSTALL keboola FROM community;
LOAD keboola;

-- Connect to Keboola Storage
ATTACH 'https://connection.keboola.com' AS kbc (
    TYPE keboola,
    TOKEN 'my-storage-api-token'
);

-- Read data
SELECT * FROM kbc."in.c-crm".contacts WHERE status = 'active';

-- Write data
INSERT INTO kbc."in.c-crm".contacts VALUES ('42', 'Alice', '[email protected]');

-- Use secrets for credential management
CREATE SECRET my_kbc (
    TYPE keboola,
    TOKEN 'my-storage-api-token',
    URL 'https://connection.keboola.com'
);
ATTACH '' AS kbc2 (TYPE keboola, SECRET my_kbc);

About keboola

The Keboola extension exposes Keboola Storage as a native DuckDB database. Once attached, you can use standard SQL to read from and write to Keboola tables, join Keboola data with local DuckDB tables, and manage schemas.

Features:

  • SELECT with filter and projection pushdown to Keboola Query Service
  • INSERT, UPDATE, DELETE via Keboola Storage Importer API
  • CREATE TABLE, CREATE SCHEMA, DROP TABLE, DROP SCHEMA DDL support
  • SNAPSHOT mode: pull all data locally for offline/low-latency queries
  • Secret management for secure credential storage
  • Native Keboola type mapping (Snowflake types → DuckDB types)
  • Table and column descriptions from KBC metadata

Added Functions

function_name function_type description comment examples
keboola_pull table NULL NULL  
keboola_refresh_catalog scalar NULL NULL  
keboola_tables table NULL NULL  
keboola_version scalar NULL NULL  

Overloaded Functions

This extension does not add any function overloads.

Added Types

This extension does not add any types.

Added Settings

This extension does not add any settings.