Източник:
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