Re: [HACKERS] logical decoding of two-phase transactions
От | Ajin Cherian |
---|---|
Тема | Re: [HACKERS] logical decoding of two-phase transactions |
Дата | |
Msg-id | CAFPTHDbFdCJZnSFF=DZxjAGE3rhwZKCMCqWMoJvJXBjvBX3ApQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] logical decoding of two-phase transactions (Amit Kapila <amit.kapila16@gmail.com>) |
Ответы |
Re: [HACKERS] logical decoding of two-phase transactions
|
Список | pgsql-hackers |
On Tue, Nov 17, 2020 at 10:14 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > Doesn't this happen only if you set replication origins? Because > otherwise both PrepareTransaction() and > RecordTransactionCommitPrepared() used the current timestamp. > I was also checking this, even if you set replicating origins, the preparedTransaction will reflect the local prepare time in pg_prepared_xacts. pg_prepared_xacts fetches this information from GlobalTransaction data which does not store the origin_timestamp; it only stores the prepared_at which is the local timestamp. The WAL record does have the origin_timestamp but that is not updated in the GlobalTransaction data structure typedef struct xl_xact_prepare { uint32 magic; /* format identifier */ uint32 total_len; /* actual file length */ TransactionId xid; /* original transaction XID */ Oid database; /* OID of database it was in */ TimestampTz prepared_at; /* time of preparation */ <=== this is local time and updated in GlobalTransaction Oid owner; /* user running the transaction */ int32 nsubxacts; /* number of following subxact XIDs */ int32 ncommitrels; /* number of delete-on-commit rels */ int32 nabortrels; /* number of delete-on-abort rels */ int32 ninvalmsgs; /* number of cache invalidation messages */ bool initfileinval; /* does relcache init file need invalidation? */ uint16 gidlen; /* length of the GID - GID follows the header */ XLogRecPtr origin_lsn; /* lsn of this record at origin node */ TimestampTz origin_timestamp; /* time of prepare at origin node */ <=== this is the time at origin which is not updated in GlobalTransaction } xl_xact_prepare; regards, Ajin Cherian Fujitsu Australia
В списке pgsql-hackers по дате отправления: