Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

372
Visualizações
En Postgres, ejecutar ANALYZE cambia el comportamiento de la cláusula ILIKE con COLLATE

Estamos migrando una aplicación de SQL Server a Postgres e intentando emular varios aspectos de la insensibilidad a mayúsculas y minúsculas de SQL Server. Hemos creado una intercalación no determinista para respaldar la comparación de claves foráneas y las comparaciones de igualdad que no distinguen entre mayúsculas y minúsculas.

Pero estamos viendo un comportamiento extraño cuando usamos ILIKE que no podemos explicar, y agradeceríamos alguna ayuda.

Para ver el comportamiento, ejecute lo siguiente en una base de datos nueva:

 CREATE COLLATION IF NOT EXISTS public.ci (provider = icu, locale = 'und-u-ks-level2', deterministic = false); DROP TABLE IF EXISTS sort_test; CREATE TABLE sort_test (a text COLLATE public.ci); INSERT INTO sort_test SELECT md5(n::text) FROM generate_series(1, 10000) n; -- Removing the following line fixes the issue ANALYZE sort_test; -- This line throws "nondeterministic collations are not supported for ILIKE" SELECT * FROM sort_test WHERE a ILIKE 'c4ca4238a0%' COLLATE "und-x-icu";

¿Por qué ejecutar la declaración ANALYZE rompe la declaración ILIKE?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Ese comportamiento es un error de PostgreSQL .

La razón por la que funciona sin ANALYZE es que el error se produce al aplicar el operador a los "límites del histograma" en las estadísticas. Antes de ANALYZE no hay estadísticas, por lo que no arroja ningún error.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda