postgresql数据库 迁移方法
-
- (记一次 postgresql,TimescaleDB数据库迁移过程)
前言
因工作需要 需要对数据库所在的linux服务器 进行迁移 更换到新的服务器
1.准备工作
因本次迁移是需要迁移2个数据库,分别是:
分业务库:postgresql数据库
时序库 :TimescaleDB 数据库
环境:linux CentOS 6
数据库版本:postgresql 11.5
数据量 业务库 80G
时序库 500G
2.分析情况
针对这个情况进行分析 ,我发现可以对业务库采取 备份——还原 的方式进行迁移数据 毕竟数据量不大 ,但是对于时序库却不能采取这个方法 1. 是数据量大,2 .是TimescaleDB数据库含有大量的超表 备份还原是有一定的问题的 ,所有采取直接迁移postgres 下的data 文件 在修改配置的问题
一 业务库 迁移(postgresql数据库)
1.数据备份
源数据库(业务库)
ip:0.0.0.0 端口 5432 用户 postgres 数据库名:cs
新数据库(业务库)
ip:1.1.1.1 端口 5432 用户 postgres 数据库名:cs2
1.1 对源数据库进行备份
pg_dump --file "/u01/pgsql-all.backup" --host "0.0.0.0" --port "5432" --username "postgres" --dbname "cs" --verbose --role "postgres" --format=c --blobs --encoding "UTF8"
关于pg_dump 的用法 可以看这篇文章:链接直达
1.2传输备份文件
首先这俩个服务器之间能够要ping同,这样才能传输文件
通过Lina上的scp 命令 传输
cd /u01
scp pgsql-all.backup user@1.1.1.1:/tmp/
2.创建新的数据库
查看1.1.1.1服务器上是否装上postgresql数据库 ,没有的话需要自己装
创建数据库的可以看这篇文章安装 部署 postgresql数据库 搭建主从节点 (业务库)
因为我这个项目1.1.1.1上已经预装了postgresql-11.5的版本了 ,
2.1创建新的数据库
直接用sql创建
CREATE DATABASE cs;
或用使用createdb
createdb -h 1.1.1.1 -p 5432 -e -U postgres cs
createdb 是一个 SQL 命令 CREATE DATABASE 的封装。
createdb 创建一个 PostgreSQL 数据库.
使用方法:
createdb [选项]... [数据库名称] [描述]
选项:
-D, --tablespace=TABLESPACE 数据库默认表空间
-e, --echo