尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Beekeeper Studio 开发环境中的 GreengageDB Docker 部署与连接指南
Beekeeper Studio 开发环境中的 GreengageDB Docker 部署与连接指南【免费下载链接】beekeeper-studioModern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux, MacOS, and Windows.项目地址: https://gitcode.com/GitHub_Trending/be/beekeeper-studio导读本文以 dev/docker_greengage/README.md 为核心完整讲解如何在 Beekeeper Studio 仓库的 Docker 开发环境中一键拉起 GreengageDB 6 / 7 数据库实例并正确配置 Beekeeper Studio 客户端连接。读完本文你将掌握 Greengage 6端口 5438与 Greengage 7端口 5439两套环境的启动命令、首次初始化脚本的底层执行流程、客户端连接参数以及两个大版本之间的兼容性差异可直接用于本地开发、集成测试与日常调试。一、GreengageDB 与 Beekeeper Studio 的集成背景GreengageDB 是 PostgreSQL 兼容的分布式数据库基于 Greenplum 演进而来它使用 PostgreSQL 线缆协议对外通信因此 Beekeeper Studio 将其作为一类PostgreSQL 兼容的客户端接入。仓库中supported_databases.md 将 GreengageDB 标注为 ⭐ Full Support完整支持并同时支持 SSH 隧道与 SSL客户端实现 greengage.ts 中GreengageClient直接继承PostgresClient仅在类型层面与 Postgres 区分从源码结构可以确认Greengage 的连接能力、SQL 方言与结果集处理全部复用 PostgreSQL 的实现商业版入口 client.ts 中同样注册了greengage → GreengageClient的映射说明该能力在开源与商业两个通道中都可用。因此本地调试 Greengage 时最便捷的方式就是使用仓库自带的 Docker Compose 环境先拉起数据库再在 Beekeeper Studio 中创建 Greengage 连接。二、Docker Compose 中的 Greengage 服务定义仓库根目录的 docker-compose.yml 定义了两个 Greengage 服务greengage对应 6.x与greengage7对应 7.x。完整定义如下# Greengage DB 6. Demo listens on 6000. greengage: image: greengagedb/ggdb6_ubuntu:6.29.2 platform: linux/amd64 sysctls: kernel.sem: 500 1024000 200 4096 ports: - 5438:6000 volumes: - greengage:/tmp/greengage_data - ./dev/docker_greengage/init-and-run.sh:/init-and-run.sh:ro command: [bash, /init-and-run.sh] # Greengage DB 7. Demo listens on 7000. greengage7: image: greengagedb/ggdb7_ubuntu:7.4.1 platform: linux/amd64 sysctls: kernel.sem: 500 1024000 200 4096 ports: - 5439:7000 volumes: - greengage7:/tmp/greengage_data - ./dev/docker_greengage/init-and-run.sh:/init-and-run.sh:ro command: [bash, /init-and-run.sh]关键参数逐项说明配置项Greengage 6Greengage 7作用说明imagegreengagedb/ggdb6_ubuntu:6.29.2greengagedb/ggdb7_ubuntu:7.4.1官方提供的 Greengage 演示镜像platformlinux/amd64linux/amd64固定 amd64 平台保证在 Apple Silicon 等 ARM 主机上也能按 x86 运行sysctls.kernel.sem500 1024000 200 4096同左为数据库集群配置 System V 信号量参数是 Greenplum/Greengage 类多进程架构的必需内核设置ports5438:60005439:7000容器内演示实例监听 6000v6/ 7000v7映射到宿主机 5438 / 5439volumes命名卷greengage 挂载初始化脚本命名卷greengage7 挂载初始化脚本数据持久化到/tmp/greengage_data脚本以只读方式挂载到/init-and-run.shcommand[bash, /init-and-run.sh]同左容器启动时执行初始化脚本注意两个服务共用了同一个初始化脚本 init-and-run.sh只是镜像与端口不同镜像内的演示集群分别监听 6000v6与 7000v7docker-compose.yml 的注释也明确写明了这一点。三、一键启动 Greengage 7推荐在仓库根目录执行docker compose up -d greengage7启动后容器会以bash /init-and-run.sh作为入口命令执行首次初始化。README 明确提示首次启动会依次完成安装install、创建集群make_cluster、写入允许宿主机访问的 pg_hba 规则因此需要等待几分钟看到容器稳定运行后再尝试连接。等待期间可通过以下命令观察日志确认初始化进度docker compose logs -f greengage7验证就绪后按 README 给出的参数在 Beekeeper Studio 中新建 Greengage 连接连接项值主机 Hostlocalhost端口 Port5439用户 Usergpadmin密码 Passwordpassword若镜像启用 trust 认证则为空数据库 Databasepostgres仓库的开发环境迁移脚本 dev-11-greengage.js 中预置的连接配置与之一致host: localhost、port: 5439、username: gpadmin、password: 、defaultDatabase: postgres并命名为[DEV] Docker Greengage 7。在开发模式下这些连接会自动写入 Beekeeper Studio 的已保存连接列表打开即可直接用。四、启动 Greengage 6Greengage 6 的启动方式与 7 完全相同仅服务名与端口不同docker compose up -d greengage同样依赖 init-and-run.sh 在首次启动时完成安装与建集群。连接参数为连接项值主机 Hostlocalhost端口 Port5438用户 Usergpadmin密码 Passwordpasswordtrust 模式下为空数据库 Databasepostgres同样迁移脚本 dev-11-greengage.js 预置了名为[DEV] Docker Greengage 6的本地连接端口 5438开发环境无需手动填写即可找到该连接。五、首次启动时 init-and-run.sh 做了什么理解 init-and-run.sh 的执行流程有助于排查容器起来了但连不上的问题。脚本核心步骤如下定位 GPDB 源码根目录脚本先检查/gpdb_src/concourse/scripts/common.bash是否存在不存在则检查当前目录再退化为在文件系统中find查找common.bash并向上推导出REPO_ROOT随后cd到该目录安装并配置 GPDBsource gpdb_src/concourse/scripts/common.bash后调用install_and_configure_gpdb并执行setup_gpadmin_user.bash创建gpadmin用户创建集群调用make_cluster生成一套完整的演示集群Greenplum 风格的多 segment 架构开放外部访问以gpadmin身份加载环境greengage_path.sh与gpdemo-env.sh确定COORDINATOR_DATA_DIRECTORY兼容旧变量MASTER_DATA_DIRECTORY然后在pg_hba.conf末尾追加一行host all all 0.0.0.0/0 trust最后执行gpstop -u热重载配置——这正是 README 中密码为空trust也可连接的由来保持容器存活exec sleep infinity让容器在初始化完成后持续运行而不是退出。值得强调的是该脚本是 docker-compose.yml 中greengage与greengage7两个服务共用的因此两套环境的行为完全一致仅端口不同。集成测试 greengage.spec.ts 中也有等价的 pg_hba 修改逻辑对*/gpdemo/datadirs/*下所有pg_hba.conf注入 trust 规则后gpstop -u可作为脚本行为的佐证。六、Greengage 6 与 7 的版本差异Beekeeper Studio 同时支持 Greengage 6 与 7二者最核心的差异是底层 PostgreSQL 内核版本Greengage 6基于 PostgreSQL 9.4 内核较新的 PostgreSQL 特性不可用。仓库测试 greengage.spec.ts 明确为 v6 传入skipGeneratedColumns: true注释写明Greengage v6Greenplum 6 / PostgreSQL 9.4不支持 GENERATED 列PG 12 才引入Greengage 7内核版本更新功能更完整README 与官方文档均建议在可选情况下优先使用 7。在 Beekeeper Studio 中新建连接时从数据库类型下拉框选择GreengageDB即可其余 host / port / database / user / password 以及可选的 SSL/TLS、SSH 隧道配置与 PostgreSQL 连接完全一致参见 连接指南。七、自动化验证集成测试如何复用同一套环境除手工连接外仓库还提供了基于同一初始化脚本的自动化集成测试位于 greengage.spec.ts使用 Testcontainers 加载 greengage6.yml 与 greengage7.yml 两个 Compose 文件分别对应 6000 / 7000 端口通过等待日志中的Signalling all postmaster processes to reload判断集群就绪再注入 trust 规则以user: gpadmin、password: 、defaultSchema: public、dialect: greengage建立连接运行通用的 PostgreSQL 语法用例runCommonTests超时设置为 600 秒足以覆盖首次启动的完整安装建集群过程。如果你准备针对 Greengage 做二次开发或回归验证这套测试结构就是现成的参考模板。日常开发调试则直接使用本文第三节/第四节的方式在 Beekeeper Studio 中连接localhost:5439或localhost:5438即可。八、常见问题与排查建议容器起来了但连接超时Greengage 首次启动要完成安装与建集群耗时数分钟属正常现象请等待 README 建议的几分钟后再试并用docker compose logs -f greengage7观察Signalling all postmaster processes to reload是否出现认证失败 / 密码为空初始化脚本已写入host all all 0.0.0.0/0 trust规则trust 模式下密码留空即可若镜像本身配置了密码则使用password端口冲突宿主机 5438 / 5439 若被其他服务占用可临时修改 docker-compose.yml 中ports的左侧端口同时相应调整 Beekeeper Studio 连接中的 PortApple SiliconARM主机服务声明了platform: linux/amd64Docker Desktop 会自动模拟 x86 运行首次拉取镜像体积较大耐心等待即可涉及 GENERATED 列的 DDL 报错如果目标是 Greengage 6PostgreSQL 9.4 内核需要避开 GENERATED 列这类 PG 12 语法或改用 Greengage 7。【免费下载链接】beekeeper-studioModern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux, MacOS, and Windows.项目地址: https://gitcode.com/GitHub_Trending/be/beekeeper-studio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

