We have a replication slot set up on a database in Postgres 12.8. For one of the tables, when a row is created, we see a series of records come through - an insert followed by a handful of updates. All of these messages in the WAL files show all columns, except for the last update message, which is missing one of the columns. (The column in question is a JSONB field, and the data is not overly large - less than 1000 chars.) This is causing the data to come into our data lake with that column as NULL.
My understanding is that all insert and update messages written to the replication logs are supposed to include all columns. But I can't find a definitive answer on whether it is expected or acceptable behavior for an update message to exclude any columns / values.
Is this normal? If not, any thoughts on what may cause that?