felix_kenton
06/17/2022, 11:58 AMtarget-snowflake loader, but it seems that for all of the tables that have been created they don’t have any primary keys set in Snowflake.
Updated data is effectively gets UPSERTed on the primary key anyway, so we’re not ending up with duplicate data, but it seems likely that Snowflake may not be able to plan queries so effectively without a primary key set.
Does anyone know if the lack of primary keys being set is a problem with the target-snowflake loader itself or if it is a common thing to Meltano?visch
06/17/2022, 12:02 PMvisch
06/17/2022, 12:03 PMfelix_kenton
06/17/2022, 2:03 PMtap-postgres isn’t handling primary keys.
What I’m referring to is only really relevant when the schema is either being synced for the first time or has been updated, which seems like it might be responsibility of the target to handle?visch
06/17/2022, 2:05 PMtap-postgres doesn't pass primary keys over?
Also can you share the command you're running I'm missing a bunch of context I thought we were just talking about target-snowflake and taps in generalfelix_kenton
06/17/2022, 2:05 PMSnowflake supports defining and maintaining constraints, but does not enforce them, except for NOT NULL constraints, which are always enforced.so perhaps the lack of constraints in Snowflake doesn’t really make any difference to query planning as I originally theorised!
visch
06/17/2022, 2:05 PMvisch
06/17/2022, 2:05 PMvisch
06/17/2022, 2:06 PMvisch
06/17/2022, 2:08 PMfelix_kenton
06/17/2022, 2:09 PMfelix_kenton
06/17/2022, 2:11 PM