O que preciso é que o default no alter table não realize alterações nos 
registros existentes.
Por padrão quando você atribui um dafault a um campo, o pg atualiza 
todos os registros
da tabela que estão null para o valor default.
No Oracle, para você me entender, o valor default só é atribuído para os 
novos registros
a partir da alteração da estrutura da tabela.
Existe algum comando que desabilite essa operação automática do default 
no pg?

Quanto a ser ou não boa prática isso depende da semântica do campo.
Quando um campo possui um valor null, a pesquisa por is null ou is not 
null não é mais
 rápida do que a comparação com um atributo valorado NULL?

Valeu.

Leandro Guimarães Faria Corcete DUTRA wrote:
> Em Qua, 2007-04-25 às 10:15 -0300, Rudinei Dias escreveu:
>   
>> Como fazer com que um alter table adicionando um campo com default não 
>> atualize os registros existentes?
>> É que o alter table dá um update em todos os registros da tabela com o 
>> valor default.
>>     
>
>       Está um pouco difícil te entender, mas creio que você quer que os
> registros já existentes tenham NULL?
>
>       Isso não é boa prática, o ideal seria um valor especial — como o
> próprio DEFAULT.
>
>       Mas você pode criar o atributo NULL, e depois atribuir um valor por
> omissão.
>
>
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> Grupo de Usuários do PostgreSQL no Brasil
> Antes de perguntar consulte o manual
> http://pgdocptbr.sourceforge.net/
>
> Para editar suas opções ou sair da lista acesse a página da lista em:
> http://pgfoundry.org/mailman/listinfo/brasil-usuarios

_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a