स्रोत:
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