> Deadlocks like this are the only kind of serialization error possible
> under "traditional" (non-MVCC) databases. These are much more rare in
> MVCC than update conflicts, but that doesn't mean they aren't
> serialization failures there, too. I think it is a violation of the
> standard for PostgreSQL not to report them with SQLSTATE '40001'.
I'm not sure that inductive reasoning applies to the SQL standard. And
we'd break 100,000 existing Java applications if we changed the error.
In my opinion, this falls under the heading of "it would be a nice thing
to do if we were starting over, but not now."
--Josh