暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

20241212_pg数据库逻辑迁移方案

原创 惠星星 2024-12-16
106

内容概述

本文档主要实现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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论