Re: Feature Suggestion: Make synchronous_commit a table level property
Andy Fan <zhihuifan1213@163.com>
From: Andy Fan <zhihuifan1213@163.com>
To: Anas-ur-Rasheed Khan <annicheez@gmail.com>
Cc: pgsql-hackers@postgresql.org
Date: 2025-05-22T10:16:34Z
Lists: pgsql-hackers
Anas-ur-Rasheed Khan <annicheez@gmail.com> writes: Hi, > We have a use case where some tables are derived, i.e., can be reconstructed entirely from 'source' tables (similar to > views, but more complex mathematical transformations are applied). Data integrity and durability are important for > 'source' tables, but not so much for derived tables. In the event of a crash, it is important that we can recover data > from volatile memory for 'source' tables. > > What are your thoughts on this, and potentially adding such support in > future postgres versions? I think it is possible to do that since PostgreSQL already checked if a table need a write log, we can check if the table needs a immedately xlog flush. But the final result would be if *any relation* need an immedate flush, the transction need to flush the xlog during the commit stage, so only a transaction which touch the derived table *only* could get benefit from this feature. As an alternative, your application could identify the "derived table only" transaction and set synchronous_commit to off by your own. -- Best Regards Andy Fan