PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

psycopg2 COPY menggunakan cursor.copy_from() membeku dengan input yang besar

Ini hanya solusi, tetapi Anda bisa menyalurkan sesuatu ke psql. Saya menggunakan resep ini kadang-kadang ketika saya terlalu malas untuk mengeluarkan psycopg2

import subprocess
def psql_copy_from(filename, tablename, columns = None):
    """Warning, this does not properly quote things"""
    coltxt = ' (%s)' % ', '.join(columns) if columns else ''
    with open(filename) as f:
        subprocess.check_call([
            'psql',
            '-c', 'COPY %s%s FROM STDIN' % (tablename, coltxt),
            '--set=ON_ERROR_STOP=true', # to be safe
            # add your connection args here
        ], stdin=f)

Sejauh menyangkut penguncian Anda, apakah Anda menggunakan banyak utas atau semacamnya?

Apakah postgres Anda mencatat sesuatu seperti koneksi tertutup atau kebuntuan? Bisakah Anda melihat aktivitas disk setelah terkunci?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara mencari di bidang json yang berisi array objek dengan Eloquent

  2. Pengaturan skema di PostgreSQL JDBC sepertinya tidak berfungsi

  3. Bagaimana cara merujuk ke tabel kunci asing dua kali?

  4. pintasan pgAdmin untuk menjalankan skrip

  5. Bagaimana cara menyisipkan beberapa baris dengan kunci asing menggunakan CTE di Postgres?