参数部分
部分重要事项说明
1. 环境变量中可以设置 PGPASSWORD的环境变量,可以在进⾏psql等命令时不需要输⼊密码.
2. 对应的如果是进⾏rsync的⽂件传输可以使⽤RSYNC_PASSWORD的环境变量进⾏免密处理.
3. 如果创建⼤写的⽤户名,架构,数据库需要使⽤双引号扩起来才可以,不然默认进⾏⼩写对象的创建.
4. 使⽤psql 转储为sql⽂件后, pg_dump备份时不需要在database 下⾯创建 schema , psql创建的SQL会⾃动创建schema
5. 进⾏恢复时建议使⽤ sysdba (pg⾥⾯是 postgres 或者是企业版的highgo⽤户) 进⾏恢复, 因为如果sql⽂件中如果有函数的创建操作.
6. 如果备份恢复进⾏了属主变化的话可以使⽤ sed命令修改转储的sql⽂件.
备份恢复的过程说明
备份恢复过程
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
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
加入交流群
请使用微信扫一扫!