Utilice psycopg2 para establecer la conexión de datos. Hay bastantes ejemplos en la documentación:
Una vez que haya configurado su fuente de datos, repita los resultados de su declaración "SELECCIONAR" creando una declaración "INSERTAR EN" mediante la impresión del conjunto de resultados en un archivo. Básicamente algo de lógica inversa.
De esa manera, si llega el momento y necesita usar su archivo de copia de seguridad, simplemente ejecute el archivo SQL que inserta los datos nuevamente en...
Ejemplo:
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()
Luego para restaurar:
psql <dbname> <username> < test.sql
Saludos,