当前位置: 首页 > news >正文

pgrust 安装教程:Docker 一键启动你的第一个 Rust 版 PostgreSQL

pgrust 安装教程:Docker 一键启动你的第一个 Rust 版 PostgreSQL

【免费下载链接】pgrustPostgres rewritten in Rust, now faster than Postgres and Clickhouse项目地址: https://gitcode.com/GitHub_Trending/pg/pgrust

pgrust 是一个用 Rust 语言从零重写 PostgreSQL 的开源数据库项目,兼容 PostgreSQL 18.3,并通过了超过 46000 条回归测试查询,官方目标是让事务负载提速 50%、分析型负载提速约 300 倍。本文是一份面向新手的 pgrust 安装教程,手把手教你用 Docker 一键启动 Rust 版 PostgreSQL,全程无需编译源码,几分钟即可跑通。

pgrust 是什么?为什么值得一试?

简单来说,pgrust 就是把大家熟悉的 PostgreSQL 数据库引擎用 Rust 重新实现了一遍:

  • ✅ 兼容 PostgreSQL 18.3,输出与官方保持一致(46000+ 条回归查询)
  • ✅ 磁盘格式兼容,可以直接挂载已有的 PostgreSQL 18.3 数据目录
  • ✅ 发挥 Rust 内存安全与性能优势:事务负载快 50%,分析型负载快约 300 倍
  • ✅ Docker 镜像与官方 postgres 镜像"无缝互换",使用习惯几乎一模一样

对新手最友好的一点是:pgrust 的 Docker 镜像完全复刻了官方 postgres 镜像的用法,POSTGRES_PASSWORDPOSTGRES_USER等环境变量全部通用,几乎零学习成本

安装前的准备:2 个前提条件

开始之前,先确认环境满足以下要求:

检查项要求
Docker已安装并正常运行(执行docker --version确认)
端口本机 5432 端口未被占用
网络可正常访问镜像仓库拉取镜像

确认无误后,就可以进入下面的 Docker 安装步骤了。

方法一(推荐):Docker 一键启动

最快的 pgrust 安装方式,就是直接拉取官方镜像并运行。打开终端执行:

docker run -d --name pgrust \ -e POSTGRES_PASSWORD=secret \ -p 5432:5432 \ malisper/pgrust:v0.1

命令说明:

  • -d --name pgrust:后台运行,并给容器命名为 pgrust
  • -e POSTGRES_PASSWORD=secret:设置超级用户 postgres 的密码
  • -p 5432:5432:把容器内 5432 端口映射到本机

稍等片刻,用docker ps看到容器状态为 Up,就说明你的第一个 Rust 版 PostgreSQL 已经启动成功了 🎉

方法二:本地构建 pgrust 镜像

如果想从源码构建镜像(比如验证最新代码),可以先把仓库克隆到本地,再执行构建:

git clone https://gitcode.com/GitHub_Trending/pg/pgrust cd pgrust docker build -t pgrust .

构建完成后,用同样的方式启动:

docker run -d --name pgrust \ -e POSTGRES_PASSWORD=secret \ -p 5432:5432 \ pgrust

镜像采用三段式构建(编译 pgrust 二进制 → 获取 psql 客户端与系统目录文件 → 组装运行镜像),构建逻辑可以直接查看仓库根目录的Dockerfile,入口脚本是docker/entrypoint.sh,详细说明见docker/README.md。整个镜像里只有 pgrust 服务器和一个 psql 客户端,完全没有 C 版 postgres,数据目录初始化由 pgrust 自带的--initdb驱动完成。

关键环境变量:与官方 postgres 镜像完全一致

pgrust 镜像刻意保留了官方 postgres 镜像的"契约",以下环境变量全部通用:

环境变量作用默认值
POSTGRES_PASSWORD超级用户密码(必填)
POSTGRES_USER超级用户名postgres
POSTGRES_DB初始创建的数据库名与 POSTGRES_USER 相同
PGDATA数据目录位置/var/lib/postgresql/data
POSTGRES_HOST_AUTH_METHOD连接认证方式trust

另外,首次启动时镜像会自动执行/docker-entrypoint-initdb.d/目录下的初始化脚本(支持.sql.sh.sql.gz等格式),可以把建表语句或初始化数据放进去,非常方便。

连接并验证 Rust 版 PostgreSQL

容器启动后,用 psql 连接并执行一条查询来验证:

psql "postgres://postgres:secret@localhost:5432/postgres" \ -c "select version(), 1 + 1 as two"

看到返回 PostgreSQL 版本信息,就说明连接成功。也可以直接进入容器内使用 psql:

docker exec -it -e PGPASSWORD=secret pgrust \ psql -h 127.0.0.1 -U postgres

💡 小提示:当前版本在 TCP 连接上默认使用 trust 认证(密码已写入系统目录,但暂不强制校验),随着项目迭代会逐步完善密码认证机制。

数据持久化:挂载数据卷

默认情况下,容器删除后数据也会消失。想持久化保存数据,启动时挂载一个数据卷即可:

