Tive a necessidade (recorrente, por sinal) de fazer backup e restore de apenas algumas tabelas do banco de dados. Por haver se tornado de certa forma repetitiva, fiz um pequeno script para diminuir a repetição da digitação dos comandos de backup e restore dessas tabelas.
Para realizar o backup de uma determinada tabela, utilizamos:
pg_dump -t nome_da_tabela nome_do_banco > destino_do_backup.sql
Para realizar o restore, basta digitar:
pg_restore -t nome_da_tabela -d nome_do_banco < origem_do_backup.sql
Segue abaixo um exemplo de um script para semi-automatizar a realização do Backup de uma tabela do banco:
#/bin/sh if [ "$1" = "" ]; then clear echo "Informe a TABELA para copiar." exit 0 else tabela="$1" fi if [ "$2" = "" ]; then clear echo "Informe o BANCO DE DADOS desejado." exit 0 else banco="$2" fi if [ "$3" = "" ]; then clear echo "Informe um nome para o Backup." exit 0 else destino="$3" fi su postgres -c "pg_dump -t $tabela $banco > $destino"
Salvei com o nome de backup.sh. Para executar o script, comande pelo console:
sh backup.sh clientes bd_loja bck_loja.sql
Onde:
clientes é o nome da minha tabela
bd_loja é o meu banco de dados
e bck_loja.sql é o arquivo que será gerado com os dados



