将一个 PostgreSQL 数据库复制到另一个数据库中
如何将表从一个服务器数据库复制到另一个服务器数据库表?
您不需要创建一个中间文件,可以如下操作。
方式一
以管理员身份进入cmd窗口,输入如下命令
语法:
pg_dump -C -h 本机IP -U 本机postgresql用户名 源数据库名 | psql -h 服务器IP -U 服务器postgresql用户名 目标数据库名
示例:
pg_dump -C -h 127.0.0.1 -U postgres test01-dbname | psql -h 127.0.0.2 -U postgres test02-dbname
方式二
使用psql或pg_dump连接到远程主机。
对于大数据库或缓慢的连接,转储文件和传输压缩的文件可能会更快。
正如Kornel所说,没有必要转储到中间文件,如果你想压缩工作,你可以使用压缩的隧道
pg_dump -C dbname | bzip2 | ssh remoteuser@remotehost "bunzip2 | psql dbname"
或
pg_dump -C dbname | ssh -C remoteuser@remotehost "psql dbname"
但是这个解决方案也需要在两端得到一个会话。此解决方案还需要结束。