sql >> データベース >  >> RDS >> PostgreSQL

Pythonを使用したPostgresqlデータベースのバックアップ

    psycopg2を使用してデータ接続を確立します。ドキュメントにはかなりの数の例があります:

    http://initd.org/psycopg/

    データソースを構成したら、結果セットをファイルに出力して、「SELECT」ステートメントの結果を繰り返し、「INSERTINTO」ステートメントを作成します。基本的にいくつかの逆論理。

    そうすれば、時が来てバックアップファイルを使用する必要がある場合は、SQLファイルを実行するだけでデータが挿入されます...

    例:

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

    次に復元するには:

    psql <dbname> <username> < test.sql
    

    乾杯、



    1. 複数のSQLステートメントを個々のSQLステートメントに分割する

    2. 適切なデータベースパフォーマンス監視ツールを使用していますか?

    3. ORACLEの行の総数を取得し、4つの結果のみを取得します

    4. データベーステーブルの設計の問題