Enviado em 03/05/2010 - 14:22h
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 --file "/tmp/sage/arqs/bheqp_h_2009_01_09.sql" -t "\"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 --file "<<Nome_arquivo>>.sql" -t "\"public\".\"bh<<tipos_tabelas[i]>>_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.
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 --file "/tmp/sage/arqs/bheqp_h_2009_01_09.sql" -t "\"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 --file "<<Nome_arquivo>>.sql" -t "\"public\".\"bh<<tipos_tabelas[i]>>_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.