PolarDB for PostgreSQL 基于 Docker 的开发环境搭建指南

PolarDB for PostgreSQL 基于 Docker 的开发环境搭建指南

【免费下载链接】PolarDB-for-PostgreSQL 【免费下载链接】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 【免费下载链接】PolarDB-for-PostgreSQL 项目地址: https://gitcode.com/gh_mirrors/pol/PolarDB-for-PostgreSQL

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

抵扣说明:

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

余额充值