当前位置: 首页 > news >正文

pgsql导出导入超过50G数据、解决方法

一、遇到的问题: 

最近要迁移服务器,文件、图片、视频都好说,最后到pgsql了导出就88G大的纯sql300G,还是压缩后的

 源文件快1个T了,

遇到问题,导出的时候时间一长就超时。。。。导致导出失败,时间够了....导出的文件太大。。。服务器硬盘又满了。。。。。,大表能导出了,但是纯sql超过100G就导入失败,不是超时,就是编码不对,一导导一天,一个报错全白费,就从头来。。。。。哎,没经验呀。经过各种坑,最后导入成功,分享一下成功经验。

二、总结经验:大文件导出

 先测试命令

 pg_dump -p 5432 -U postgresql -d huaxiang -n hx_syn_data -Fd -j 32 -Z 5 -f /mnt/mydik/pgsql/hx_syn_data_dir/ 

 2.1导出 

使用 nohup 防止超时  直接使用pg_dump,记得配置全局的环境变量,

nohup pg_dump -p 5432 -U postgresql -d huaxiang -n hx_syn_data -Fd -j 32 -Z 5 -f /mnt/mydik/pgsql/hx_syn_data_dir/ > pg_dump.log 2>&1 &
  • -p:端口
  • -U:用户 postgresql
  • -d:数据库 根据自己实际情况改
  • -n:数据库中的模式
  • -Fd:使用目录格式,每个表一个文件
  • -j 32:使用32个并行工作线程   
  • -Z 5:压缩
  • 输出到指定目录而非单个文件
  • -Z 5:启用Zlib压缩(级别5,平衡压缩率和速度

导出之后一个表一个文件,还有一个toc.dat文件

# 查看pg_dump进程是否仍在运行 ps aux | grep pg_dump

# 检查是否有僵尸进程 top -b -n 1 | grep defunct

2.2然后是导入

 pg_restore -p 5432 -U postgresql -d huaxiang  -n hx_syn_data  -j 32 -Fd /mnt/mydik/pgsql/hx_syn_data_dir/

我的通过上面的就导出,导入成功了。

-----------------------------------------------------如果数据源超过1T可以使用下面的方案

分批次导出大表

# 先导出结构 ./pg_dump -p 5432 -U postgresql -d huaxiang -n hx_syn_data -s -Fd -j 8 -f /mnt/mydik/pgsql/hx_syn_data_structure/ # 然后按表分批导出数据 for table in $(psql -p 5432 -U postgresql -d huaxiang -c "\dt hx_syn_data.*" -At | cut -d'|' -f2); do ./pg_dump -p 5432 -U postgresql -d huaxiang -t hx_syn_data.$table -a -Fd -j 2 -f /mnt/mydik/pgsql/hx_syn_data_data/${table}_data/ done

然后是导入

 pg_restore -p 5432 -U postgresql -d huaxiang  -n hx_syn_data  -j 32 -Fd /mnt/mydik/pgsql/hx_syn_data_dir/

导入的时候也非常快,我的导出13G也就十几秒。

 

http://www.lryc.cn/news/592249.html

相关文章:

  • hive分区表临时加载日批数据文件
  • MyBatis 动态 SQL:让 SQL 语句随条件灵活变化
  • [源力觉醒 创作者计划]_文心一言 4.5开源深度解析:性能狂飙 + 中文专精
  • 美创科技建设项目被评为中国信通院医疗领域“磐安”优秀案例
  • 禁止拖动视频进度条来保障视频安全?
  • 西门子工业软件全球高级副总裁兼大中华区董事总经理梁乃明先生一行到访庭田科技
  • 免费PDF文件格式转换工具
  • 如何选择旅游科技行业云ERP?Oracle NetSuite助力汇智国际数智化升级
  • 【世纪龙科技】汽车故障诊断与排除仿真教学软件让课堂更高效安全
  • TCL 电视安装 APK 文件主要有 U 盘安装——仙盟创梦IDE
  • Java并发编程性能优化实践指南:锁分离与无锁设计
  • PYTHON日志神器nb_log详细介绍和使用说明
  • 数据统计模块后端架构解析:从Controller到SQL的ECharts数据对接实践
  • div和span区别
  • 为什么IoTDB成为物联网场景的技术优选?
  • Vue3 业务落地全景:脚手架、权限、国际化、微前端、跨端与低代码 50 条实战心法
  • 差分数组算法
  • ElasticSearch Doc Values和Fielddata详解
  • Android音视频探索之旅 | Webrtc 1对1音视频通话核心流程分析
  • 力扣347:前K个高频元素
  • [AI8051U入门第五步]modbus_RTU主机
  • 《Python Web 框架深度剖析:Django、Flask 与 FastAPI 的选择之道》
  • 数据库防止数组字符串序列化
  • Python暑期学习笔记5
  • C++编程学习(第10天)
  • 近期遇到的问题汇总
  • 微信小程序商品结算功能
  • 【嵌入式硬件实例】-555定时器实现LED追逐效果
  • 后端参数校验
  • LP-MSPM0G3507学习--05管脚中断