PostgreSQL のコンパイル時に指定できるオプションとして XLOG_BLCKSZ (トランザクションログのブロックサイズ)があります。 XLOG_BLCKSZ のデフォルト値は 8KB (BLCKSZと同じ) なのですが、 PostgreSQL のトランザクションログのフラッシュコードを覗いてみると、この値はトランザクションログ書き出し時の最小単位として利用されます。 これは、たとえばトランザクションログに100バイト分のデータをコミットしたいときでも XLOG_BLCKSZ が 8KB がであれば 8KB 分の write() が発生しフラッシュされ、もし運悪くログが境界をまたいでしまうようなケースでは XLOG_BLCKSZ の n 倍の書き込み、つまり 16KB などの書き込みが発生することになります。 また、コードを見る感じだと PostgreSQL のトランザクションログ