我在PostgreSQL 8.4上有两个服务器:
server1:5432
server2:5432
Run Code Online (Sandbox Code Playgroud)
现在我想从server1复制表并将其放在server2的数据库中.
它有可能做到吗?
UPDATE
我尝试在@Valery Viktorovsky的回答中做:
pg_dump --server1:5432 --encoding=utf8 --no-owner --username=postgres --123456 np_point > D:\np_point.sql
psql --server2:5432 --username=postgres mrsk -f D:\np_point.sql
Run Code Online (Sandbox Code Playgroud)
并得到错误:
ERROR: syntax error at or near "pg_dump"
LINE 1: pg_dump --server1:5432 --encoding=utf8 --no-owner --use...
Run Code Online (Sandbox Code Playgroud)
Val*_*sky 11
最安全的方法是使用pg_dump.
pg_dump --host server1 --encoding=utf8 --no-owner --username=foo --password -t table_name db_name > server1_db.sql
psql --host server2 --username=foo db_name -f server1_db.sql
Run Code Online (Sandbox Code Playgroud)
小智 7
确切的命令 -
1.通过导出pg_dump到文件中:
pg_dump --host "source hostname" --port 5432 --username "username" --no-password --verbose --file "filename" --table "source schema.tablename" "source db name"
Run Code Online (Sandbox Code Playgroud)
这将在您运行上述命令的目录中创建一个名为“filename”的文件 - 该文件将包含源表的架构和数据。您也可以给出任何绝对路径。
2.通过psql导入:
psql --host "target hostname" --port 5432 --username "username" --password --verbose --file "file name" "target db name"
Run Code Online (Sandbox Code Playgroud)
->这将提示输入密码
在运行导入之前,删除目标表(如果存在)。
工作得非常顺利,在 2 分钟内完成了 1000 万行
| 归档时间: |
|
| 查看次数: |
14962 次 |
| 最近记录: |