pg_dump将模式复制到远程服务器

时间:2019-08-13 21:07:23

标签: postgresql

我需要将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

我已经尝试了几个小时并且使用了不同的命令,但是我却不断收到“太多命令行”。

2 个答案:

答案 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写了很多东西。

希望其他人可以使用它。 :-)