Gebruik psycopg2 om de gegevensverbinding tot stand te brengen. Er zijn nogal wat voorbeelden in de documentatie:
Nadat u uw gegevensbron hebt geconfigureerd, doorloopt u de resultaten van uw "SELECT"-instructie en bouwt u een "INSERT INTO"-instructie op door de resultatenset naar een bestand af te drukken. Eigenlijk wat omgekeerde logica.
Op die manier, als de tijd rijp is en u uw back-upbestand moet gebruiken, voert u eenvoudig het SQL-bestand uit dat de gegevens weer invoegt...
Voorbeeld:
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()
Om vervolgens te herstellen:
psql <dbname> <username> < test.sql
Groetjes,