I wrote:
> We further require that any given opclass be a member of at most one class
> group (this simplifies matters, and there isn't any application I can see
> for one opclass being in more than one group), and that a class group
> contain at most one opclass for a given datatype (ditto).
BTW, I forgot to mention one of the motivations for that last
restriction: I'm thinking it would be convenient to allow index
declarations to accept either an opclass name or a class group name.
Thus you could say "pattern_ops" instead of being specific about
"varchar_pattern_ops" or "text_pattern_ops". Not sure whether
there's a need to worry about name collisions ...
regards, tom lane