在VMware虚拟机上部署polardb

免密登录到我们的虚拟机之后,要在虚拟机上部署polardb数据库,首先第一步要先克隆源码:

为了进SSH协议进行传输源码需要先进行下面的步骤:

将宿主机上的私钥文件复制到虚拟机上

复制代码
scp "C:\Users\waitw\.ssh\id_rsa" anne@192.168.198.132:/home/anne/.ssh/

权限设置:

复制代码
chmod 600 ~/.ssh/id_rsa

然后用SSH来传输polardb的源码。

复制代码
git clone -b POLARDB_15_STABLE git@github.com:ApsaraDB/PolarDB-for-PostgreSQL.git

更新包索引

复制代码
sudo apt update

更新所需要的包

复制代码
sudo apt install apt-transport-https ca-certificates curl software-properties-common

创建目录

复制代码
sudo mkdir -p /etc/apt/trusted.gpg.d/

添加Docker官方的gpg密钥

复制代码
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg

添加docker仓库

复制代码
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

再次更新包索引

复制代码
sudo apt update

安装docker ce

复制代码
sudo apt install docker-ce

验证docker是否安装成功:

复制代码
sudo docker run hello-world

需要能连接到docker hub的网

接着我们拉取polardb的镜像:

复制代码
sudo docker pull polardb/polardb_pg_devel:ubuntu24.04

进入开发机器的源码目录

复制代码
 cd PolarDB-for-PostgreSQL/

此时我们已经在开发机器的源码目录中。从开发镜像上创建一个容器,将当前目录作为一个 volume 挂载到容器中,这样可以:

  • 在容器内的环境中编译源码

  • 在容器外(开发机器上)使用编辑器来查看或修改代码

    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:ubuntu24.04
    bash

查找所有容器:

复制代码
sudo docker ps -a

启动容器并进入其shell

复制代码
sudo docker start d71e06b59566
sudo docker exec -it d71e06b59566 bash

进入容器后,为容器内用户获取源码目录的权限,然后编译部署 PolarDB-PG 实例。

复制代码
# 获取权限并编译部署
cd polardb_pg
sudo chmod -R a+wr ./
sudo chown -R postgres:postgres ./
./build.sh

# 验证
psql -c 'SELECT version();'
                                   version
----------------------------------------------------------------------
 PostgreSQL 15.x (PolarDB 15.x.x.x build xxxxxxxx) on {your_platform}
(1 row)

启动postgreSQL

复制代码
sudo -u postgres /usr/lib/postgresql/14/bin/pg_ctl start -D /home/anne/tmp_polardb_pg_15_base/data
相关推荐
飞浪纪元[FWC–FE]25 分钟前
Qt 工程创建与 CMake / qmake 构建规范
开发语言·数据库·qt
Ivanqhz29 分钟前
MoE + LLM 应用
数据库·人工智能·pytorch·python·深度学习·算法·1024程序员节
Tsuki_tl34 分钟前
【总结】Redis五大数据类型应用场景及基本命令
数据库·redis·后端·缓存·缓存中间件·redis命令·redis 五大数据类型
Gauss松鼠会34 分钟前
GaussDB 整体架构解析
运维·服务器·网络·数据库·sql·架构·gaussdb
系统集成-鹰翔40 分钟前
ERP对接升级提示数据库迁移失败:SQLite逐版本事务到底回滚到哪一步
javascript·数据库·经验分享·后端
西瓜拿铁好喝40 分钟前
开源和闭源 AI 办公工具,分别适合谁
java·前端·数据库
代码派1 小时前
业务不停机迁移 MySQL 到 TiDB,NineData 数据增量同步实操演示
数据库·mysql·tidb·ninedata·无停机迁移·增量迁移·全量迁移
Gauss松鼠会1 小时前
GaussDB 中 gsql 与 DBeaver(JDBC)客户端工具查询时间不一致:原因、排查与处理
运维·服务器·数据库·sql·gaussdb·经验总结
Elastic 中国社区官方博客1 小时前
基于 Jina OCR v1 与 Elasticsearch 的 PDF 智能混合检索与 RAG 系统实战指南
大数据·数据库·elasticsearch·搜索引擎·ocr·jina
楚识科技1 小时前
信创环境下 OCR 部署实践:从麒麟系统到达梦数据库的全栈适配
数据库·ocr