My broader point was that you need to assume the worst from your database in the application layer. Which I think you missed.
My broader point was that you need to assume the worst from your database in the application layer. Which I think you missed.
That article has various issues, for example, calling Postgres commit protocol as a special case of two phase commit is not really correct. Postgres has 2pc: http://www.postgresql.org/docs/9.2/static/sql-prepare-transa... but that was not tested.
The described behavior is "expected" and "understood". Saying that "you should assume worst from your database" is not something I would ever use for describing DB with ACID semantics.
And ACID does NOT guarentee that you will not lose data. It is a theory not an implementation. I have lost data with both Oracle and Teradata due to bugs.
Aphyr article about Postgres could be renamed to call-me-maybe-acid-db-over-the-network and could remain the same.