Euler,

Mudar um ENUM não deveria ser frequente, mas pode acontecer por mudanças nos 
requisitos do sistema pedidas pelo cliente e/ou impostas pela legislação. É 
quase impossível prever quando qualquer uma dessas coisas vai acontecer. 
Agora, o que se espera de um ENUM ou de uma tabela de apoio é que haja *um 
monte* de tabelas e registros fazendo referência a eles.
Foi por isso que apontei essa diferença entre ENUM e tabelas de apoio como 
um problema e grande desvantagem do ENUM: no Postgres ele ainda é muito ruim 
de mexer (pouco prática, demorada, causadora de deadlocks) quando comparado 
a uma tabela.

Atenciosamente,

Mozart Hasse


2008/10/15 Euler Taveira de Oliveira <[EMAIL PROTECTED]>
> Mozart Hasse escreveu:
>
> > * Bom, com modelos perfeitos num mundo perfeito isso até parece 
> > razoável,
> > mas... voltando ao mundo real do dia-a-dia: e se eu precisar alterar a
> lista
> > de valores ? Eu não achei jeito de dar UPDATE, INSERT ou DELETE num enum
> sem
> > recriá-lo. Comparando com um simples comando numa tabela, que script eu
> É uma funcionalidade nova que está no TODO mas *não* é tão trivial como
> parece pois pode ser uma operação muito dispendiosa e até causar
> 'deadlocks'.
> Por que eu removeria ou atualizaria um ENUM? Adicionar (append) é fácil
> mas atualizar ou remover involve uma reescrita da tabela o que já não é
> tão trivial de fazer. E se involver várias tabelas? Teremos que fazer
> isso tudo em uma mesma transação e cuidar para que não ocorram 
> 'deadlocks'.


_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Reply via email to