Luiz Henrique escreveu:
> Jota escreveu:
>> Olá,
>>
>> Não é possível alterar o tipo de um domínio pelo comando alter domain.
>>     
> Tarde!!!
>
> Obrigado por confirmar as minhas suspeitas!!!
>
> Mas achei uma outra solução...  como o BD que precisava fazer essa 
> alteração era pequeno, fiz um backup no formato SQL, alterei a criação 
> do Domínio diretamente no backup e restaurei..  funcionou perfeitamente!!!

Dá para brincar um pouco com isso até...

(14:51:00) [EMAIL PROTECTED]:5432/admin
# CREATE DOMAIN numero numeric(18,6);
CREATE DOMAIN
Tempo: 12,124 ms

(14:51:11) [EMAIL PROTECTED]:5432/admin
# CREATE TEMP TABLE tb_teste(num numero);
CREATE TABLE
Tempo: 106,609 ms

(14:51:18) [EMAIL PROTECTED]:5432/admin
# CREATE DOMAIN numero2 numeric(18,9);
CREATE DOMAIN
Tempo: 8,298 ms

(14:51:43) [EMAIL PROTECTED]:5432/admin
# SELECT 'ALTER TABLE '||table_name||' ALTER COLUMN '||column_name||' 
TYPE numero2;' as "SCRIPT" from information_schema.columns where 
domain_name = 'numero';
                       SCRIPT                       
-----------------------------------------------------
 ALTER TABLE tb_teste ALTER COLUMN num TYPE numero2;
(1 registro)

Tempo: 14,539 ms

(14:52:08) [EMAIL PROTECTED]:5432/admin
#  ALTER TABLE tb_teste ALTER COLUMN num TYPE numero2;
ALTER TABLE
Tempo: 42,355 ms

(14:52:33) [EMAIL PROTECTED]:5432/admin
# DROP DOMAIN numero;
DROP DOMAIN
Tempo: 14,644 ms

(14:52:48) [EMAIL PROTECTED]:5432/admin
# CREATE DOMAIN numero numeric(18,9);
CREATE DOMAIN
Tempo: 13,577 ms

(14:52:52) [EMAIL PROTECTED]:5432/admin
# SELECT 'ALTER TABLE '||table_name||' ALTER COLUMN '||column_name||' 
TYPE numero;' as "SCRIPT" from information_schema.columns where 
domain_name = 'numero2';
                       SCRIPT                      
----------------------------------------------------
 ALTER TABLE tb_teste ALTER COLUMN num TYPE numero;
(1 registro)

Tempo: 14,673 ms

(14:53:03) [EMAIL PROTECTED]:5432/admin
#  ALTER TABLE tb_teste ALTER COLUMN num TYPE numero;
ALTER TABLE
Tempo: 35,447 ms


":D

-- 
[]s
Dickson S. Guedes
Administrador de Banco de Dados
Projeto Colmeia -  Florianópolis, SC
(48) 3322-1185, ramal: 26

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

Responder a