I recently read the entire documentation on logical replication, but am left with a question on the buildup of WAL
On this page: https://www.postgresql.org/docs/current/logical-replication-subscription.html#LOGICAL-REPLICATION-SUBSCRIPTION-SLOT
It is written: "
When dropping a subscription, the remote host is not reachable. In that case, disassociate the slot from the subscription using
ALTER SUBSCRIPTION
before attempting to drop the subscription. If the remote database
instance no longer exists, no further action is then necessary. If,
however, the remote database instance is just unreachable, the
replication slot (and any still remaining table synchronization slots)
should then be dropped manually; otherwise it/they would continue to
reserve WAL and might eventually cause the disk to fill up. Such cases
should be carefully investigated."Assuming a situation where I add tables 1 at a time to the publisher, and refresh the subscription every time.
What happens if I shut down the subscriber database for a while? The subscription isn't dropped, so am I reading it right that the disk on the publisher will slowly be filling up with WAL? Isn't that always the case if wall is enabled?
This "cause disk to fill up" warning is quite concerning, and I'd like to understand what could cause it and how likely it is? I thought logical replication uses WAL by default, so doesn't that mean there has to be a log of changes kept anyhow? Even if the WAL isn't written to disk by an "archive_command"?
Regards,
Koen De Groote