duckdb / dbt-duckdb

dbt (http://getdbt.com) adapter for DuckDB (http://duckdb.org)
Apache License 2.0
788 stars 70 forks source link

Using existing buenavista proxy #362

Closed rzykov closed 1 month ago

rzykov commented 3 months ago

Hi Josh,

I'm struggling to connect Dbt to my remote Buenavista proxy. I found that I can use this config to connect:

defaults:
  outputs:
    dev:
      type: duckdb
      remote:
        host: 127.0.0.1
        port: 5433
        user: test
  target: dev

And I got an error:

INFO:buenavista.postgres:Client connection params: {'user': 'test', 'database': 'memory', '': ''}
INFO:buenavista.postgres:Input SQL: BEGIN
INFO:buenavista.postgres:Rewritten SQL: BEGIN
INFO:buenavista.postgres:Input SQL: /* {"app": "dbt", "dbt_version": "1.7.9", "profile_name": "retenly_dbt", "target_name": "dev", "connection_name": "list_memory"} */

    select schema_name
    from system.information_schema.schemata

    where catalog_name = '"memory"'

INFO:buenavista.postgres:Rewritten SQL: /* {"app": "dbt", "dbt_version": "1.7.9", "profile_name": "retenly_dbt", "target_name": "dev", "connection_name": "list_memory"} */ SELECT schema_name FROM system.information_schema.schemata WHERE catalog_name = '"memory"'
INFO:buenavista.postgres:Client connection params: {'user': 'test', 'database': 'memory', '': ''}
INFO:buenavista.postgres:Input SQL: BEGIN
INFO:buenavista.postgres:Rewritten SQL: BEGIN
INFO:buenavista.postgres:Input SQL: /* {"app": "dbt", "dbt_version": "1.7.9", "profile_name": "retenly_dbt", "target_name": "dev", "connection_name": "create_memory_main"} */

        select type from duckdb_databases()
        where database_name='memory'
        and type='sqlite'

INFO:buenavista.postgres:Rewritten SQL: /* {"app": "dbt", "dbt_version": "1.7.9", "profile_name": "retenly_dbt", "target_name": "dev", "connection_name": "create_memory_main"} */ SELECT type FROM DUCKDB_DATABASES() WHERE database_name = 'memory' AND type = 'sqlite'
INFO:buenavista.postgres:Input SQL: BEGIN
INFO:buenavista.postgres:Rewritten SQL: BEGIN
INFO:buenavista.postgres:Input SQL: /* {"app": "dbt", "dbt_version": "1.7.9", "profile_name": "retenly_dbt", "target_name": "dev", "connection_name": "create_memory_main"} */

        create schema if not exists "memory"."main"

INFO:buenavista.postgres:Rewritten SQL: /* {"app": "dbt", "dbt_version": "1.7.9", "profile_name": "retenly_dbt", "target_name": "dev", "connection_name": "create_memory_main"} */ CREATE SCHEMA IF NOT EXISTS "memory"."main"
ERROR:buenavista.postgres:Binder Error: Catalog "memory" does not exist!
INFO:buenavista.postgres:Input SQL: ROLLBACK
INFO:buenavista.postgres:Rewritten SQL: ROLLBACK
rzykov commented 3 months ago

Issue resolved! I added a database key with actual database_name

I would add this to the documentation