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

psycopg2 COPY bằng cách sử dụng cursor.copy_from () bị đóng băng với đầu vào lớn

Đây chỉ là một cách giải quyết, nhưng bạn có thể chỉ cần đưa một cái gì đó vào psql. Tôi sử dụng công thức này đôi khi tôi quá lười biếng để phá vỡ 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)

Theo như việc bạn bị khóa, bạn có đang sử dụng nhiều chuỗi hay bất cứ thứ gì tương tự không?

Postgres của bạn có ghi lại bất cứ điều gì chẳng hạn như kết nối bị đóng hoặc bế tắc không? Bạn có thể thấy hoạt động của đĩa sau khi khóa khô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. Ứng dụng web CRUD thả vào

  2. Cách không tạo tiện ích mở rộng PostgreSQL 9.0 trên nền tảng RPM

  3. Bộ nhớ đệm trong PostgreSQL

  4. TemplateSyntaxError:Caught ImportError khi render:khong the import name utils

  5. PostgreSQL:Cách tối ưu hóa cơ sở dữ liệu của tôi để lưu trữ và truy vấn một biểu đồ khổng lồ