>It's an interesting idea. 
>While it’s impossible to predict exactly how much WAL we’ll need to backtrack 
>through --
>I assume it mainly depends on the duration of long-running transactions -- 
>this approach 
>seems to offer an opportunity using pg_rewind without enabling wal_log_hints.

Hi Neil, thanks and I think it's meaningful.


>Given the potential large gap between transaction IDs (especially when 
>long-running transactions are involved), 
>maintaining  a list/bitmap struct would be worthwhile.

Yes I intend todo that but bitmapset can not use in src/bin and it seem no 
necessary to implement
one. And attention that min and max is what commited after diverge record, so 
it nomally small gap.
So it's the reason I give up.


>A minor suggestion, for an operation that may fail, I suggest retrieving the 
>first XLOG_RUNNING_XACTS record to obtain its base_xid 
>before doing the deep-dig process. If the task cannot be completed (i.e., the 
>base_xid <= min_commited_xid condition isn’t met), 
>we can throw an error immediately instead of waiting for all WAL records to be 
>parsed.

Mainly we can not get the first wal segment, because if no enough wal it will 
fetch wal segment
by restore_command. Your suggestion is meanful only if no restore_command. 
Anyway let's see
hacker's opnions.

----
Best Regards,
Movead Li

Reply via email to