PolarDB for PostgreSQL 基于 Docker 的开发环境搭建指南
【免费下载链接】PolarDB-for-PostgreSQL 项目地址: https://gitcode.com/gh_mirrors/pol/PolarDB-for-PostgreSQL
前言
PolarDB for PostgreSQL 是阿里云开源的一款云原生数据库,它基于 PostgreSQL 构建,具有高性能、高可用性和弹性扩展等特性。本文将详细介绍如何在 Docker 环境中搭建 PolarDB for PostgreSQL 的开发环境,帮助开发者快速上手项目开发。
安全警告
::: warning 重要安全提示 本文介绍的 Docker 容器开发环境中,postgres 用户默认没有设置密码,这仅适用于学习和体验目的。在实际生产环境或任何需要安全保护的场景中,请务必设置强密码! :::
环境准备
获取源代码
首先需要获取 PolarDB for PostgreSQL 的源代码。项目提供了多个代码仓库供选择:
# 从主仓库克隆代码
git clone -b POLARDB_11_STABLE 源码仓库地址
# 进入项目目录
cd PolarDB-for-PostgreSQL/
建议使用 POLARDB_11_STABLE 分支,这是当前稳定版本。
获取开发镜像
PolarDB 提供了专门的开发镜像,包含了所有必要的开发工具和依赖:
docker pull polardb/polardb_pg_devel
这个镜像已经预配置了 PostgreSQL 开发所需的环境,可以节省大量配置时间。
容器环境配置
启动开发容器
使用以下命令启动开发容器,并将本地代码目录挂载到容器中:
docker run -it \
-v $PWD:/home/postgres/polardb_pg \
--shm-size=512m --cap-add=SYS_PTRACE --privileged=true \
--name polardb_pg_devel \
polardb/polardb_pg_devel \
bash
参数说明:
-v $PWD:/home/postgres/polardb_pg:将当前目录挂载到容器内--shm-size=512m:设置共享内存大小--cap-add=SYS_PTRACE:添加系统权限--privileged=true:赋予容器特权
容器内权限设置
进入容器后,需要设置正确的文件权限:
cd polardb_pg
sudo chmod -R a+wr ./
sudo chmod -R postgres:postgres ./
这些命令确保 postgres 用户有足够的权限操作源代码。
编译与部署
基本编译
使用提供的脚本进行编译和部署:
./polardb_build.sh
编译完成后,可以验证安装是否成功:
psql -h 127.0.0.1 -c 'select version();'
编译选项详解
PolarDB 提供了多种编译选项,支持不同形态的集群部署:
| 选项 | 描述 | 默认值 |
|---|---|---|
--withrep | 启用只读节点 | NO |
--repnum | 只读节点数量 | 1 |
--withstandby | 启用热备份节点 | NO |
--initpx | 初始化为HTAP集群 | NO |
--with-pfsd | 编译PFS相关功能 | NO |
--with-tde | 启用透明数据加密 | NO |
--with-dma | 初始化为DMA高可用集群 | NO |
不同集群形态部署
单节点部署
最简单的部署方式,适合开发和测试:
./polardb_build.sh
多节点部署
包含读写节点和只读节点的部署方式:
./polardb_build.sh --withrep --repnum=1
带备库的多节点部署
增加热备份节点的部署方式:
./polardb_build.sh --withrep --repnum=1 --withstandby
HTAP集群部署
面向混合负载的部署方式:
./polardb_build.sh --initpx
测试与验证
常规测试
运行完整的回归测试:
./polardb_build.sh --withrep -r -e -r-external -r-contrib -r-pl --with-tde
HTAP测试
专门针对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
结语
通过本文介绍的方法,开发者可以快速搭建 PolarDB for PostgreSQL 的开发环境,并根据需要部署不同形态的数据库集群。Docker 环境提供了隔离且一致的开发体验,大大降低了环境配置的复杂度。对于生产环境部署,请务必参考官方文档进行安全加固和性能优化。
【免费下载链接】PolarDB-for-PostgreSQL 项目地址: https://gitcode.com/gh_mirrors/pol/PolarDB-for-PostgreSQL
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



