Bron:
psql -c "COPY (SELECT * FROM mytable WHERE ...) TO STDOUT" > mytable.copy
Bestemming:
psql -c "COPY mytable FROM STDIN" < mytable.copy
Dit veronderstelt dat mytable hetzelfde schema en dezelfde kolomvolgorde heeft in zowel de bron als het doel. Als dit niet het geval is, kunt u STDOUT CSV HEADER
proberen en STDIN CSV HEADER
in plaats van STDOUT
en STDIN
, maar ik heb het niet geprobeerd.
Als u aangepaste triggers op mytable heeft, moet u deze mogelijk uitschakelen bij het importeren:
psql -c "ALTER TABLE mytable DISABLE TRIGGER USER; \
COPY mytable FROM STDIN; \
ALTER TABLE mytable ENABLE TRIGGER USER" < mytable.copy