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

Postgres में एक डेटाबेस से दूसरे डेटाबेस में तालिका की पंक्तियों के सबसेट को कॉपी करने का सबसे अच्छा तरीका क्या है?

स्रोत:

psql -c "COPY (SELECT * FROM mytable WHERE ...) TO STDOUT" > mytable.copy

गंतव्य:

psql -c "COPY mytable FROM STDIN" < mytable.copy

यह मानता है कि स्रोत और गंतव्य दोनों में mytable का एक ही स्कीमा और कॉलम ऑर्डर है। अगर ऐसा नहीं है, तो आप STDOUT CSV HEADER को आजमा सकते हैं और STDIN CSV HEADER STDOUT . के बजाय और STDIN , लेकिन मैंने इसे आजमाया नहीं है।

यदि आपके पास mytable पर कोई कस्टम ट्रिगर हैं, तो आपको उन्हें आयात पर अक्षम करने की आवश्यकता हो सकती है:

psql -c "ALTER TABLE mytable DISABLE TRIGGER USER; \
         COPY mytable FROM STDIN; \
         ALTER TABLE mytable ENABLE TRIGGER USER" < mytable.copy


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या Postgres नेस्टेड या स्वायत्त लेनदेन का समर्थन करता है?

  2. प्रति समूह पहली और अंतिम पंक्ति से मान प्राप्त करें

  3. SQLAlchemy के साथ Postgres में Enum की सरणी

  4. postgresql अलग काम नहीं कर रहा

  5. TSTZRANGE को &&के साथ जोड़ने पर Postgresql 9.4 क्वेरी उत्तरोत्तर धीमी हो जाती है