2011/1/20 Antonio Abner Junior <[email protected]>:
> Olá a todos!!!
>
> Estou com o seguinte problema !!!
>
> Possuo o PostgreSQL 8.3 em ambiente de produção e quando executo o comando
> Alter Table myschema.mytable ALTER COLUMN mycolumn SET DEFAULT FALSE;
> o comando demora muito e o servidor senta e para tudo. O campo na tabela é
> um boolean e todos os registros estão 'false'
> e essa minha tabela possui mais de 30.000 registros. Acredido que o problema
> seja relacionado a
> concorrência pois sei que um comando ALTER TABLE tem um EXCLUSIVE LOCK.
>
> Mas como poderia eliminar ou mitigar esse problema ?
> Recriar o objeto com o valor default e transfiro os dados ?
> Existe alguma outra solução ?

Identifique quem é a concorrência através de pg_locks, desconecte-a e
execute a instrução ALTER novamente. Deve executar em questão de
segundos dependendo da sua configuração.

Lembrando que estamos falando de ambiente de produção, vc tem
provavelmente uma janela de manuteção, certo?

Abraço!

-Leo
-- 
Leonardo Cezar
http://postgreslogia.wordpress.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a