On Tue, May 24, 2022 at 7:42 AM Tom Lane <t...@sss.pgh.pa.us> wrote: > I wrote: > > Perhaps this should be documented more clearly, but it's not obviously > > wrong. If the domain declaration doesn't include an explicit COLLATE > > then casting to the domain doesn't create an explicit collation > > requirement. (That is, the domain *doesn't* have a specific > > collation attached to it, any more than type text does.) > > Perhaps we could improve matters like this? > > diff --git a/doc/src/sgml/ref/create_domain.sgml > b/doc/src/sgml/ref/create_domain.sgml > index 81a8924926..e4b856d630 100644 > --- a/doc/src/sgml/ref/create_domain.sgml > +++ b/doc/src/sgml/ref/create_domain.sgml > @@ -94,7 +94,8 @@ CREATE DOMAIN <replaceable > class="parameter">name</replaceable> [ AS ] <replacea > <listitem> > <para> > An optional collation for the domain. If no collation is > - specified, the underlying data type's default collation is used. > + specified, the domain has the same collation behavior as its > + underlying data type. > The underlying type must be collatable if > <literal>COLLATE</literal> > is specified. > </para> > > +1
The lack of any explicitness pushes evaluation down to the base type - which is a behavioral thing as opposed to some kind of attribute it possesses. David J.