Arnaud Lecoules
05/04/2026, 5:45 PMReuben (Matatika)
05/05/2026, 6:46 PMdefault_target_schema on target-snowflake, the loader respects the informal Singer convention of <schema>-<table> for stream names output by tap-postgres. That way, you can replicate your Postgres db across into Snowflake retaining the existing schema structure.Arnaud Lecoules
05/06/2026, 7:22 AMdefault_target_schema for the others ?
To be more precise we have a tap for LOG_BASED tables that import data from public schema (postgres DB) into a backend schema (Snowflake DB). We'd like to keep these streams and add new ones that follows the Singer convention without messing with our WAL in postgres, would it be possible ?Arnaud Lecoules
05/06/2026, 8:24 AMload_schema option in the tapReuben (Matatika)
05/06/2026, 8:36 AMdefault_target_schema acts like a hard override for all streams, so not using that. Somewhat confusingly, there is another schema setting schema, which I believe sets the default schema for the session - with that, in theory you'd be able to remove the schema prefix from the incoming stream name using stream_maps and have it load into schema instead:
config:
schema: backend
stream_maps:
public-*: # all tables in public schema
__alias__: __stream_name__.partition(".")[-1]
You could also explicitly map to backend in a similar way:
config:
stream_maps:
public-*: # all tables in public schema
__alias__: '"backend." + __stream_name__.partition(".")[-1]'
https://sdk.meltano.com/en/latest/stream_maps.html#inline-stream-mapsReuben (Matatika)
05/06/2026, 8:37 AMload_schema extra - I assume you would stop using it, given that you want data landing across multiple schemas instead of just one?Arnaud Lecoules
05/06/2026, 8:42 AMload_schema from tap, would it mess with the state (for LOG_BASED streams) ?Reuben (Matatika)
05/06/2026, 10:19 AMMELTANO_EXTRACT__LOAD_SCHEMA env var - there is no interaction with state.
> The value of this extra can be referenced from a loader's configuration using the MELTANO_EXTRACT__LOAD_SCHEMA pipeline environment variable. It is used as the default value for the target-postgres and target-snowflake schema settings.
https://docs.meltano.com/concepts/plugins/#load_schema-extraArnaud Lecoules
05/06/2026, 11:49 AMEdgar Ramírez (Arch.dev)
05/06/2026, 2:17 PMpublic-*-> backend .
For the time being though, Reuben is right that stream maps is the best way to accomplish this 👍Arnaud Lecoules
05/08/2026, 10:34 AM. with - (public-*)
• add a schema_mapping to the target-snowflake :
schema_mapping:
backend:
target_schema: backend
Thanks !