यह सिर्फ एक समाधान है, लेकिन आप बस psql में कुछ पाइप कर सकते हैं। मैं इस नुस्खे का उपयोग कभी-कभी तब करता हूं जब मैं 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)
जहां तक आपके लॉकिंग अप का संबंध है, क्या आप एक से अधिक थ्रेड्स या ऐसा ही कुछ उपयोग कर रहे हैं?
क्या आपका पोस्टग्रेज बंद कनेक्शन या डेडलॉक जैसे कुछ भी लॉगिंग कर रहा है? क्या आप डिस्क गतिविधि को लॉक होने के बाद देख सकते हैं?