PolarDB PostgreSQL版(简称 PolarDB-PG)是一款阿里云自主研发的云原生关系型数据库产品,100% 兼容 PostgreSQL,高度兼容Oracle语法;采用基于 Shared-Storage 的存储计算分离架构,具有极致弹性、毫秒级延迟、HTAP 的能力和高可靠、高可用、弹性扩展等企业级数据库特性。同时,PolarDB 具有大规模并行计算能力,可以应对OLTP与OLAP混合负载。
本文将指导您在单机文件系统(如 ext4)上编译部署 PolarDB-PG,适用于所有计算节点都可以访问相同本地磁盘存储的场景。
我们在 DockerHub 上提供了一个 PolarDB-PG 开发镜像,里面已经包含编译运行 PolarDB for PostgreSQL 所需要的所有依赖。您可以直接使用这个开发镜像进行实例搭建。镜像目前支持 AMD64 和 ARM64 两种 CPU 架构。
环境准备
拉取开发镜像,创建并进入容器:
docker pull polardb/polardb_pg_devel
docker run -it \
--cap-add=SYS_PTRACE --privileged=true \
--name polardb_pg \
polardb/polardb_pg_devel bash
进入容器后,从 GitHub 上下载 PolarDB for PostgreSQL 的源代码,稳定分支为 POLARDB_11_STABLE。如果因网络原因不能稳定访问 GitHub,则可以访问 Gitee 国内镜像。
GitHub
git clone -b POLARDB_11_STABLE https://github.com/ApsaraDB/PolarDB-for-PostgreSQL.git
Gitee 国内镜像
git clone -b POLARDB_11_STABLE https://gitee.com/mirrors/PolarDB-for-PostgreSQL
代码克隆完毕后,进入源码目录:
cd PolarDB-for-PostgreSQL/
编译测试选项说明
以下表格列出了编译、初始化或测试 PolarDB-PG 集群所可能使用到的选项及说明。更多选项及其说明详见源码目录下的 polardb_build.sh 脚本。
| 选项 | 描述 | 默认值 |
|---|---|---|
--withrep |
是否初始化只读节点 | NO |
--repnum |
只读节点数量 | 1 |
--withstandby |
是否初始化热备份节点 | NO |
--initpx |
是否初始化为 HTAP 集群(1 个读写节点,2 个只读节点) | NO |
--with-pfsd |
是否编译 PolarDB File System(PFS)相关功能 | NO |
--with-tde |
是否初始化 透明数据加密(TDE) 功能 | NO |
--with-dma |
是否初始化为 DMA(Data Max Availability)高可用三节点集群 | NO |
-r/ -t / --regress |
在编译安装完毕后运行内核回归测试 | NO |
-r-px |
运行 HTAP 实例的回归测试 | NO |
-e /--extension |
运行扩展插件测试 | NO |
-r-external |
测试 external/ 下的扩展插件 |
NO |
-r-contrib |
测试 contrib/ 下的扩展插件 |
NO |
-r-pl |
测试 src/pl/ 下的扩展插件 |
NO |
如无定制的需求,则可以按照下面给出的选项编译部署不同形态的 PolarDB-PG 集群并进行测试。
PolarDB-PG 各形态编译部署
本地单节点实例
- 1 个读写节点(运行于
5432端口)
./polardb_build.sh
本地多节点实例
- 1 个读写节点(运行于
5432端口) - 1 个只读节点(运行于
5433端口)
./polardb_build.sh --withrep --repnum=1
本地多节点带备库实例
- 1 个读写节点(运行于
5432端口) - 1 个只读节点(运行于
5433端口) - 1 个备库节点(运行于
5434端口)
./polardb_build.sh --withrep --repnum=1 --withstandby
本地多节点 HTAP 实例
- 1 个读写节点(运行于
5432端口) - 2 个只读节点(运行于
5433/5434端口)
./polardb_build.sh --initpx
实例回归测试
普通实例回归测试:
./polardb_build.sh --withrep -r -e -r-external -r-contrib -r-pl --with-tde
HTAP 实例回归测试:
./polardb_build.sh -r-px -e -r-external -r-contrib -r-pl --with-tde
DMA 实例回归测试:
./polardb_build.sh -r -e -r-external -r-contrib -r-pl --with-tde --with-dma
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




