Currently, the default sysid assigned to a user or group is computed as
"max(sysid)+1". We've seen a couple of complaints now from people who
deleted their newest user, made another user, and found that permissions
from the deleted user carried over to the new one.
It seems to me that the easiest solution to this is to generate the
default sysid from a sequence object, instead. Unless someone
deliberately resets the sequence, there'd be no conflicts.
A small difficulty is that explicitly-specified sysids could conflict
with sysids generated later by the sequence. We could perhaps fix this
by forcing up the sequence setting to be at least as large as an
explicitly-given ID (compare the handling of explicitly loaded OIDs).
Comments?
regards, tom lane