Postgresql数据库迁移分两类:
同用户名、同schema迁移;可以使用pg数据库备份、还原功能。不同用户名、不同schema迁移;对于第二用迁移相对比较复杂,pg数据库访问时schema时,按照“$user”,public的顺序进行。
可通过sql shell输入命令查看:
#SHOW search_path;也可通过postgresql.config文件进行查看。文件地址:
“安装目录“/data/postgresql.conf
查看数据库schema访问顺序
因此在数据恢复之后要进行schema的访问顺序设置,通过命令行:
#ALTER USER test(用户名) SET search_path to test(schema名称),public具体过程:
同用户名同schema数据库恢复:
1.备份数据库
数据库右击选择备份,选择文件地址、输入文件名称,点击备份。
备份数据库
设置数据库文件地址、文件名
结果进程返回0,说明备份成功,点击完成即可。
备份成功图
2.恢复数据库
新建数据库,名字根据自己的需求命名,所有者要和备份数据库一致。
右击数据库,选择恢复。
选择备份成功的数据库文件。
点击恢复。
设置数据库名称
恢复数据库
恢复文件选择
恢复进程为0,说明恢复成功。
恢复成功图
数据库表相同
不同用户不同schema恢复:
本人是通过navicat进行操纵,感觉比较好用,pg数据库也可以,但比价麻烦。
将数据库用户名为test,schema为test的数据库,转到数据库用户名为test1,schema为test1的数据库中。
1. 生成sql文件。
生成sql文件
运行成功如图下
运行成功图
2. 新建用户及数据库和schema,下面数据库是通过pg建的。
新建数据库
3. 修改sql文件,将文件中的schema名称test,替换成test1。
4. 恢复数据schema,选择数据库》test1,右击选择运行sql文件
恢复文件
5. 选择文件
选择sql文件
6. 运行成功
文件恢复成功
7. 设置schema访问顺序,在查询窗口运行下面语句
#ALTER USER zjch SET search_path to test1,public摘抄自:
https://zuanlan.zhihu.com/p/53967726