PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Sauvegarde de la base de données Postgresql à l'aide de Python

Utilisez psycopg2 pour établir la connexion de données. Il y a pas mal d'exemples dans la documentation :

http://initd.org/psycopg/

Une fois que vous avez configuré votre source de données, parcourez les résultats de votre instruction "SELECT" en créant une instruction "INSERT INTO" via l'impression du jeu de résultats dans un fichier. Fondamentalement, une logique inverse.

De cette façon, si le moment vient et que vous avez besoin d'utiliser votre fichier de sauvegarde, vous lancez simplement le fichier SQL qui réinsère les données dans...

Exemple :

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

Puis pour restaurer :

psql <dbname> <username> < test.sql

Bravo,