[pgbr-geral] REF: ALTERAR TAMANHO DA COLUNA.

2014-06-24 Thread Paulo Pereira

Olá Pessoal,

Preciso alterar todas as colunas numeric(15.2) para numeric(18.2).
Existe uma forma de alterar todas as tabelas do banco,  sem ter que ir 
uma a uma ?


Agradeço qualquer dica.

Obrigado.

Paulo.


---
Este email está limpo de vírus e malwares porque a proteção do avast! Antivírus 
está ativa.
http://www.avast.com

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


Re: [pgbr-geral] REF: ALTERAR TAMANHO DA COLUNA.

2014-06-24 Thread JotaComm
Opa,


Em 24 de junho de 2014 10:51, Paulo Pereira 
escreveu:

> Olá Pessoal,
>
> Preciso alterar todas as colunas numeric(15.2) para numeric(18.2).
> Existe uma forma de alterar todas as tabelas do banco,  sem ter que ir uma
> a uma ?
>

​Sim. Você pode fazer um função em PLPGSQL, por exemplo, que faça isso para
você :)​


>
> Agradeço qualquer dica.
>
> Obrigado.
>
> Paulo.
>
>
> ---
> Este email está limpo de vírus e malwares porque a proteção do avast!
> Antivírus está ativa.
> http://www.avast.com
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>


​Abraços​

-- 
JotaComm
http://jotacomm.wordpress.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] REF: ALTERAR TAMANHO DA COLUNA.

2014-06-24 Thread Douglas Fabiano Specht
Em 24 de junho de 2014 11:50, JotaComm  escreveu:

> Opa,
>
>
> Em 24 de junho de 2014 10:51, Paulo Pereira 
> escreveu:
>
> Olá Pessoal,
>>
>> Preciso alterar todas as colunas numeric(15.2) para numeric(18.2).
>> Existe uma forma de alterar todas as tabelas do banco,  sem ter que ir
>> uma a uma ?
>>
>
> ​Sim. Você pode fazer um função em PLPGSQL, por exemplo, que faça isso
> para você :)​
>
>
>>
>> Agradeço qualquer dica.
>>
>> Obrigado.
>>
>> Paulo.
>>
>>
>> ---
>> Este email está limpo de vírus e malwares porque a proteção do avast!
>> Antivírus está ativa.
>> http://www.avast.com
>>
>> ___
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
>
> ​Abraços​
>
> --
> JotaComm
> http://jotacomm.wordpress.com
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
opa..
ta ai uma pl que utilizo as vezes, teste e veja se te ajuda


BEGIN TRANSACTION;
DO $$DECLARE r record;
 DECLARE s TEXT;
BEGIN
FOR r IN select
 c.table_schema,c.table_name, c.column_name
from information_schema.tables t
 inner join information_schema.columns c on c.table_catalog =
t.table_catalog and c.table_schema = t.table_schema and c.table_name =
t.table_name
 left join information_schema.key_column_usage u on c.table_catalog =
u.table_catalog and c.table_schema = u.table_schema and c.table_name =
u.table_name and c.column_name = u.column_name
 where  c.table_schema not like '%pg%' and c.table_schema ='dah' and
c.data_type like 'numeric' and c.numeric_precision=15 and c.numeric_scale=2
 group by 1,2,3
LOOP
s := 'ALTER TABLE ' ||  quote_ident(c.table_schema) || '.'
|| quote_ident(c.table_name)|| 'ALTER COLUMN' ||
quote_ident(c.column_name)|| TYPE numeric(18,2) || ';';



EXECUTE s;

RAISE NOTICE 's = % ',s;

END LOOP;
END$$;
ROLLBACK TRANSACTION;


-- 

Douglas Fabiano Specht
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] REF: ALTERAR TAMANHO DA COLUNA.

2014-06-25 Thread Guimarães Faria Corcete DUTRA , Leandro
2014-06-24 10:51 GMT-03:00 Paulo Pereira :
>
> Existe uma forma de alterar todas as tabelas do banco,  sem ter que ir uma a
> uma ?

Usar DOMAINs.


-- 
skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
+55 (61) 3546 7191  gTalk: xmpp:leand...@jabber.org
+55 (61) 9302 2691ICQ/AIM: aim:GoIM?screenname=61287803
BRAZIL GMT−3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] REF: ALTERAR TAMANHO DA COLUNA.

2014-06-25 Thread Douglas Fabiano Specht
Em 25 de junho de 2014 09:16, Guimarães Faria Corcete DUTRA, Leandro <
l...@dutras.org> escreveu:

> 2014-06-24 10:51 GMT-03:00 Paulo Pereira :
> >
> > Existe uma forma de alterar todas as tabelas do banco,  sem ter que ir
> uma a
> > uma ?
>
> Usar DOMAINs.
>
>
> --
> skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
> +55 (61) 3546 7191  gTalk: xmpp:leand...@jabber.org
> +55 (61) 9302 2691ICQ/AIM: aim:GoIM?screenname=61287803
> BRAZIL GMT−3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>


E ai Amigo deu ceto no exemplo que enviei?
posta ai para no futuro alguem precisar ja tem a resposta..


-- 

Douglas Fabiano Specht
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] REF: ALTERAR TAMANHO DA COLUNA.

2014-06-25 Thread Matheus de Oliveira
2014-06-25 9:16 GMT-03:00 Guimarães Faria Corcete DUTRA, Leandro <
l...@dutras.org>:

> > Existe uma forma de alterar todas as tabelas do banco,  sem ter que ir
> uma a
> > uma ?
>
> Usar DOMAINs.


DOMAINs não iriam ajudar nesse caso. Não é possível alterar o tipo de dados
de um DOMAIN.

O que posso pensar que ajudariam, é na execução de uma PL, onde cria-se um
novo DOMAIN depois faz-se um ALTER TABLE de toda tabela/coluna que usava o
antigo para passar a usar o novo. Mesmo nesse caso não fugiríamos de uma
consulta + ALTER TABLE dinâmico, mas pelo menos pode-se filtrar melhor do
que o chute de todo "numeric(x, y)".

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral