Dan Libby <dan@libby.com> writes:
> 1) I don't understand why a difference in locale should cause a
> duplicate key error, especially when both databases were created using
> 'UNICODE' encoding. Is this valid behavior or a postgres bug?
The past reports I've seen of such misbehavior appeared to result
from strcoll() failing to cope well with multibyte sequences that
were illegal according to the selected locale's idea of the character
set in use. You can get burnt by this quite easily if you set the
database encoding to something not compatible with the locale.
If you didn't make that mistake, then I'd bet on Postgres having a
more liberal idea of what are valid characters in the encoding than
the locale definition does. Whether that is Postgres' bug or the
locale definition's is impossible to say without more data.
regards, tom lane