On Mon, May 15, 2023 at 11:42 AM Fabrice Chapuis <fabrice636...@gmail.com> wrote:
> I am using postgres v.14 on rhel8 > I enabled the track_commit_timestamp parameter. > > postgres [379418]=# show track_commit_timestamp ; > ┌────────────────────────┐ > │ track_commit_timestamp │ > ├────────────────────────┤ > │ on │ > └────────────────────────┘ > (1 row) > > I performed a recover with the_recovery_target_time parameter. In the > postgres log the following informations are present: > > statement: alter system set recovery_target_time = '2023-05-15 16:10:00' > > recovery stopping before commit of transaction 53013547, time 2023-05-15 > 16:10:00.150823+02 > > I would like to get the xid related timestamp with the following query: > > postgres[379418]=#select pg_xact_commit_timestamp(53013547); > ERROR: function pg_xact_commit_timestamp(integer) does not exist > LINE 1: select pg_xact_commit_timestamp(53013547); > ^ > HINT: No function matches the given name and argument types. You might > need to add explicit type casts. > > What is the xid type and how can I cast integer value to make > pg_xact_commit_timestamp to work? > > Regards > > Fabrice Chapuis > > > This is not obvious, but QUOTE that value: select pg_xact_commit_timestamp('53013547'); And it figures it out!