Actually I am trying to add file support for TOAST. I mean store the toasted value in the file system and leave a file path in the toast pointer. Therefore, for garbage collection, we need to remove the file after confirming that a deleted tuple is older than the latest checkpoint.
On Sat, 2020-07-04 at 12:19 -0400, Jialun Zhang wrote: > I am trying to add code to determine whether the transaction is checkpointed or not. > So I think I need to compare the transaction ID with the checkpoint's and determine > whether it is older or not. Could anyone tell me what's the best practice of doing > this in Postgres? Is it done somewhere in the existing code?
You could use
SELECT next_xid FROM pg_control_checkpoint();
to get information about the last checkpoint.
I refrain from asking what the point of the exercise is...