Shhh, didn't think of that. So we won't ever accept unique indices for this.
What we do in phpPgAdmin is that rows with NULL values in the unique key simply aren't editable - all other rows are though.
In order, we prefer to use a PK (since it is indexed), then oid column (since it is complete), then unique. It's even better if they add a unique constraint to their oid column :)
Also, oids are not guaranteed unique.
AFAICS this only happens on wrap around, i.e. hopefully never. Being strict, we shouldn't rely on oid uniqueness, but in practice hopefully nobody will ever notice.
What phpPgAdmin does for oid edits is it begins a transaction, does the update, checks to see how many rows were affected. If more than one row affected, rollback and complain, otherwise commit.
Chris
---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings