Pranav Hegde <pranavh4@xxxxxxxxx> writes: > Currently in the PgOutput messages for Insert statements, there is no way > to differentiate if the column was explicitly set to null in the insert > statement, or whether that column was omitted in the insert statement and > thus set to null (or default value) Nope. Replication works at the data level, it has no idea how that data was formed originally. > Thus we are not able to identify which column was explicitly set to null > and which column was set to the default value. > This causes issues when we are parsing the message, especially in libraries > such as Debezium, where it returns the default value for the column, even > though in the actual SQL query we set that column to be explicitly null. If you have code that changes the data supplied, that code is wrong. We are not likely to change the replication protocol to support it. regards, tom lane