PostgreSQL怎么实现不落地并行导出导入
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,本篇内容主要讲解"PostgreSQL怎么实现不落地并行导出导入",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"PostgreSQL怎么实现不落地并行导出导
千家信息网最后更新 2025年02月02日PostgreSQL怎么实现不落地并行导出导入
本篇内容主要讲解"PostgreSQL怎么实现不落地并行导出导入",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"PostgreSQL怎么实现不落地并行导出导入"吧!
9.4以下版本,使用pg_dump并行导出,pg_restore并行导入,迁移
(导出使用源版本pg_dump,导入使用目标版本pg_restore。如果是ppas请使用enterprisedb对应版本。)
1、(源库)全局元数据(用户、表空间)导出
需要superuser权限(如果你没有这个权限,跳过此步,但是务必在执行下一步时,人为在目标实例中创建所有与对象权限相关的用户)。
pg_dumpall -g -h IP地址 -p 端口 -U 用户 -W -l 数据库名
2、(目标库)全局元数据导入
导入以上元数据,在目标库执行即可(通常包括创建用户,修改用户密码,创建表空间等。)
执行第2步的目的是保证导入时,执行grant, alter set owner等操作时,目标用户已存在,否则缺失用户会导致pg_restore报错。
3、(目标库)建库
postgres=# create database newdb; CREATE DATABASE
4、(目标库)插件
安装postgresql软件时,打包源库已使用的的插件。 略
5、(源库)导出
mkdir /data01/pg/backup pg_dump -j 32 -f /data01/pg/backup -F d -h IP地址 -p 端口 -U 用户 -W newdb
6、(目标实例)关闭autovacuum,加速导入(可选)
使用超级用户执行SQL alter system set autovacuum=off; select pg_reload_conf();
7、(目标库)导入
pg_restore -d newdb -F d -j 32 -h IP地址 -p 端口 -U 用户 /data01/pg/backup
8、(目标实例)开启autovacuum(如果执行了6)
使用超级用户执行SQL alter system set autovacuum=on; select pg_reload_conf();
9、(目标实例)收集统计信息(如果执行了6)
使用超级用户执行SQL,收集统计信息 \c newdb 超级用户 analyze;
使用以上方法,60GB的数据库迁移,耗时约10分钟。
多机玩法
Where this gets interesting is with multiple hosts. You can:$ # dump a remote database to your local machine$ pg_dump -h remotedb.mydomain.com -f /home/postgres/dump.sql test $ # dump a local database and write to a remote machine$ pg_dump -h remotedb.mydomain.com test | ssh postgres@remotedb.mydomain.com 'cat > dump.sql' $ # dump a remote database and write to the same remote machine$ pg_dump -h remotedb.mydomain.com test | ssh postgres@remotedb.mydomain.com 'cat > dump.sql' $ # or a different remote machine$ pg_dump -h remotedb1.mydomain.com test | ssh postgres@remotedb2.mydomain.com 'cat > dump.sql' You also have similar restore options. I will use psql below but pg_restore works the same:$ # dump a remote database and restore to your local machine$ pg_dump -h remotedb.mydomain.com test1 | psql test2 $ # dump a local database and restore to a remote machine$ pg_dump -h remotedb.mydomain.com test | ssh postgres@remotedb.mydomain.com 'psql test' $ # dump a remote database and restore to the same remote machine$ pg_dump -h remotedb.mydomain.com test1 | ssh postgres@remotedb.mydomain.com 'psql test2' $ # or a different remote machine$ pg_dump -h remotedb1.mydomain.com test | ssh postgres@remotedb2.mydomain.com 'psql test'
到此,相信大家对"PostgreSQL怎么实现不落地并行导出导入"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
用户
目标
数据
实例
版本
落地
地址
权限
端口
信息
全局
内容
插件
数据库
方法
空间
学习
统计
实用
更深
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
洛奇连接服务器失败
网络安全共享图片
周密部署落实网络安全责任
安卓手机数据库文件
政治敏感期内网络安全
网络安全课堂游戏设计
网络安全选材
透视新科技卫星互联网
北京网融天下网络技术有限公司
建站之星数据库连接
公安网网络安全防范
数据库的建立和删除代码
揭阳无线软件开发价目表
qt中建立数据库表
mc服务器安装flash
中南林业科技大学互联网专业
中卫网络技术市场报价
校网络安全
春秋网络技术课程资源
数据库与网络技术面试题
博硕士数据库
jdbc 两个数据库
软件开发体系 iso
逃离塔科夫内蒙古使用哪个服务器
构建网络安全风险防控
dnf私服数据库连接失败
pe服务器如何快速升级
代理服务器 列表
施晓秋计算机网络技术适合
数据库参数查询命令行