备份恢复过程
Only命令版本
pg_dump -h 127.0.0.1 -U DB2103HIGHGO -p 5866 -F c -f /db2103highgo.dmp DB2103HIGHGO
psql highgo sysdba
create user db2103highgo password 'Yourpassword';
create database db2103highgo OWNER db2103highgo;
\q
psql db2103highgo sysdba
update pg_cast set castcontext = 'i' where castsource = 'integer'::regtype and casttarget = 'boolean'::regtype;
\q
sed -i 's/DB2103HIGHGO/db2103highgo/g' /db2103highgo.dmp
pg_restore -U sysdba -d db2103highgo /db2103highgo.dmp
具体命令详解
# 数据库备份操作
pg_dump -h 127.0.0.1 -U DB2103HIGHGO -p 5866 -F c -f /db2103highgo.dmp DB2103HIGHGO
#创建用户
#注意如果创建大写名称的话 需要用大写加括号括起来.
#注意如果是pg的话需要使用 supseruser 等用户权限来描述, 安全版取消了这个role
create user db2103highgo password 'Yourpassword';
#创建数据库
#注意这里是瀚高安全版的设置,
create database db2103highgo OWNER db2103highgo;
# 创建架构 pg_dump 恢复的话 不需要这个命令了.
# 注意 pg数据库的架构和oracle的架构有所区别.
# Oracle里面基本用create database 时就会生产架构了. 但是PG里面的database更像是Oralce19c里面的pdb的概念
# PG 里面的每一个database里面的schema 更像时oracle PDB里面单独创建的 database
# 注意 如果手工进行创建 需要使用刚才创建的数据库和刚才创建的用户.
psql db2103highgo db2103highgo
create schema db2103highgo;
# 修改字段映射
# 注意此处是瀚高安全版与PG数据库的一个区别,需要使用当前数据库,并且使用 sysdba的权限进行创建.
psql db2103highgo sysdba
update pg_cast set castcontext = 'i' where castsource = 'integer'::regtype and casttarget = 'boolean'::regtype;
# 注意需要使用 sed 命令修改 sql 脚本里面的属主信息
# 注意这个场景需要修改大小写
sed -i 's/DB2103HIGHGO/db2103highgo/g' db2103highgo.dmp
# 执行恢复操作.
# 使用 sysdba用户.进行恢复.
pg_restore -U sysdba -d db2103highgo /db2103highgo.dmp
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
添加我为好友,拉您入交流群!
请使用微信扫一扫!