2026年能成为TCPING检测的首推平台是哪个?

2026年能成为TCPING检测的首推平台是哪个?

2026 年在线 TCPing 检测首推平台:www.kkce.com(KKCE 快快测)。原因不是“它也有 TCPing 按钮”,而是它把 TCPing 从“命令行补丁”做成了一层端口级、多运营商、双栈、可下钻的连通性证据。一、TCPing 本来就是为“Ping 骗你”而…

📅 2026/9/12 1:52:00
使用 Dub 将 Stripe 自定义客户创建流程与点击归因关联:dubCustomerExternalId 与 dubClickId 元数据实战指南

使用 Dub 将 Stripe 自定义客户创建流程与点击归因关联:dubCustomerExternalId 与 dubClickId 元数据实战指南

使用 Dub 将 Stripe 自定义客户创建流程与点击归因关联:dubCustomerExternalId 与 dubClickId 元数据实战指南 【免费下载链接】dub The modern link attribution platform. Loved by world-class marketing teams like Framer, Perplexity, Superhuman, Twilio, Bu…

📅 2026/9/12 1:52:00
基于 FastMCP 构建带交互界面的 QR Code MCP App:工具、`ui://` 资源与 CSP 配置实战

基于 FastMCP 构建带交互界面的 QR Code MCP App:工具、`ui://` 资源与 CSP 配置实战

