Encontrei um problema ao tentar executar um script. Aqui está o cenário:
-- Script to create collation
CREATE COLLATION case_insensitive
(PROVIDER = icu, LOCALE ='und-u-ks-level2', DETERMINISTIC = FALSE);
-- Followed by adding an index using the collation
CREATE UNIQUE INDEX col1_idx ON my_table (col1 case_insensitive);
Lamentavelmente, durante o processo de indexação, encontrei o seguinte erro:
SQL Error [42704]: ERROR: operator class "case_insensitive" does not exist for access method "btree"
Eu verifiquei a pg_opclass
tabela e ela não existia lá:
SELECT * FROM pg_opclass WHERE opcname = 'case_insensitive';
Alguma ideia do que estou fazendo de errado/perdendo aqui? Eu ficaria imensamente grato por qualquer informação ou assistência em relação a isso.
A sintaxe
(col1 case_insensitive)
é usada para classes de operadores :varchar_pattern_ops
ougin_trgm_ops
como exemplos de classes comumente usadas.Agrupamento específico em índices pode ser usado com
COLLATE
a palavra-chave:Pode-se especificar agrupamento e classe de operador. Esses são recursos diferentes.