The MySQL connector has a snapshot mode schema_only:
the connector runs a snapshot of the schemas and not the data. This setting is useful when you do not need the topics to contain a consistent snapshot of the data but need them to have only the changes since the connector was started.
The PostgreSQL connector does not have the schema_only option. I am wondering if the following pattern would work to mimic that capability:
Use initial for snapshot mode.
Then, for every included table, add the following config:
"snapshot.select.statement.overrides": "schema.table1,schema.table2...",
"snapshot.select.statement.overrides.schema.table1": "SELECT * FROM [schema].[table1] LIMIT 0"
"snapshot.select.statement.overrides.schema.table2": "SELECT * FROM [schema].[table2] LIMIT 0"
...
According to the docs, snapshot.select.statement.overrides:
Specifies the table rows to include in a snapshot. Use the property if you want a snapshot to include only a subset of the rows in a table. This property affects snapshots only. It does not apply to events that the connector reads from the log.
It seems as though the above procedure would include the relevant schemas for debezium, while preventing any read events from being emitted.
Are there complications with this technique that I am not taking into account?