2013/8/22 Fabrízio de Royes Mello <[email protected]>

> On 21-08-2013 17:13, Guimarães Faria Corcete DUTRA, Leandro wrote:
>
>> 2013/8/21 Bruno Silva <[email protected]>:
>>
>>>
>>> UPDATE pg_attribute SET atttypmod = <novo_tamanho>+4
>>> WHERE attrelid = 'TABLE1'::regclass
>>> AND attname = 'COL1';
>>>
>>
>> De maneira geral, é uma limitação do PostgreSQL (e dos outros SGBDs)
>> que não se recomenda a alteração do catálogo.  Há um trabalho lento de
>> tornar o catálogo manipulável, mas não creio que a recomendação tenha
>> sido já alterada.
>>
>> Mas é possível, e funciona.  Mas muito, muito cuidado.
>>
>>
> Alterar o catálogo é muito perigoso, se vc fizer alguma alteração
> equivocada pode corromper o heap e inutilizar a tabela.
>
> Eu utilizaria esse artificio de alterar o catálogo como ÚLTIMA ALTERNATIVA.
>
> E como última alternativa, pelo menos para ser mais seguro, vc precisa
> antes obter um AccessExclusiveLock na relação e colocar isso tudo em uma
> transação, mas eu não faria dessa forma e sim como o Dutra falou abaixo.
>
>
>
>  De maneira geral, seria melhor usar uma consulta sobre o catálogo para
>> gerar um programeta SQL que fizesse as alterações.  Há vários exemplos
>> no arquivo da lista e na Teia; procure por algo como “SELECT 'DROP
>> VIEW”…
>>
>>
> +1
>
> Att,
>
> --
>    Fabrízio de Royes Mello         Timbira - http://www.timbira.com.br/
>    PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
>
> ______________________________**_________________
> pgbr-geral mailing list
> [email protected].**org.br<[email protected]>
> https://listas.postgresql.org.**br/cgi-bin/mailman/listinfo/**pgbr-geral<https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral>
>
Obrigado a todos, analisando achei mais viável verificar as dependências e
tratá-las todas dentro de uma transação. É mais seguro.
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a