2016-06-24 18 views
0

Ich schreibe einen C-Code, um Daten von Datenbank_1, Tabelle_1 zu Datenbank_2, Tabelle_2 zu übertragen. Ich bin ziemlich neu bei PostgreSQL und nicht in der Lage, herauszufinden, wie dies zu tun ist. Ich verwende Postgres-9.5Korrekter Befehl psql COPY zum Übertragen von Tabellendaten?

Ist die folgende Syntax korrekt?

psql database_1 -c 'COPY table_1 TO stdout' | psql database_2 -c 'COPY table_2 FROM stdin' 

Die intelligenten Jungs hier, bitte helfen Sie mir mit der richtigen Syntax. Vielen Dank im Voraus!!

+0

Das gut funktionieren sollte. Welche Fehlermeldungen erhalten Sie? Könnte es sein, dass eine der Verbindungen ein Passwort erfordert? –

Antwort

0

nicht sicher, warum Sie sich nicht versuchen, aber ja - diese funktionieren sollte:

postgres=# create database database_1; 
CREATE DATABASE 
postgres=# create database database_2; 
CREATE DATABASE 
postgres=# \c database_1 
You are now connected to database "database_1" as user "vao". 
database_1=# create table table_1 (i int); 
CREATE TABLE 
database_1=# \q 
Vaos-MacBook-Air:~ vao$ psql database_2 
psql (9.5.3) 
Type "help" for help. 
database_2=# create table table_2 (i int); 
CREATE TABLE 
database_2=# \q 
Vaos-MacBook-Air:~ vao$ psql database_1 -c 'COPY table_1 TO stdout' | psql database_2 -c 'COPY table_2 FROM stdin' 
COPY 0