PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Kopia zapasowa bazy danych Postgresql przy użyciu Pythona

Użyj psycopg2, aby nawiązać połączenie danych. W dokumentacji jest kilka przykładów:

http://initd.org/psycopg/

Po skonfigurowaniu źródła danych wykonaj iterację wyników instrukcji „SELECT”, tworząc instrukcję „INSERT INTO” poprzez wydrukowanie zestawu wyników do pliku. W zasadzie trochę odwrotnej logiki.

W ten sposób, jeśli nadejdzie czas i będziesz musiał użyć pliku kopii zapasowej, po prostu uruchom plik SQL, który wstawi dane z powrotem do...

Przykład:

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

Następnie, aby przywrócić:

psql <dbname> <username> < test.sql

Pozdrawiam,



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zaimportować *ogromne* porcje danych do PostgreSQL?

  2. ON DELETE SET NULL w postgresie

  3. Funkcja śledzenia zależności

  4. Jak wygenerować 52 tygodnie od aktualnej daty za pomocą Postgresql

  5. Stół Postgres do tablicy dwuwymiarowej