>> Pessoal, >> fizemos alguns testes aqui com tabelas particionadas (10 >> partições, por exemplo). Ao alterar o datatype de um campo (da >> pai, é claro) o tempo deste comando ficou 20% mais lento do que >> alterar o mesmo campo para uma cópia desta tabela, porém uma >> única tabela, sem partições. O campo alterado no teste não faz >> parte de índice algum e a alteração foi bem simples, de >> varchar(30) para varchar(50). >> >> Entendo que o esforço é o mesmo quanto ao volume de dados, porém >> na tabela particionada há mais controles e objetos a nível de >> dicionário de dados. Mas mesmo assim acreditava que a diferença >> não fosse tão grande. Há algum recurso para otimizar esta >> operação? >> >> * como são várias partições não seria viável ter várias threads para fazer >> isto simultaneamente? >> >> * banco PostgreSQL 9.0 (e 9.1) >> * SO Windows
Você pode alterar os tipos por partição e depois na tabela pai. Imagine as tabelas: x (pai) x1 (filha 1) x2 (filha 2) Desligue a herança: ALTER TABLE x1 NO INHERIT x; ALTER TABLE x2 NO INHERIT x; Altere os tipos: ALTER TABLE x1 ALTER COLUMN.... ALTER TABLE x2 ALTER COLUMN.... ALTER TABLE x ALTER COLUMN.... Ligue a herança novamente: ALTER TABLE x1 INHERIT x; ALTER TABLE x2 INHERIT x; []s Flavio Gurgel _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral