Do I understand commit timestamps correctly?

From: Chapman Flack <chap(at)anastigmatix(dot)net>
To: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Do I understand commit timestamps correctly?
Date: 2018-03-23 15:29:35
Message-ID: 8527e4bf-a3c0-f056-978b-ff4096951e3d@anastigmatix.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

Can somebody confirm or correct what I (think I)'ve gleaned from
the code?

- Commit timestamps are always WAL logged, and so in principle
determinable after the fact (with some amount of effort), regardless
of the track_commit_timestamp setting. (I guess this must have long
been true, to support recovery_target_time.)

- The extra machinery turned on by track_commit_timestamp maintains
a cache of recent ones so they can be efficiently queried from SQL
in normal operation.

? Given a base backup and a bunch of WAL from a cluster that had
track_commit_timestamps turned off, is it possible (in principle?)
to do a PITR with the switch turned on, and have the commit_ts
cache get populated (at least from the transactions encountered
in the WAL)? Could that be done by changing the setting in
postgresql.conf for the recovery, or would it take something more
invasive, like poking the value in pg_control? Or would that just
make something fall over? Would it require dummying up some commit_ts
files first?

Thanks,
-Chap

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jaime Soler 2018-03-23 15:33:25 Re: GSOC 2018 Ideas
Previous Message Simon Riggs 2018-03-23 15:26:26 Re: [HACKERS] logical decoding of two-phase transactions