On 03-03-2016 13:43, Edinelson wrote:
> Ola,
> 
> Eu gostaria de fazer copia minha base dados porem tem algumas tabelas de
> movimentação que eu queria copiar elas vazia, porque são grandes e vou
> perder tempo somente, sei que tem no pg_dump o comando
> --exclude-table-data=TABELA onde posso fazer isso, porem estas tabelas
> que pretendo não copiar dados sao bastantes mais 100 tabelas, gostaria
> saber se tem como criar arquivo texto com a relação das tabelas e entao
> utilizar esse arquivo texto no comando do pg_dump?
> 

Diretamente no pg_dump não tem como fazer dessa forma, mas se não me
engano você pode usar "wildcards" no "--exclude-table-data" para, por
exemplo, não copiar dados de todas tabelas que comecem com a letra "a":

pg_dump --exclude-table-data=public.a*

Não testei, mas deve funcionar sim.

De qualquer forma se vc tem a lista de tabelas em um arquivo texto então
não é difícil montar um shell script que monte a linha de comando pra
vc, mais ou menos assim:

EXCLUDE_TABLES=''

for TABLE in $(cat arquivotextocomtabelas.txt); do
  EXCLUDE_TABLES="$EXCLUDE_TABLES --exclude-table-data=$TABLE"
done

pg_dump $EXCLUDE_TABLES ...


Att,

-- 
   Fabrízio de Royes Mello         Timbira - http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento

Attachment: signature.asc
Description: OpenPGP digital signature

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

Responder a