postgresql生产环境数据库迁移

迁移方法有两种:

(1)重新初始化postgresql数据库,初始化时指定新的数据路径—PGDATA,然后在新的环境下将原有的数据库备份恢复一下。不过这个方法有点麻烦

(2)直接将现有的数据库文件全部拷贝到新的数据库路径下,然后重起数据库服务

方法一:

pgsql迁移数据库到不同网段新的库,新的数据库环境主从高可用环境已经配置完成。

首先备份老的库

$ pg_dump -U peimsmdata -d peimsm  > peimsm.sql

压缩

$ tar -zcf peimsm.tar.gz peimsm.sql

把文件传到新的环境中,解压缩

$ tar -xzf peimsm.tar.gz

导入数据库

$ psql -U peimsmdata -d peimsm < peimsm.sql

使用上边的方法会很耗时,所以使用下面的方法

方法二:

新老环境在一个网段中

首先停止老的数据库相应的业务,然后停止数据库服务和keepalived服务

跨机冷迁移及问题处理

一、源端PG软件及数据库处理

1、停源端服务

首先关闭A中的postgresql服务

[postgres@localhost ~]$ pg_ctl stop -m fast

2、压缩PGHOME 和PGDATA

关闭服务器之后返回root目录直接将PGHOME(软件) 和PGDATA(数据库)进行压缩

[root@localhost app]# tar zcvf appbackup.tar.gz /app/postgresql/pg951

[root@localhost app]# tar zcvf databackup.tar.gz /app/pgdata/pg951date

3、复制至目标端

将两个压缩包上传到服务器B上即可:

[root@localhost app]# scp appbackup.tar.gz root@*.*..188.197:/xxxx

[root@localhost app]# scp databackup.tar.gz root@*.*..188.197:/xxxx

4、复制类库

PG源码安装时会编译类库libreadline.so.4至OS层的/usr/lib64(注意区分32位或64位),直接复制安装时需要复制此类库,否则数据库无法启动见后报错处理部分

#cd /usr/lib64

#scp libreadline.so.4.3 libreadline.so.4 root@*.*.188.197:/usr/lib64/

二、目标端服务器操作

1、创建用户

在服务器B上创建postgres用户

#useradd postgres

2、设置用户环境变量

登录postgres用户配置环境变量

#vi .bash_profile      (内容配成和服务器A一样,注意路径)

3、压缩包解压

将两个压缩包解压(注意目录结构与源服务器相同)

#tar zxvf appbackup.tar.gz

#tar zxvf databackup.tar.gz

注意相关文件用户权限与源端保持一致

4、PG启动服务

[postgres@localhost ~]$#pg_ctl start

[postgres@localhost ~]$ psql

psql (9.5.1)

Type "help" for help.

postgres=#

成功启动服务,至此常规PG9.5迁移完成。

参考链接 :
https://blog.csdn.net/duanbiren123/article/details/85956221

postgresql数据库跨机冷迁移及问题处理 :https://blog.csdn.net/hai520ny/article/details/52440891
postgresql数据库路径迁移 :https://blog.csdn.net/shanzhizi/article/details/50662286

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寰宇001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值