Kilde:
psql -c "COPY (SELECT * FROM mytable WHERE ...) TO STDOUT" > mytable.copy
Destination:
psql -c "COPY mytable FROM STDIN" < mytable.copy
Dette forudsætter, at mytable har samme skema og kolonnerækkefølge i både kilden og destinationen. Hvis dette ikke er tilfældet, kan du prøve STDOUT CSV HEADER
og STDIN CSV HEADER
i stedet for STDOUT
og STDIN
, men jeg har ikke prøvet det.
Hvis du har nogen tilpassede triggere på mytable, skal du muligvis deaktivere dem ved import:
psql -c "ALTER TABLE mytable DISABLE TRIGGER USER; \
COPY mytable FROM STDIN; \
ALTER TABLE mytable ENABLE TRIGGER USER" < mytable.copy