Léxico de TI › Bancos de dados › citext

citext

Bancos de dados Svenska → Atualizado: 2026-09-28

Extensão do PostgreSQL: tipo TEXT que ignora diferença entre maiúsculas e minúsculas. 'Alice' = 'alice' retorna true. Os tipos de texto padrão diferenciam maiúsculas de minúsculas. Uso clássico: endereços de email, nomes de usuário, slugs.

CREATE EXTENSION citext; CREATE TABLE users (email citext UNIQUE);. Truque: dá uma restrição UNIQUE automaticamente insensível a maiúsculas/minúsculas sem precisar de LOWER(email) em todo lugar. Desempenho: um pouco mais lento que text (conversão para minúsculas ciente de Unicode a cada comparação). Alternativa moderna: TEXT comum + COLLATE não determinístico (PG 12+) dá a mesma comparação insensível a maiúsculas/minúsculas sem precisar da extensão. Escolha prática: citext é testado em batalha desde 2008; collation ICU é o caminho moderno do PG.

← Voltar ao léxico