再见 greenplum_path.sh,你好 cloudberry-env.sh

再见 greenplum_path.sh,你好 cloudberry-env.sh

Apache Cloudberry™ (Incubating) 是 Apache 软件基金会旗下的孵化项目,源自 Greenplum 与 PostgreSQL,作为高性能开源 MPP 数据库,适用于构建企业级数据仓库,并支持大规模分析及 AI/ML 工作负载。GitHub: https://www.php.cn/link/6812447e101094f86b8bbcf140a3d4bd

本文改编自 Apache Cloudberry 官方博客文章 https://www.php.cn/link/26c8106f0f28bd50208678b59c7f722d。

概述

本文详细说明 Apache Cloudberry 项目将原用户常用脚本 greenplum_path.sh 进行重命名的过渡策略。此举旨在统一项目品牌形象,符合 Apache 软件基金会(ASF)的商标规范。整个迁移过程分为两个阶段,确保对现有用户的干扰最小化,并保持高度透明。

背景:为何要进行此项变更

随着 Apache Cloudberry (Incubating) 的持续演进,确立清晰且独立的品牌形象变得至关重要。尽管该项目起源于 Greenplum,但目前已在 ASF 孵化器中独立发展,拥有专属的技术路线和社区生态。

需要特别指出的是,“Greenplum”为博通公司(Broadcom Inc.)注册持有的商标。为遵循 ASF 的法律政策、避免品牌混淆,Apache Cloudberry PPMC 经过在 Dev@ 邮件列表和 GitHub Issue 中的充分讨论后达成一致意见——必须移除直接面向用户的脚本中包含“Greenplum”的命名。

分阶段过渡方案

为保障升级过程平稳顺畅,本次变更将分两步实施:

第 1 阶段:非破坏性提示(Apache Cloudberry 2.0 版本)

该阶段已通过 Pull Request #1189 实现,并随 Apache Cloudberry 2.0 正式发布(Cloudberry 2.0 已启用此功能)。

具体变更:当用户执行 source greenplum_path.sh 命令时,系统将显示一则明确通知,说明项目与 Broadcom 所属 Greenplum 的区别,示例如下:

[gpadmin@cloudberry]$ source /usr/local/cloudberry-db/greenplum_path.sh# --------------------------------------------------------------------# NOTICE from the Apache Cloudberry PPMC# --------------------------------------------------------------------# This file uses the term 'greenplum' to maintain compatibility with# earlier versions of Apache Cloudberry, which was originally called# Greenplum. This usage does not refer to VMware Tanzu Greenplum,# nor does it imply that Apache Cloudberry (Incubating) is affiliated# with, endorsed by, or sponsored by Broadcom Inc.## This file will be renamed in a future Apache Cloudberry release to# ensure compliance with Apache Software Foundation guidelines.# We will announce the change on the project mailing list and website.## See: https://www.php.cn/link/3688c640bfeed975b53e4bca4d1b72b0# --------------------------------------------------------------------

影响范围:此更改完全兼容现有使用方式,不会中断任何已有脚本或自动化流程。其主要作用是在用户操作时提供品牌澄清,并提前预警后续文件名变更。

第 2 阶段:正式更名(预计于 2.1 及更高版本实施)

此阶段将完成最终的品牌统一。

变更内容:将 greenplum_path.sh 正式重命名为 cloudberry-env.sh。同时可能对其他相关配置脚本和内部引用进行全面审查,以提升整体一致性。影响说明:此为破坏性变更。用户需更新命令为 source cloudberry-env.sh 来加载环境变量。相关变动将在发行说明和官方文档中重点标注。若需保持旧有习惯,可创建软链接兼容,例如:
sudo ln -s /usr/local/cloudberry-db/cloudberry-env.sh /usr/local/cloudberry-db/greenplum_path.sh

变更影响总结

Cloudberry 2.0 用户:无需立即采取行动,仅需留意执行脚本时出现的品牌提示信息。未来升级至 2.1+ 版本的用户:需注意脚本名称已更换为 cloudberry-env.sh,建议及时更新运维脚本与文档。

随着 Cloudberry 不断向顶级 Apache 项目迈进,我们相信此次调整不仅强化了项目的合规性,也为未来的独立发展打下坚实基础。衷心感谢所有参与讨论的社区成员以及 ASF 法律团队的专业支持。

相关讨论链接

