(8.0.26)
show variables like 'innodb_flush_log_at%';
innodb_flush_log_at_trx_commit
0 ログは 1 秒に 1 回書き込まれ、ディスクにフラッシュされます
1 (デフォルト) ログは、トランザクションのコミットごとにディスクに書き込まれ、フラッシュされます
2 各トランザクションのコミット後にログが書き込まれ、1 秒に 1 回ディスクにフラッシュされます
innodb_flush_log_at_timeout
N 秒ごとにログを書き込み、フラッシュします。デフォルト1
(19c)
show parameter commit_wait;
NOWAIT
WAIT
FORCE_WAIT
(14)
https://www.postgresql.jp/document/13/html/wal-async-commit.html
show synchronous_commit;
トランザクションのコミットがクライアントに「成功」の報告を返す前に、どれだけのWAL処理を完了しなければならないかを指定をします。
有効な値は
on (デフォルト)
off
remote_apply
remote_write
local
ALTER DATABASE test SET DELAYED_DURABILITY = DISABLED ;
ALTER DATABASE test SET DELAYED_DURABILITY = ALLOWED ;
ALTER DATABASE test SET DELAYED_DURABILITY = FORCED ;
DISABLED -> デフォルト。データベースに対してコミットされたトランザクションにはすべて完全持続性が適用されます
ALLOWED -> 各トランザクションの持続性がトランザクション レベルで決定されます
FORCED -> データベースにコミットされるすべてのトランザクションに遅延持続性が適用されます
select name,delayed_durability,delayed_durability_desc
from sys.databases
;