Dickson S. Guedes escreveu:
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

  
Muito interessante essa tua solução...  uma excelente alternativa para o caso de BDs maiores ou caso não possa parar para um backup/restore!!!

Muito obrigado!!!

--
Luiz Henrique Livrari
Implantador de Sistemas Jr.
MSI SOLUÇÕES - Unidade Ourinhos
Av. Dr. Altino Arantes, 131 Sala 145 - 146
Centro - Ourinhos/SP - Brasil
Fone/Fax: +55 (14) 3324-8181
www.msisolucoes.com.br
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a