Fonte:
psql -c "COPY (SELECT * FROM mytable WHERE ...) TO STDOUT" > mytable.copy
Destino:
psql -c "COPY mytable FROM STDIN" < mytable.copy
Isso pressupõe que mytable tenha o mesmo esquema e ordem de coluna na origem e no destino. Se este não for o caso, você pode tentar
STDOUT CSV HEADER
e STDIN CSV HEADER
em vez de STDOUT
e STDIN
, mas não testei. Se você tiver gatilhos personalizados em mytable, talvez seja necessário desativá-los na importação:
psql -c "ALTER TABLE mytable DISABLE TRIGGER USER; \
COPY mytable FROM STDIN; \
ALTER TABLE mytable ENABLE TRIGGER USER" < mytable.copy