我正在寻找将生产 PostgreSQL 数据库复制到开发服务器。最快、最简单的方法是什么?
您不需要创建中间文件。你可以做
pg_dump -C -h localhost -U localuser dbname | psql -h remotehost -U remoteuser dbname
要么
pg_dump -C -h remotehost -U remoteuser dbname | psql -h localhost -U localuser dbname
使用psql或pg_dump连接到远程主机。
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"
但是这个解决方案还需要在两端都获得一个会话。
注意: pg_dump用于备份和psql恢复。因此, 此答案中的第一个命令是从本地复制到远程,第二个命令是从远程复制到本地 。更多-> https://www.postgresql.org/docs/9.6/app- pgdump.html