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...