ich stehe vor dem problem einen teil einer datenbank, bestehend aus 6tabellen
mit einem inhalt von ca.17millionen datensätzen von einer postgreDB in eine andere zu schaufeln.
Prinzipiell mit COPY, wenn beides *NIX-Maschinen sind und Netzwerk dazwischen ist vielleicht noch die Netzkatze bemühen (netcat), gibt es aber wohl auf für Fenster.
Du hast dann in /tmp/t1.sql eine Datei, die Du auf der anderen Seite wieder ähnlich reinbekommst, mit copy t1 from … Das machst Du mit Deinen Tabellen.
Willst Du nur bestimmte Datensätze, dann copy (select … where …) to …
momentane situation:
sitze am *schnellen rechner, wo lokal auch die ziel postgresDB liegt.
auf den quellserver greife ich via Navicat zu. kann dort auch eine konsole öffnen.
wie kann ich nun, von dem quellserver per copy eine datei zum import auf dem *schnellen rechner erzeugen?
geht das überhaupt mit diesem copy befehl? also auch übers netz?
copy tabelle001 to \rechner\Data_Swap\tabelle001.sql (\rechner\Data_Swap\ ist der lokale rechner mit sicht aus dem netzwerk auf ihn)
auf der quellDB bin ich via navicat drauf, habe über navicat eine console auf er quellDB geöffnet.
wenn ich nun diese befehlszeile abschicke, dann passiert nichts…!?
Ich kenn Navicat nicht, und vermutlich fehlen in Deinem Befehl Quoting-Zeichen. Warum probierst nicht das aus, was ich gesagt habe? psql kann mittels -h auch auf Remote-Datenbanken arbeiten, \copy würde dann aber lokal nach stdout schreiben, das wiederum kannst Du in ein anderes psql, welches lokal zur Zieldatenbank verbunden ist, reinPIPEn.