Re: Fsync (flush) all inserted WAL records

From: Aleksander Alekseev <aleksander(at)timescale(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Cc: Vitaly Davydov <v(dot)davydov(at)postgrespro(dot)ru>
Subject: Re: Fsync (flush) all inserted WAL records
Date: 2024-08-07 15:00:45
Message-ID: CAJ7c6TMi6GoLX0S4WUXfTg0JfsqRtw9VPa52Asg2mDFaNyRDEQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

> I use asynchronous commit (without XLogFlush/fsync at commit). At some moment I would like to XLogFlush (fsync) all already asynchronously committed transactions (inserted but not flushed/fsynced yet WAL records). Assume, that there is no any active transactions at this moment, no any potential race conditions. My problem is to find a proper LSN which I can use as a parameter for XLogFlush.

How is it different from `CHECKPOINT;` ?

> Well, I would like to use such function in C language code, in some solution, not as a function to be used by users.

Assuming the function has value, as you claim, I see no reason not to
expose it similarly to pg_current_wal_*(). On top of that you will
have to test-cover it anyway. The easiest way to do it will be to have
an SQL-wrapper.

--
Best regards,
Aleksander Alekseev

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Nathan Bossart 2024-08-07 15:08:04 Re: Remove dependence on integer wrapping
Previous Message Heikki Linnakangas 2024-08-07 14:59:23 Re: Interrupts vs signals