PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Backup del database Postgresql utilizzando Python

Utilizzare psycopg2 per stabilire la connessione dati. Ci sono alcuni esempi nella documentazione:

http://initd.org/psycopg/

Dopo aver configurato l'origine dati, scorrere i risultati dell'istruzione "SELECT" creando un'istruzione "INSERT INTO" stampando il set di risultati in un file. Fondamentalmente una logica inversa.

In questo modo, se arriva il momento e devi usare il tuo file di backup, esegui semplicemente il file SQL che reinserisce i dati in...

Esempio:

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

Quindi per ripristinare:

psql <dbname> <username> < test.sql

Ciao,