Use psycopg2 para estabelecer a conexão de dados. Existem alguns exemplos na documentação:
http://initd.org/psycopg/
Depois de configurar sua fonte de dados, itere pelos resultados de sua instrução "SELECT" criando uma instrução "INSERT INTO" por meio da impressão do conjunto de resultados em um arquivo. Basicamente alguma lógica reversa.
Dessa forma, se chegar a hora e você precisar usar seu arquivo de backup, basta executar o arquivo SQL que insere os dados de volta ...
Exemplo:
import psycopg2
import sys
con = None
try:
con = psycopg2.connect(database='local', user='local', password='local',port='1970')
cur = con.cursor()
cur.execute('SELECT x FROM t')
f = open('test.sql', 'w')
for row in cur:
f.write("insert into t values (" + str(row) + ");")
except psycopg2.DatabaseError, e:
print 'Error %s' % e
sys.exit(1)
finally:
if con:
con.close()
Em seguida, para restaurar:
psql <dbname> <username> < test.sql
Saúde,