Hi all We have been 'fighting' with the performance of our app for some days now.We don't know exactly how wal log files and check points exactly work behind scenes. We found that incrementing the checkpoint_segments and increasing the wal_buffers the performance of our app goes up. Our app is primarily inserts , we don't do deletes at all and updates happen just eventually. We have two understanding on this 1 )So once a transaction is comitted , it goes to the wal_buffers then when a checkpoint_segment comes or a time_out comes , wal_buffers is flush out to the disk into the logfiles? Is that correct?, If so, what happens if the system crash before a checkpoint occurs? we lost the log files?. 2) Transactions go to the WAL buffers then when the check_point comes , wal_buffers are written to the D.B. and to the logfiles if so what happen when the system crash before the wal_buffers are written do the D.B/ Could u please clarify that process? Thanks a lot in advance ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match