PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

psycopg2 कर्सर का उपयोग करके कॉपी करें। कॉपी_फ्रॉम () बड़े इनपुट के साथ जमा देता है

यह सिर्फ एक समाधान है, लेकिन आप बस 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)

जहां तक ​​आपके लॉकिंग अप का संबंध है, क्या आप एक से अधिक थ्रेड्स या ऐसा ही कुछ उपयोग कर रहे हैं?

क्या आपका पोस्टग्रेज बंद कनेक्शन या डेडलॉक जैसे कुछ भी लॉगिंग कर रहा है? क्या आप डिस्क गतिविधि को लॉक होने के बाद देख सकते हैं?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. भौतिक पोस्टग्रेज का उपयोग करने वाला लॉगिन सिस्टम उपयोगकर्ताओं को तार्किक उपयोगकर्ताओं को नहीं पोस्ट करता है

  2. ट्रिगर पोस्टग्रेज बनाएं या बदलें

  3. plpgsql फ़ंक्शन:यादृच्छिक तालिका से बनाए गए दृश्य से पंक्तियाँ लौटाएँ

  4. क्या मैं समानांतर का उपयोग कर सकता हूं। एसक्यूएल कमांड के साथ?

  5. जेपीए 2:विदेशी कुंजी में एकाधिक कॉलम उपयोग