--- warning: DO NOT CHANGE THIS MANUALLY, THIS IS GENERATED BY https://github.com/duckdb/community-extensions repository, check README there title: snowflake excerpt: | DuckDB Community Extensions Snowflake data source extension - query Snowflake databases directly from DuckDB extension: name: snowflake description: Snowflake data source extension - query Snowflake databases directly from DuckDB version: 0.7.0 language: C++ build: cmake license: MIT maintainers: - venkata-chikkam - iqea-ai repo: github: iqea-ai/duckdb-snowflake variegata: f172cc80d53f4b1a866858a90f60beab62de78c1 ref: 2f9048cc2aa1e264cb18c7b4a773a6df2dc10d7a install_notes: | **Important:** This extension requires the ADBC Snowflake driver (a separate shared library) to function. Install it either with the [dbc](https://docs.columnar.tech/dbc/) driver manager: dbc install snowflake or with the repository's installer script. No environment variable is needed in either case: the extension discovers the driver next to itself, through standard ADBC driver manifests, and (on Windows) through the ADBC registry keys. For platform-specific setup and troubleshooting, see the **[ADBC Driver Installation Guide](https://github.com/iqea-ai/duckdb-snowflake#adbc-driver-setup)** in the [extension repository](https://github.com/iqea-ai/duckdb-snowflake). docs: hello_world: | -- Install and load the extension INSTALL snowflake FROM community; LOAD snowflake; -- Create a Snowflake secret with password authentication CREATE SECRET my_snowflake ( TYPE snowflake, ACCOUNT 'your-account', USER 'your-username', PASSWORD 'your-password', DATABASE 'your-database' ); -- Query Snowflake data using pass-through query function SELECT * FROM snowflake_query( 'SELECT * FROM customers WHERE state = ''CA''', 'my_snowflake' ); -- Attach Snowflake database for direct SQL access ATTACH '' AS sf (TYPE snowflake, SECRET my_snowflake, READ_ONLY); SELECT * FROM sf.schema.customers WHERE state = 'CA'; extended_description: | This community-maintained extension allows DuckDB to connect to Snowflake using Arrow ADBC drivers. It provides seamless connectivity between DuckDB and Snowflake, supporting multiple authentication methods (password, key pair, OAuth, external browser/SSO, Okta), predicate pushdown optimization, and comprehensive SQL operations. **Features:** - Multiple authentication methods (Password, Key Pair, OAuth, External Browser/SSO, Okta) - Direct SQL passthrough via `snowflake_query()` function - ATTACH support for mounting Snowflake databases as DuckDB catalogs - Native `GEOMETRY`/`GEOGRAPHY` support via GeoArrow - Predicate pushdown optimization (optional) - Hybrid queries: join Snowflake tables with local DuckDB tables - Full DML read operations: SELECT with WHERE, JOIN, aggregations, subqueries **Prerequisites:** The ADBC Snowflake driver must be installed separately (`dbc install snowflake` or the repository's installer script). **See the [ADBC Driver Installation Guide](https://github.com/iqea-ai/duckdb-snowflake#adbc-driver-setup) for complete setup instructions.** For comprehensive usage examples, authentication methods, and advanced features, visit the [extension repository](https://github.com/iqea-ai/duckdb-snowflake). extension_star_count: 68 extension_star_count_pretty: 68 extension_download_count: 8192 extension_download_count_pretty: 8.2k image: '/images/community_extensions/social_preview/preview_community_extension_snowflake.png' layout: community_extension_doc --- ### Compatibility Matrix This table covers all DuckDB releases that have not reached [end-of-life](https://duckdb.org/release_calendar), including LTS releases, and shows the 2 most recent patch releases of each. Older patch releases are not listed, but the extension may be available for them as well.
| Platform | 1.4.4 | 1.4.5 | 1.5.5 | 1.5.6 | 2.0.0 | | :--- | :---: | :---: | :---: | :---: | :---: | | Linux AMD64 | ✅ | ❌ | ✅ | ✅ | ✅ | | Linux ARM64 | ✅ | ❌ | ✅ | ✅ | ✅ | | macOS AMD64 | ✅ | ❌ | ✅ | ✅ | ✅ | | macOS ARM64 | ✅ | ❌ | ✅ | ✅ | ✅ | | Windows AMD64 | ✅ | ❌ | ✅ | ✅ | ✅ | | Windows ARM64 | ❌ | ❌ | ❌ | ❌ | ❌ | | WebAssembly | ✅ | ❌ | ✅ | ✅ | ✅ | ### Installing and Loading ```sql INSTALL {{ page.extension.name }} FROM community; LOAD {{ page.extension.name }}; ``` {% if page.docs.hello_world %} ### Example ```sql {{ page.docs.hello_world }}``` {% endif %} {% if page.docs.extended_description %} ### About {{ page.extension.name }} {{ page.docs.extended_description }} {% endif %} ### Added Functions | function_name | function_type | description | comment | examples | |---------------------------------|---------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|---------|---------------------------------------------------------------------------------------------------------| | snowflake_query | table | Execute a SQL query directly against a Snowflake database and return the results as a table. Uses the specified secret for authentication credentials. | NULL | [SELECT * FROM snowflake_query('SELECT * FROM customers WHERE state = ''CA''', 'my_snowflake_secret');] | | snowflake_version | scalar | Returns the version of the Snowflake extension. | NULL | [SELECT snowflake_version();] | | snowflake_render_pushdown_query | scalar | NULL | NULL | NULL | ### Overloaded Functions This extension does not add any function overloads. ### Added Types This extension does not add any types. ### Added Settings | name | description | input_type | scope | aliases | typed_value | |--------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------|--------|---------|-------------| | snowflake_prefetch_concurrency | How many Snowflake result chunks the ADBC driver downloads in parallel. 0 (the default) leaves the driver's own default in place; max 10000. Lowering this reduces read-ahead further, but costs download throughput. | BIGINT | GLOBAL | [] | 0 | | snowflake_result_queue_size | Maximum Arrow batches the ADBC driver buffers per Snowflake result stream. 0 (the default) leaves the driver's own default in place; max 10000. Set to 1 to throttle the driver's read-ahead when the consumer is slow (CREATE TABLE AS, COPY TO, inserts), which otherwise buffers the result outside memory_limit. | BIGINT | GLOBAL | [] | 0 | | temp_directory | Set the directory to which temporary files are written. | VARCHAR | GLOBAL | [] | post.db.tmp |