PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Sao lưu cơ sở dữ liệu Postgresql bằng Python

Sử dụng psycopg2 để thiết lập kết nối dữ liệu. Có khá nhiều ví dụ trong tài liệu:

http://initd.org/psycopg/

Khi bạn đã định cấu hình nguồn dữ liệu của mình, hãy lặp lại các kết quả của câu lệnh "CHỌN", xây dựng câu lệnh "CHÈN VÀO" bằng cách in tập kết quả ra một tệp. Về cơ bản là một số logic ngược.

Bằng cách đó, nếu thời gian đến và bạn cần sử dụng tệp sao lưu của mình, bạn chỉ cần chạy tệp SQL chèn dữ liệu trở lại ...

Ví dụ:

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

Sau đó để khôi phục:

psql <dbname> <username> < test.sql

Chúc mừng,



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL giải thích cho tôi biết chính xác là gì?

  2. Cách thiết lập lược đồ trong pg-promise

  3. Trích xuất tháng từ một ngày trong PostgreSQL

  4. Tại sao null bằng số nguyên trong WHERE?

  5. Đơn giản hóa trường hợp lồng nhau khi câu lệnh