内容概述
本文档主要实现postgresql不同版本数据库逻辑迁移
复制
原库/目标库检查
### 1. 检查数据库版本
select version();
### 2. 检查数据库启动时间
select pg_postmaster_start_time();
### 3. 检查数据库时区
show timezone;
### 4. 检查OS时区
date
### 5. 检查当前时间
select now();
### 6. 检查集群有哪些数据库
\l+
### 7. 检查集群中有哪些用户
select current_user;
select * from pg_user;
\du
### 8. 检查集群有哪些表空间
\db+
### 9. 检查 数据库服务器的IP及端口
select inet_server_addr(),inet_server_port();
### 10. 检查数据库实例处于Hot Standby状态还是正常数据库状态, f: 正常数据库状态;t: Hot Standby状态
select pg_is_in_recovery();
### 11. 检查表空间大小
select pg_size_pretty(pg_tablespace_size('pg_global'));
select pg_size_pretty(pg_tablespace_size('pg_default'));
### 12. 检查数据库大小
select pg_size_pretty(pg_database_size('osdba'));
### 13. 检查运行的SQL
select pid,usename,query_start,query from pg_stat_activity;
### 14. 检查运行参数
SHOW ALL;
### 15. 检查表大小
select * from pg_tables;
postgres=# \c osdba <--切换需要导出数据库
osdba=# \d+ <--检查表大小
### 16. 检查函数
\df
### 17. 检查扩展插件
\dx
### 18. 检查访问控制信息
cat $PGDATA/pg_hba.conf |egrep -v '^#'
复制
源库导出数据库
### 根据上面检查结果,确认导出目录存储是否足够,建议大于数据库大小
### 本方案计划使用并行导出数据库
pg_dump -d osdba -F d -j 8 -f bak20241212
### 传输备份集到目标端
scp -r bak20241212 postgres@192.168.1.17:/home/postgres/backup/
复制
目标库恢复数据库
psql -c "\l+" psql -c "create database osdba;" pg_restore -d osdba bak20241212 -j 8
复制
源端目标端数据量对比验证
select 'select '||''''||schemaname||'.'||tablename||''''||','||'count(1) from '||schemaname||'.'||tablename||';' from pg_tables where schemaname='public';
复制
业务侧验证
该步骤DBA配合,及做好监控
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
热门文章
oracle drop table purge无备份bbed恢复
2021-01-25 6643浏览
20230704_一键安装Oracle11g/19C/21C_单机/RAC集群/standalone/PostgreSQL_工具分享_开放源码
2021-11-04 5182浏览
20211119_一键安装Oracle 21C RAC_1731秒完成
2021-11-19 4784浏览
Oracle异常恢复_ORA-01189: file is from a different RESETLOGS than previous files
2021-08-11 4181浏览
从问题出发,解密Oracle rdba结构
2021-07-23 4082浏览
目录