Đâ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?