使用pgdump、pgrestore迁移数据表到docker部署的postgis
将本地数据同步到内网服务器,使用的postgis,表含空间字段
备份
本地使用pgadmin 4进行备份,pgrestore的命令参数找起来麻烦,这个可以界面操作,比较方便
说明
说明的截图来自pgadmin,点击这个打开
步骤
因为是整表备份,这里其他都没动,只把owner和privilege去掉了
然后点击backup按钮,开始备份
迁移/恢复
目标服务器是linux docker部署的postgis,在内网,需要考过去恢复。
没有截图,大概描述一下步骤
- 先把备份文件拷贝到容器映射的文件夹里,然后docker exec进入postgis
此时用户可能需要su postgres,切换到数据库账号 - 使用psql,\c进入数据库,\d看表
为防范风险,先把旧表重命名一下
ALTER TABLE old_table_name RENAME TO new_table_name; - 删除旧表,drop table XXX
- \q退出,使用命令恢复表
pg_restore --dbname XXX ./aaa.backup - 恢复完,psql进去看看效果,没问题就把备份的旧表删了,over