Re: PgOutput Replication Message Format - Differentiate between explicit NULL and Omitted Columns during Insert

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: PgOutput Replication Message Format - Differentiate between explicit NULL and Omitted Columns during Insert
Дата
Msg-id 1834632.1680704685@sss.pgh.pa.us
обсуждение исходный текст
Ответ на PgOutput Replication Message Format - Differentiate between explicit NULL and Omitted Columns during Insert  (Pranav Hegde <pranavh4@gmail.com>)
Список pgsql-general
Pranav Hegde <pranavh4@gmail.com> 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



В списке pgsql-general по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Possible old and fixed bug in Postgres?
Следующее
От: Steve Rogerson
Дата:
Сообщение: Re: Possible old and fixed bug in Postgres?