我需要将Postgres中的模式复制到远程服务器上的另一个数据库,但我一直坚持到最后,如:
pg_dump: too many command-line arguments (first is "--n")
我的代码:
pg_dump postgres -n my_local_shema | psql -h 11.22.33.44 -U my_user_on_remote_server-d postgres
我已经尝试了几个小时并且使用了不同的命令,但是我却不断收到“太多命令行”。
答案 0 :(得分:1)
尝试使用相反的顺序:
pg_dump -n my_local_shema postgres
答案 1 :(得分:0)
好的。此命令结构具有魅力:
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
分步指南
我将包含所有表和索引的Shema复制到另一台服务器上的另一个数据库。 111.222.333.444是远程服务器的IP。
在准备中(我不知道是否确实需要它),我首先在远程服务器上创建了一个shema,与要复制的shemaname相同。我还检查了防火墙是否已打开,以便将数据从旧服务器传输到新服务器。
然后,我打开了一个命令提示符(使用Windows)并打开了pgdump.exe文件所在的文件夹。在这里键入命令。
最后它要求我输入密码。首先它启动了它。那时它保持沉默-没有任何反应,我也不知道会发生什么。最后,我输入了两次密码(我在旧服务器和新的升级服务器上都使用相同的密码)。然后事情开始起作用,并且用alter table,ect,ect写了很多东西。
希望其他人可以使用它。 :-)