docker run -d --name pgrust \ -e POSTGRES_PASSWORD=secret \ -p 5432:5432 \ -v pgdata:/var/lib/postgresql/data \ malisper/pgrust:v0.1

这样即使容器被删除重建,数据依然保留在pgdata卷中,后续升级镜像也无需重新初始化数据库。

常见问题(FAQ)

Q1:端口被占用怎么办?-p 5432:5432改成其他端口,例如-p 5433:5432,连接时把端口对应改成 5433 即可。

Q2:连不上 / 忘记密码?docker logs pgrust查看启动日志,确认容器是否完成了初始化;也可以删除容器,重新用-e POSTGRES_PASSWORD=新密码启动。

Q3:pgrust 现在能用于生产环境吗?目前项目仍处于快速迭代阶段,官方明确表示尚未达到生产就绪标准。建议先在开发、测试环境体验,并持续关注后续版本发布。

总结

本文带你完整走了一遍 pgrust 安装教程:通过 Docker 一键启动、本地构建镜像、配置环境变量、验证连接,以及数据持久化。pgrust 作为 Rust 重写 PostgreSQL 的代表项目,兼容性(46000+ 条回归查询)和性能潜力都相当亮眼,是值得持续关注的开源数据库新秀。现在就动手,用 Docker 启动你的第一个 Rust 版 PostgreSQL 吧!

【免费下载链接】pgrustPostgres rewritten in Rust, now faster than Postgres and Clickhouse项目地址: https://gitcode.com/GitHub_Trending/pg/pgrust

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

http://www.jsqmd.com/news/1405888/

相关文章:

  • 长沙雨花区卫生间地漏疏通|长沙管道疏通公司推荐 - 超人防水
  • ESP32 物联网开发入门:一文带你从点亮 LED 到做出会联网的温湿度计
  • 两张看起来相同的图片,为何一张能反解出“我喜欢“?聊聊 BlindWaterMark 盲水印
  • ai免费写论文实用吗?实测3款AI论文软件,结果有好有坏! - 论文助教
  • A05_五种语言,同一个接口:Java _ Go _ Node.js _ C# _ PH
  • 2026年8月上海徐汇区附近花店实测|本地鲜花布置消费避坑指南 - 超人防水
  • 北京丰台包包回收白皮书发布后北京市监部门将加强日常监管与专项整治 - 大牌科普时报
  • 什么是说话人分离?用diar_streaming_sortformer_4spk-v2理解“谁在何时说了什么“
  • 看病化验要降价了?全国“一把尺“,医疗检验收费将同检同价
  • V6.0.0把经营流程做进了系统:护航俱乐部接单平台与游戏电竞护航陪玩源码系统小程序更新观察 - 壹软科技
  • 实测Zotero PDF2zh翻译插件:三步让英文文献阅读效率翻倍
  • 2026东莞房屋漏水维修避坑指南|正规修缮与乱象对比,少花冤枉钱 - 筑宅安
  • 2026最新降AIGC网站盘点:11款中英文工具横评,降AI率有效的方法是什么? - 降AI小能手
  • 微信聊天记录如何永久保存:WeChatMsg导出HTML、Word、CSV完整指南
  • 2026年西安美业培训合作选型:正规性核查标准与避坑指南,附陕西欧曼谛时尚美业学校合规性深度解析 - U渠道
  • 模块1 PCB制板-项目1 电路板设计-任务1 初识嘉立创EDA
  • 2026年8月上海徐汇区本地花店实测|同城鲜花定制与场景布置服务体验汇总 - 超人防水
  • 手把手5步用Camunda Modeler从零搭建一个请假审批流程
  • 2026惠州黄金回收避坑指南 本地正规门店实用参考 - 生活测评小能手
  • 2026 年 8 月最新|慈溪同城数码回收门店实地测评,闲置手机电脑去哪里交易更省心 - 超人防水
  • Elasticsearch 学习笔记:集群实战(3 控制节点 + 3 数据节点部署与故障转移) - PC2005
  • URP-LWRP-Shaders 项目结构全解析:Shaders、Scripts、Scenes 三大目录一次看懂
  • 淮安M50支座灌浆料/早强灌浆料供货商设备锚固二次灌浆,牢牢固定设备底座不松动-科沛达新型建筑 - 行业甄选汇
  • 2026 八月西城区,成套钻石配饰焕新专属服务指南 - 大牌科普时报
  • 0815晨间日记
  • 广州拖车电话_广州高速汽车拖车服务_广州道路救援汽车救援24小时-广州汽车补胎换胎-悟空道路救援 - 滚动商讯
  • 2026想做高客单维修?一张四维核验表看透加盟技术支持 - Chencen
  • 惠州黄金回收怎么选不踩坑?认准这三个问题帮你筛出靠谱商家 - 生活测评小能手
  • 杭州智道天成代办生产许可证服务怎么样?别只看“能办”,要看“能落地”
  • 5分钟快速上手:如何用 North-Micro-Vision-Instruct-5bit 在 Mac 上跑通图像理解推理