GitHub PR:https://www.php.cn/link/6812447e101094f86b8bbcf140a3d4bd/pull/1189 邮件列表讨论:https://www.php.cn/link/3688c640bfeed975b53e4bca4d1b72b0 加入我们官方网站:https://www.php.cn/link/48a0341837a7378778289deed163196b GitHub 仓库:https://www.php.cn/link/6812447e101094f86b8bbcf140a3d4bd Slack 社区:https://www.php.cn/link/483cfedb0f5a2b61a7c709871cfc883f 邮件列表订阅:https://www.php.cn/link/48a0341837a7378778289deed163196b/community/mailing-lists/

源码地址:点击下载

以上就是再见 greenplum_path.sh,你好 cloudberry-env.sh的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/69326.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月12日 23:06:32
下一篇 2025年11月12日 23:36:06

相关推荐

  • Golang如何测试多模块项目

    多模块项目通过go.work统一管理,各模块独立编写测试并用replace支持本地依赖,根目录执行go test all可运行所有测试。 在Go语言中,测试多模块项目需要合理组织测试结构并正确配置模块依赖。核心思路是确保每个模块可独立测试,同时支持跨模块集成测试。 理解多模块项目结构 多模块项目通常…

    2025年12月16日
    000
  • 如何在Golang中降低内存碎片

    使用sync.Pool复用对象、减少小内存分配、调整GOGC参数及优化数据结构可有效降低Go程序内存碎片,提升性能与稳定性。 在Golang中,内存碎片可能影响程序的性能和稳定性,尤其是在长时间运行或高并发场景下。虽然Go的垃圾回收器(GC)能自动管理内存,但开发者仍可通过一些策略减少内存碎片的产生…

    2025年12月16日
    000
  • Golang如何实现微服务事件驱动设计

    事件驱动架构通过发布-订阅模式解耦微服务,Golang凭借高并发和轻量级Goroutine优势,结合Kafka或NATS等消息中间件,可高效实现事件生产、消费与异步处理,配合事件结构定义、版本控制、幂等性设计及监控机制,构建可靠、可扩展的微服务系统。 微服务架构中,事件驱动设计能有效解耦服务、提升系…

    2025年12月16日
    000
  • 如何在Golang中实现错误包装与解包

    Go 1.13起通过%w包装错误可保留原始信息,使用errors.Is和errors.As能语义化解包判断,自定义错误需实现Unwrap方法以支持解包,提升错误处理精准度。 在Go语言中,错误处理是程序健壮性的重要组成部分。从Go 1.13开始,标准库引入了错误包装(error wrapping)机…

    2025年12月16日
    000
  • Golang如何安全释放资源避免错误

    Go语言需手动释放文件句柄等资源,defer语句可确保函数退出前调用关闭操作;2. defer注册时即对参数求值,循环中直接使用变量可能导致预期外行为。 在Go语言中,安全释放资源是编写健壮程序的关键。由于Go具备垃圾回收机制,很多人误以为不需要关心资源管理,但实际上像文件句柄、网络连接、数据库连接…

    2025年12月16日
    000
  • 如何在Golang中实现并发缓存访问

    答案:Golang中并发缓存访问可通过sync.RWMutex+map或sync.Map实现;前者适用于读多写少、需自定义过期策略的场景,后者适合数据一旦写入较少修改、追求简单高效的高并发场景。 在Golang中实现并发缓存访问,关键在于保证多个goroutine同时读写缓存时的数据安全和性能高效。…

    2025年12月16日
    000
  • Golang如何使用go mod vendor打包依赖

    使用 go mod vendor 可将依赖复制到本地 vendor 目录,实现离线构建与依赖锁定。首先确保项目初始化模块(go mod init),添加依赖后运行 go mod vendor 生成 vendor 文件夹,包含所有依赖源码。结合 go mod tidy 清理冗余依赖,并通过 go bu…

    2025年12月16日
    000
  • Golang如何处理并发数据库操作

    Go语言通过goroutine和channel实现并发,但操作数据库时需控制并发度以避免连接耗尽等问题。1. 使用database/sql的连接池管理并发,设置最大和闲置连接数;2. 通过SetMaxOpenConns、SetMaxIdleConns和SetConnMaxLifetime配置连接参数…

    2025年12月16日
    000
  • Go语言中创建HTML表单模板:App Engine环境下的实践

    本教程将详细介绍在go语言中如何创建和使用html表单模板,特别是在app engine等文件系统受限的环境下。通过将html内容直接嵌入为字符串,并结合`html/template`包进行解析和渲染,开发者可以高效地构建动态网页,无需依赖文件系统,确保应用的灵活性和部署的便捷性。 Go语言模板引擎…

    2025年12月16日
    000
  • 在Go语言中设置函数参数类型

    本文旨在帮助Go语言初学者理解如何在Go函数中正确定义参数类型和返回值类型。通过一个简单的加法函数示例,详细讲解了Go语言中参数类型声明的两种方式,并强调了类型声明的重要性。此外,还推荐了官方的Go语言教程,帮助读者更深入地学习Go语言。 在Go语言中,定义函数时必须明确指定参数的类型和返回值类型。…

    2025年12月16日
    000
  • 构建健壮的Go语言Socket Echo服务器:从零到多客户端支持

    本文详细探讨了go语言中构建socket echo服务器的关键技术与常见陷阱。我们将从基础的net包使用出发,逐步解决c.read()阻塞行为、io.eof处理、sync.waitgroup正确传参以及如何高效支持多客户端连接等问题,最终提供一个功能完善、代码健壮的go语言echo服务器实现。 1.…

    2025年12月16日
    000
  • 解决Go语言连接MSSQL数据库的ODBC问题:一份实用指南

    本文旨在帮助Go开发者解决在使用ODBC连接MSSQL数据库时遇到的常见问题,特别是在不同操作系统下配置和使用ODBC驱动,以及处理编译和运行时错误。通过详细的步骤和示例,本文将指导你成功连接并操作MSSQL数据库。 前提条件 在开始之前,请确保你已经安装了以下组件: Go 语言环境 (Go 1.1…

    2025年12月16日
    000
  • 使用 wxWidgets 和 Go 构建跨平台 GUI 应用程序

    本文档旨在指导开发者如何在 Go 语言中使用 wxWidgets 库构建跨平台的图形用户界面 (GUI) 应用程序。由于 `wxGo` 项目可能已停止维护,本文将介绍如何通过 Git 获取源码并使用 `make install` 命令进行编译安装,并提供使用示例。 环境准备 在开始之前,请确保已安装…

    2025年12月16日
    000
  • Go语言中unexpected EOF错误解析与调试

    本文旨在深入解析go语言中常见的`syntax error: unexpected eof`错误。该错误通常指示编译器在文件末尾遇到了非预期的终止,其根源往往是代码结构中的括号不匹配,例如缺少闭合的花括号`}`。文章将结合具体的json序列化和文件写入场景,演示如何识别、诊断并修正这类语法错误,并提…

    2025年12月16日
    000
  • 现代Go语言程序编译与运行指南

    本文旨在为go语言初学者提供一份现代化的程序编译与运行指南,纠正因遵循过时教程而产生的常见问题。我们将详细讲解go环境的正确配置,包括`path`环境变量的设置,以及如何使用go官方提供的`go`命令(如`go run`和`go build`)来高效地编译和执行go程序,同时提醒注意代码编写规范和官…

    2025年12月16日
    000
  • Golang如何开发事件倒计时功能

    Go语言实现事件倒计时需计算当前时间与目标时间差,使用time包获取差值并格式化输出天、时、分、秒,通过for循环结合time.Sleep或time.Ticker每秒更新,适用于命令行或Web服务场景;在Web中可结合HTTP服务器和Goroutine提供JSON接口返回倒计时数据,支持多用户访问。…

    2025年12月16日
    000
  • Golang如何处理HTTP请求错误

    处理Go中HTTP错误需先检查err是否为nil,再验证StatusCode,最后设置超时并关闭Body。示例包括判断网络错误、状态码异常及配置Client超时,确保资源释放与重试逻辑。 在Go语言中处理HTTP请求错误,关键在于正确检查和解析http.Get、http.Post或使用http.Cl…

    2025年12月16日
    000
  • 如何在Golang中使用sync.WaitGroup等待并发完成

    答案:sync.WaitGroup用于等待一组goroutine完成,通过Add增加计数,Done减少计数,Wait阻塞直至计数归零。示例中启动5个worker,主协程等待全部完成。 在Golang中,sync.WaitGroup 是一种常用的同步机制,用于等待一组并发的goroutine执行完成。…

    2025年12月16日
    000
  • 如何在Golang中使用encoding/csv处理CSV文件

    答案:Go语言的encoding/csv包可读写CSV文件,支持自定义分隔符。使用csv.NewReader读取数据,ReadAll()适合小文件,大文件应逐行Read;csv.NewWriter写入需调用Flush()确保数据保存;设置Comma字段可更换分隔符;自动处理含逗号、引号的字段。 在G…

    2025年12月16日
    000
  • 如何在Golang中获取字段是否可设置

    要判断Golang结构体字段是否可设置,需传入指针并调用reflect.Value的CanSet()方法。示例中,即使导出字段Name,若未传指针,CanSet仍返回false;传入指针并解引用后,Name可设置为true,age因未导出仍为false。完整逻辑包括:检查是否为指向结构体的指针、字段…

    2025年12月16日
    000

发表回复

登录后才能评论
关注微信