Olá comunidade, peço ajuda pra quem trabalha com Postgres em ambiente Linux e 
que também escreve Shell-scripts.

 

Preciso fazer uma rotina de backup de uma base em Postgresql 8.2.4.
 
Existem centenas de tabelas na base; todas as tabelas estão no formato 
bhXXX_h_YYYY_MM_DD, 
onde XXX é o rótulo de um tipo de tabela e YYYY_MM_DD refere-se à  data de 
criação da tabela.
 
Eis exemplos: bheqp_h_2009_01_09, bhmul_h_2009_01_09 , bhpas_h_2009_01_09, 
bhpds_h_2009_01_09, etc.
 
Fiz uma cópia de dados de uma tabela do servidor através do pgAdmin e obtive o 
seguinte comando:
 
 
pg_dump.exe --host 10.98.0.83 --port 5432 --username sage 
--format plain --data-only --verbose --file "C:\teste.sql" --table 
"\"public\".\"bheqp_h_2009_01_09\"" bhcolsl_ems_sage
 
 
Preciso fazer um programa/script para rodar , que o usuário entre com a data 
inicial e final e execute o comando acima 
de acordo com os parâmetros das datas; O arquivo gerado tem que ter o mesmo 
nome da tabela copiada.
 
Seria algo assim como o pseudo-codigo abaixo:
 
---------------------------------------
./copy_tabelas 2010-01-01 2010-01-31
---------------------------------------
 
 
tipos_tabelas[] = { 'mul', 'eqp', 'pas', 'pds', 'lia' };
 
For (i=0; i < tipos_tabelas.lenght; i++) {
 
        data_aux = data_inicial;
        While (data_aux <= data_final) {
               Nome_arquivo = data_aux || '.dados';
 
               EXCUTAR pg_dump.exe --host 10.98.0.83 --port 5432 --username 
sage 
                       --format plain --data-only --verbose --file "<< 
Nome_arquivo >>" --table                                                        
"\"public\".\"bheqp_h_<<data_aux>>\"" bhcolsl_ems_sage
 
               data_aux = data_aux + 1;
        }
}
 
 
Eu gostaria de saber como fazer isso em Shell-script. Se alguém puder dar um 
help. 
 
Desde já agradeço. Att.
 
 
NEWTON TEIXEIRA DO N. JR.

ANALISTA DE SISTEMAS



Aviso: "O emitente desta mensagem é responsável por seu conteúdo e 
endereçamento. Cabe ao destinatário cuidar quanto ao tratamento adequado. Sem a 
devida autorização, a divulgação, a reprodução, a distribuição ou qualquer 
outra ação em desconformidade com as normas internas da ELETRONORTE S/A são 
proibidas e passíveis de sanção disciplinar, cível e criminal. Esta mensagem 
pode ser monitorada".
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a