基于 FastMCP 构建带交互界面的 QR Code MCP App:工具、ui:// 资源与 CSP 配置实战 【免费下载链接】fastmcp 🚀 The fast, Pythonic way to build MCP servers and clients. 项目地址: https://gitcode.com/GitHub_Trending/fa/fastmcp 导读 本…

📅 2026/9/12 1:47:00
MORE NEWS

更多资讯

📰

YOLOv8农业落地实践:水稻虫害识别开箱即用系统

简介:本资源是一套基于YOLOv8的农田虫害智能监测系统完整实现方案,面向计算机、人工智能、农业信息化等方向的本科生及教师,专为毕业设计、课程设计与项目实践打造,解决农业场景下害虫目标检测与可视化分析的实际问题。压缩包共8个…

📰

Python实战声纹识别:预处理、模型选型与EER评估

简介:面向毕业设计、课程设计与项目开发场景,一个基于Python的声纹识别项目集成了EcapaTdnn、ResNetSE、ERes2Net、CAM等主流模型,并支持MelSpectrogram、Spectrogram、MFCC、Fbank等多种音频预处理方式,同时引入ArcFace&#xff…

📰

开发者高效求助与问题定位方法论

1. 问题背景与求助场景分析"求大佬解惑"这个标题背后反映的是一个典型的开发者求助场景。在实际工作中,无论是刚入行的新人还是有一定经验的从业者,都会遇到各种技术难题。这类问题通常具有以下特征:问题描述不够具体,提…

📰

TMS320F28335三相逆变器SVPWM实战:从CCS配置到IR2130驱动调测

简介:本资源是一套面向电力电子与电机控制方向嵌入式开发者的完整三相逆变器DSP工程实践套件,聚焦TMS320F28335数字信号处理器与IR2130驱动芯片协同设计,解决电机驱动系统中SVPWM算法实现、硬件驱动适配及实时控制调试等核心问题。压缩包含20…

📰

工业污泥深度脱水技术突破与工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

三相DC-AC变换器工程级参数设计全链路指南

1. 项目概述:从实验室台架到工程落地的三相DC-AC变换器设计全链路拆解“上交大三相DC-AC变换器参数设计及其他问题(更新版)”——这个标题背后不是一份简单的课程作业或仿真报告,而是一套完整覆盖拓扑选型→主电路参数计算→驱动与…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