On Thu, Nov 10, 2022 at 08:39:03AM -0600, Ron wrote:
> On 11/10/22 08:33, Julien Rouhaud wrote:
> > On Thu, Nov 10, 2022 at 08:04:37AM -0600, Ron wrote:
> > > On 11/10/22 02:33, Julien Rouhaud wrote:
> > > [snip]
> > > > For now, the only safe way to go is either reindex everything, or everything
> > > > except some safe cases (non-partial indexes on plain-non-collatable datatypes
> > > > only). Usually, those safe cases are usually enough to avoid most of useless
> > > > reindex activity.
> > > In this situation, I queried for all indices with text-type columns
> > > (including UUID) and reindexed them.
> > That may work in your personal use case, but it's not generally safe. I hope
> > you don't have partial indexes,
>
> Aren't partial indices listed in pg_indexes?
They are, but you mentioned "indices with text-type columns". Did that also
include an analysis of the expressions stored in pg_index.indpred (and
pg_index.indexpr), and all underlying code it could call?
> > or indexes on other plain collatable datatypes.
>
> What other data types besides the text types are collatable?
varchar, name, custom types, composite types, domains...