PostgreSQL central stream replication unlinked use (scp, cp, pg_basebackup ...)

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介:
前面介绍了集中式PITR备份的架构.
本文介绍一下不使用虚拟机的情况下, 稍微细节的东西, 即创建基础数据时规避文件夹冲突问题.
创建基础备份的方法比较多, 例如scp, cp或者pg_basebackup , 下面分别介绍一下.
1. 使用scp
     -r      Recursively copy entire directories.  Note that scp follows symbolic links encountered in the tree
             traversal.
格式
scp -r $PGDATA $user@$dest_ip:$dir
用法
psql
# select pg_startup_backup(now()::text);
scp -r $PGDATA $user@$dest_ip:$dir
select pg_stop_backup();
已经将表空间等在$PGDATA下使用软链接的都去除软链接了.
删除隐藏的sock文件.
后面的事情就是配置流复制了.

2. 使用cp
       -R, -r, --recursive
              copy directories recursively
       -L, --dereference
              always follow symbolic links in SOURCE
cp -rL $PGDATA/* $dir/*
软链接将被去除, 直接使用本地文件夹替代.
删除隐藏的sock文件.
后面的事情就是配置流复制了.

3. 使用pg_basebackup
因为直接使用pg_basebackup的plain格式的话, 会创建表空间对应的目录, 所以不建议直接使用.
建议使用tar模式, 这种模式的话会创建base.tar以及表空间.tar.
到目的地解压, 分类即可.
例如 : 
mkdir ~/testbase
chmod 700 ~/testbase
cd ~/testbase
pg_basebackup -D ~/testbase -F t -x -h 127.0.0.1
pg93@db-172-16-3-150-> pwd
/home/pg93/testbase
pg93@db-172-16-3-150-> ll
total 3.1G
-rw-rw-r-- 1 pg93 pg93 483K Jun 17 13:44 20270.tar
-rw-rw-r-- 1 pg93 pg93 3.1G Jun 17 13:44 base.tar
将base解压到当前目录
pg93@db-172-16-3-150-> tar -xvf base.tar
删除表空间软链接
pg93@db-172-16-3-150-> cd pg_tblspc/
pg93@db-172-16-3-150-> ll
total 0
lrwxrwxrwx 1 pg93 pg93 19 Jun 17 13:45 20270 -> /ssd4/pg93/tbs_test
pg93@db-172-16-3-150-> rm -rf 20270
pg93@db-172-16-3-150-> mkdir 20270
pg93@db-172-16-3-150-> chmod 700 20270
pg93@db-172-16-3-150-> cd 20270/
pg93@db-172-16-3-150-> tar -xvf ../../20270.tar 
PG_9.3_201306121/
PG_9.3_201306121/16393/
PG_9.3_201306121/16393/20271
PG_9.3_201306121/16393/20271_fsm
pg93@db-172-16-3-150-> ll
total 4.0K
drwx------ 3 pg93 pg93 4.0K Jun 17 11:53 PG_9.3_201306121
删除tar文件
pg93@db-172-16-3-150-> rm -f ~/testbase/20270.tar ~/testbase/base.tar
删除隐藏的sock文件.
后面的事情就是配置流复制了.

如果pg_basebackup可以增加一个选项, follow link的话 , (像cp和scp), 用起来就更方便了.

[参考]
相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
关系型数据库 PostgreSQL
PostgreSQL sharding : citus 系列7 - topn 加速(count(*) group by order by count(*) desc limit x) (use 估值插件 topn)
标签 PostgreSQL , topn , topn.number_of_counters , count(*) group by order by count(*) desc limit x 背景 count(*) group by order by count(*) desc limit x 用来统计 topn。
1430 0
|
关系型数据库 PostgreSQL
PostgreSQL sharding : citus 系列6 - count(distinct xx) 加速 (use 估值插件 hll|hyperloglog)
标签 PostgreSQL , hll , hyperloglog , distinct , 加速 , citus.count_distinct_error_rate 背景 在分布式数据库中,计算count(distinct xxx),需要对distinct 的字段, 1、去重, 2、重分布去重后的数据,(这一步,如果distinct值特别多,那么就会比较耗时) 3、然后再去重, 4、最后count (xxx), 5、求所有节点的count SUM。
1834 0
|
弹性计算 关系型数据库 测试技术
PostgreSQL 11 tpcc 测试(103万tpmC on ECS) - use sysbench-tpcc by Percona-Lab
标签 PostgreSQL , tpcc 背景 环境 阿里云虚拟机 [root@pg11-test ~]# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: ...
4385 0
|
Oracle 关系型数据库 数据库连接
|
关系型数据库 网络安全 数据库
下一篇
无影云桌面