PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Postgresql-Datenbanksicherung mit Python

Verwenden Sie psycopg2, um die Datenverbindung herzustellen. Es gibt einige Beispiele in der Dokumentation:

http://initd.org/psycopg/

Nachdem Sie Ihre Datenquelle konfiguriert haben, durchlaufen Sie die Ergebnisse Ihrer „SELECT“-Anweisung, indem Sie eine „INSERT INTO“-Anweisung erstellen, indem Sie die Ergebnismenge in eine Datei drucken. Im Grunde eine umgekehrte Logik.

Auf diese Weise können Sie, wenn die Zeit gekommen ist und Sie Ihre Sicherungsdatei verwenden müssen, einfach die SQL-Datei ausführen, die die Daten wieder in ...

einfügt

Beispiel:

        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()

Dann zum Wiederherstellen:

psql <dbname> <username> < test.sql

Tschüss,