Has anyone managed to actually extract a table usi...
# troubleshooting
c
Has anyone managed to actually extract a table using the new
tap-postgres
? 🧵
I’ve been trying and trying different yaml configs:
Copy code
- name: tap-postgres--terry
    inherit_from: tap-postgres
    config:
      filter_schemas: public
    select:
    - campaigns.*
    - notifications.*
    - vouchers.*
    metadata:
      '*':
        replication-method: INCREMENTAL
        replication-key: updated_at
      'campaigns':
        selected: true
      'notifications':
        selected: true
      'vouchers':
        selected: true
Nothing I try works. I’ve been reading the code for the tap and everything.
This is all I see in the logs:
Selected streams: []
what actually works in this case? meltano selectors or stream metadata?
Finally, finally worked it out:
Copy code
- name: tap-postgres--terry
    inherit_from: tap-postgres
    config:
      filter_schemas: public
    select:
    - public-campaigns.*
    - public-notifications.*
    - public-vouchers.*'
    metadata:
      '*':
        replication-method: INCREMENTAL
        replication-key: updated_at
is a working yaml configuration
v
meltano select --list --all tap-namehere
Helps a lot with the situation of finding the right select streams. I do that or run the tap directly with discover mode
meltano invoke tap-name --discover > ouput
Not sure if that was the main issue here or not but food for thought 😄
d
Yeah, sounds like the issue was with the stream IDs. With database taps, they're typically prefixed with the schema as you found out.
e
@chris_kings-lynne, which one is the 'new' tap-postgres?
c
it’s the pipelinewise variant. it’s been added “natively” in the latest meltano
@derek_knox catch was the rds and the compute cluster are both hidden away in completely inaccessible secure private subnets
and the compute is serverless, hard to get in there and do that
I spent a couple of hours trying to get the multiple bastions and keys and stuff going, but then there’s no NAT so I can’t get packages, etc., etc.
I should ahve just spun up a quick rds in a public subnet, created the same schema and table and tried that from my dev machine just to get the syntax right
e
Gotcha. I'm using the pipelinewise variant on some large-scale replication and it seems great so far.
c
can you give me pro tips on using logical replication?
so far my experiment uses key based
(a) are there risks against the production database that my sre team should be aware of, how does it deal with scheme changes and what does it do with hard deletes?
d
c
Cheers, yeah working through it. The real annoyance looks like schema change handling