On Sun, 2004-08-08 at 21:26, Alvaro Herrera Munoz wrote: > On Sun, Aug 08, 2004 at 08:36:36PM -0600, Scott Marlowe wrote: > > On Sun, 2004-08-08 at 19:43, lec wrote: > > > > If I commit the following records 1,2,3,4,5,6,7,8,9,10 to the database > > > and the server hangs, I could lose records 5,6,7,8,9 but record 10 is > > > there. How is this possible and do anyone know how Postgresql > > > physically writes the records? > > > > Assuming a properly function storage subsystem and a kernel that does > > not lie about fsync, this is not possible. > > It is actually possible if he uses several backends to do the job, and > transaction inserting record 10 commits before the hang, and 5,6,7,8,9 > don't.
Yeah, but he explicitly said he'd committed 1 through 10. Unless he didn't understand what is meant by commit. I.e. committing AND receiving the ack for that commit. Until the database says it committed, nothing's been committed, so he might have thought just firing the insert query was committing. I hadn't really thought of that angle. Is that the case, lec? > If this is only one backend, then I'd love to see how did he do that. Me too :-) ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend