
Zitat von
Hannes23
Hihi, da antworte ich mal lieber wieder bevor ihr euch an die Gurgel geht :-)
Ja, der Kern des Problems ist wohl wirklich, dass ich das ganze übers Netzwerk machen möchte und nicht lokal. Hätte ich vielleicht im Topic erwähnen sollen...
Hier meine zwei Ansätze:
1) "Naiver Ansatz" ohne netcat
Code:
echo "COPY mytable FROM 'mycsv.csv' WITH CSV DELIMITER AS ';'" | psql -h 192.168.0.3 --dbname mydb -U postgres --password
Problem: Ich bekomme die Meldung "psql: FATAL: database "mydb" does not exist". Da sie aber 100%ig auf dem entfernten Server existiert (nicht aber bei mir lokal) vermute ich, dass an dem Ansatz grundsätzlich was nicht passt...
2) Netcat
Ddamit hab ich ehrlich gesagt noch nie gearbeitet und ich hab auch nicht verstanden, wie ich das hier einsetzen sollte...statt dem "echo" vielleicht?
Vielen Dank und viele Grüße,
Hannes
Alles, was man braucht, ist ein lokales psql. Dann reicht:
Code:
[root@web45 ~]# # bin auf system web45, db läuft auf system sql9
[root@web45 ~]# # hier meine lokale csv - Datei:
[root@web45 ~]# cat foo.csv
1,eins
2,zwei
3,drei
[root@web45 ~]# # nun kopiere ich das via meinem lokalen psql in die entfernte Datenbank
[root@web45 ~]# psql -h sql9 -U kretschmer test -c "copy test.foo from stdin delimiter ','" < foo.csv
[root@web45 ~]# # das war es dann auch schon
[root@web45 ~]#
Andreas
Lesezeichen