pg_dump ..... | sed 's/esquema_antigo/esquema_novo/g ' | psql -U ..
João Cosme de Oliveira Júnior
"Lembre-se que da conduta de cada um depende o destino de todos."
Em 04/05/2011 às 11:22 horas, pgbr-geral@listas.postgresql.org.br escreveu:
Opa,
Sem muito tempo para elaborar uma solução mais interessante, mas segue a minha:
DO $$
DECLARE
tabela VARCHAR;
BEGIN
FOR tabela IN SELECT table_schema||'.'||table_name FROM information_schema.tables WHERE table_schema='esquema1' LOOP
EXECUTE 'ALTER TABLE ' || tabela || ' SET SCHEMA esquema2';
END LOOP;
END $$;Em 4 de maio de 2011 09:07, Eloi Ribeiro <eloi.ribe...@gmail.com> escreveu:
2011/5/4 Fabrízio de Royes Mello <fabriziome...@gmail.com>Se vc realmente deseja *mover* as tabelas vc poderia simplificar da seguinte forma:psql -h localhost -U utilizador bd_nome -A -t -c "select 'ALTER TABLE '||quote_ident(table_schema)||'.'||quote_ident(table_name)||' SET SCHEMA '||quote_ident('sch_origem')||';' from information_schema.tables where table_schema = 'sch_destino' " | psql -h localhost -U utilizador bd_nome
Assim elimina a necessidade de dump/restore.Obs: Da forma como vc apresentou vc está "copiando" o conteúdo de um schema para outro... se nao apagar o "sch_origem" da base vc terá ao final os dois.Uahu! Excelente dica Fabrízio. Tomo nota.Tens razao, fiquei com as dados duplicados, pelo menos até estar seguro que estaria tudo bem no novo esquema.Obrigado.
_______________________________________________
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
-
"Esta mensagem do SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO), empresa pública federal regida pelo disposto na Lei Federal nº 5.615, é enviada exclusivamente a seu destinatário e pode conter informações confidenciais, protegidas por sigilo profissional. Sua utilização desautorizada é ilegal e sujeita o infrator às penas da lei. Se você a recebeu indevidamente, queira, por gentileza, reenviá-la ao emitente, esclarecendo o equívoco."
"This message from SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO) -- a government company established under Brazilian law (5.615/70) -- is directed exclusively to its addressee and may contain confidential data, protected under professional secrecy rules. Its unauthorized use is illegal and may subject the transgressor to the law's penalties. If you're not the addressee, please send it back, elucidating the failure."
"Esta mensagem do SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO), empresa pública federal regida pelo disposto na Lei Federal nº 5.615, é enviada exclusivamente a seu destinatário e pode conter informações confidenciais, protegidas por sigilo profissional. Sua utilização desautorizada é ilegal e sujeita o infrator às penas da lei. Se você a recebeu indevidamente, queira, por gentileza, reenviá-la ao emitente, esclarecendo o equívoco."
"This message from SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO) -- a government company established under Brazilian law (5.615/70) -- is directed exclusively to its addressee and may contain confidential data, protected under professional secrecy rules. Its unauthorized use is illegal and may subject the transgressor to the law's penalties. If you're not the addressee, please send it back, elucidating the failure."
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral