將一個 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"
但是這個解決方案也需要在兩端得到一個會話。此解決方案還需要結束。