xmax
выполняет двойную функцию: используется для обозначения видимости (вместе с xmin
, но также используется для удержания блокировок строк .
Для устранения неоднозначности между этими двумяиспользует статус транзакции и используются дополнительные «невидимые» флаги в кортеже.
Таким образом, если вы видите строку, в которой два значения идентичны, транзакция, которая создала строку, также заблокировала строку.обычно это признак того, что кортеж был создан с INSERT ... ON CONFLICT
.
См. этот ответ и в моем блоге для получения дополнительной информации.