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

djangoとpsycopg2でサーバー側カーソルを使用するにはどうすればよいですか?

    質問でおっしゃっていますが、今後の読者のためにここで繰り返します。DjangoのパブリックAPIをバイパスせずに、明示的に名前が付けられたカーソルを使用することもできます。

    from django.db import connection, transaction
    
    with transaction.atomic(), connection.cursor() as cur:
        cur.execute("""
            DECLARE mycursor CURSOR FOR
            SELECT *
            FROM giant_table
        """)
        while True:
            cur.execute("FETCH 1000 FROM mycursor")
            chunk = cur.fetchall()
            if not chunk:
                break
            for row in chunk:
                process_row(row)
    


    1. OracleMERGEステートメントをPostgreSQLUPSERTステートメントに移行する

    2. 文字列列名SQLから列値を取得

    3. HibernateNamedQuery-3つのテーブルを結合します

    4. Python:インデックス350でサポートされていないフォーマット文字'''(0x27)