Troels
Troels

Reputation: 352

pg_dump to copy schema to remote server

I need to copy a schema in Postgres to another database on a remote server, but I keep up ending to get a fail like:

pg_dump: too many command-line arguments (first is "--n")

My code:

pg_dump postgres -n my_local_shema | psql -h 11.22.33.44 -U my_user_on_remote_server-d postgres

I have tried for hours and with different commands but I keep getting the "too many command lines".

Upvotes: 0

Views: 559

Answers (2)

Troels
Troels

Reputation: 352

Ok. This command structure works as a charm:

pg_dump -n my_local_shema_name -d my_local_database -U my_local_username | psql -h 111.222.333.444  -U my_user_name_on_remote_Server my_Database_name_on_remote_server

Step-by-step-guide

I copied a shema with all tables and indexes to another database on another server. The 111.222.333.444 is the IP of the remote server.

In preparation(I dont know if it is actually needed), I first created a shema on the remote server with an identical shemaname as the one, I wanted to copy. I also checked, that the firewall was open for datatransfer from the old server to the new one.

Then, i opened a commandpromt (I use windows) and opened the folder where the pgdump.exefile was. Here typed the command.

Last it asked me to type in a password. First it promted it. THen it was silent - nothing happened, and I did not know, what to expect. Last I typed in the password 2 times (i use the same password both on the old server and the new, upgraded one). Then things started to work and it wrote a lot with alter table, ect, ect.

Hope others can use it. :-)

Upvotes: 0

Laurenz Albe
Laurenz Albe

Reputation: 248195

Try with a reversed order like this:

pg_dump -n my_local_shema postgres

Upvotes: 1

Related Questions