pgsql-bugs@postgresql.org writes:
> When running a backup/restore version of the regression tests on 7.0.3
> and 7.1RCD1 the following was noted: when the create table command
> contained two constraints, the error messages would reflect that the
> constraints were being checked in a consistent order and error
> messages would show either the constraint name or $1 or $2 if no name
> was used for the constraint which generated the first error. After
> dumping and restoring the database, the order was reversed. As a
> result the meaning of error messages changed.
I don't believe this is a bug. There is no guarantee that constraints
are checked in any particular order.
regards, tom lane