Cloudberry Database 作为 Greenplum 衍生版本和首选开源替代,由 Greenplum 原始团队成员创建,与 Greenplum 保持原生兼容,并能实现无缝迁移,且具备更新的 PostgreSQL 内核和更丰富的功能。
GitHub: https://github.com/cloudberrydb/cloudberrydb
Hi 社区小伙伴们!Cloudberry Database 2024 年 8 月社区月报来啦!下面是 Cloudberry Database 项目和社区在过去的 8 月份的重要进展,请大家阅读!
发布全新版本 1.6.0
本次发版共包括了 200 个新增 commit,777 个文件更改,代码新增 60,626 行,代码删减 26,773 行;68 位来自 Cloudberry 社区和上游贡献者们参与贡献,其中 10 位是首次贡献,贡献者来自北美、中国大陆、俄罗斯、欧洲等区域,Cloudberry 在社区全球化、协作多样性上快速成长。
💡 版本亮点
值得关注的改进包括:
1. 正式提供 EL 8/9 RPM 安装包,包括 CloudberryDB 及组件如 pgvector、pxf、hll 等
2. CloudberryDB 内置 gpbackup/gprestore、gpbackup-s3-plugin 等组件,无需额外手动编译
3. 本次发布采用新的版本分支策略、版本命名策略,采用全新自动化发布设施全面提速
4. 涉及大量功能增强和优化,包括 Directory table、Answer Query Using Materialized Views、跨集群联邦查询、RESGROUP、龙芯架构支持、CICD 等诸多方面
下载与反馈
👁 变更详情:https://github.com/cloudberrydb/cloudberrydb/compare/1.5.4...1.6.0
⏬ 下载试用:https://github.com/cloudberrydb/cloudberrydb/releases/tag/1.6.0
🗣 欢迎反馈:https://github.com/orgs/cloudberrydb/discussions/616
Bootcamp 训练营
上月,我们也对 Bootcamp 进行了关键更新,要点包括:
• 支持最新发布的 Cloudberry Database v1.6.0 版本
• 支持多节点部署模式,特别感谢社区成员 @antoniopetrole 的工作!
只需三步,快速创建基于 Docker 的 Cloudberry Database 体验沙箱:https://github.com/cloudberrydb/bootcamp.
Pull Request 清单
• Cherry-pick VACUUM stats & Vacuum progress related commits. #611[1] by @reshke
• Fix: could not pull up equivalence class using projected target list #606[2] by @yjhjstz
• Fix volatile EquivalenceClass has no sortref. #604[3] by @avamingli
• Cherry-pick ORCA InPlaceUpdate implementation #603[4] by @foreyes
• Fix writable CTE cause wrong matview data status. #602[5] by @avamingli
• Send rows in binary mode for ANALYZE #601[6] by @Light-City
• Update check.c: fixed Cloudberry incorrect references #600[7] by @reshke
• Fix pg_upgrade version parsing when upgrading from Greenplum #599[8] by @reshke
• Fix serialization of expr AEXPR_NOT_DISTINCT. #598[9] by @avamingli
• Fix
pxf_fragment.c
compilation failure #590[10] by @Terry1504• Forbid inherits tables to store into gp_matview_aux. #587[11] by @avamingli
• Enable
fsync=on
by default in gpAux/gpdemo/gpdemo-defaults.sh #585[12] by @yjhjstz• Fix writable rules on table has relative matview. #584[13] by @avamingli
• Change temp table name used to IMMV to some less frequent sequence of… #581[14] by @reshke
• Cherry pick commits related to recent RESGROUP v2 merge. #579[15] by @reshke
• Add FIXME about redundant param from 'ivm_visible_in_prestate' call. #578[16] by @reshke
• [AQUMV] Check relation actually has children when view matching. #577[17] by @avamingli
• Rephrase comment for deferred IVM case #576[18] by @reshke
• Doc: update the alter table help command content #574[19] by @EcaleD
• Support lock directory table. #572[20] by @wenchaozhang-123
• Cherry-pick commits from GPDB, for psycopg2 #571[21] by @reshke
• Fix bug with base relation truncate for IMMV #570[22] by @reshke
• Suppress compile-time error in SparseData.h #566[23] by @reshke
• [ORCA]: fallback to postgres optimizer when NL inner plan is index scan #565[24] by @gfphoenix78
• Update appendonlywriter.c: fix debug message #564[25] by @reshke
• Support distributed by clause specification when Create MV if not exists #563[26] by @reshke
• Fix: Add ao_unique_index_build test in greenplum_schedule #562[27] by @lss602726449
• Create test cases for upgrading compatibility validation #560[28] by @congxuebin
• Update the image to Rockylinux8 to ensure the normal operation of CI #556[29] by @Zhangbaowen-Hashdata
• CREATE FOREIGN TABLE LIKE. #554[30] by @avamingli
• Implement READ_STRING_FIELD_NULL serializable read function. #553[31] by @wenchaozhang-123
• Fix: free tupleDesc on commit or abort transcation. #551[32] by @yjhjstz
• Fix copy some directory table to problems. #550[33] by @wenchaozhang-123
Issue 清单
• [Bug] optimizer query plan cloudberry vs greenplum #609[34] by @aeschbacherEUF
• [Bug] expect index scan get seq scan when explain query with parallel retrieve cursor #607[35] by @congxuebin
• [Bug] Type conversion error : could not pull up equivalence class using projected target list (pathkeys.c:1596) #605[36] by @willmkonos
• [Bug] Error found by sqlancer #596[37] by @shmiwy
• [Bug] Unable to understand A_Expr node #595[38] by @shmiwy
• [Bug] Error detected by sqlancer #594[39] by @shmiwy
• [Bug] volatile EquivalenceClass has no sortref #593[40] by @shmiwy
• [Bug] compile warning due to cherry-pick lost some commits #586[41] by @avamingli
• [Bug] Compilation Failure in pxf_fdw Due to
PG_VERSION_NUM
Update and--enable-pxf
Option #583[42] by @edespino• [Bug] Matview Up-go-date maintenance feature is broken. #582[43] by @reshke
• Catalog changes between minor releases? #580[44] by @reshke
• [Bug] brin index related, could not read block xxx in file when insert after cbdb binary swap #558[45] by @congxuebin
• [Bug] relcache reference leak, related to ao unique index, when repeated update #557[46] by @congxuebin
• [Bug] --disable-faultinjector option causes compilation failure #555[47] by @congxuebin
• [Bug] After creating an incremental materialized view, inserting about ten rows of data into the base table may result in an abnormal disconnection of the database connection. #552[48] by @csuopen
GitHub Discussions 提案与讨论
• [Proposal] Improve greenplum diagnostics #614[49] by @leborchuk
• [Proposal] Cloudberry DB Extension Compatibility Framework #612[50] by @edespino
• [Proposal] Cloudberry Open Source Release Plan for Version 1.6.0 #592[51] by @edespino
• [Proposal] Adopting a PostgreSQL-Style Branching Strategy with Semantic Versioning (SemVer) for the Cloudberry Project #591[52] by @edespino
• [Proposal] 希望能提供容灾功能 #559[53] by @dbbao
• [Feature requests] Backup/Restore database #597[54] by @leborchuk
• [Feature requests] [Ideas] Support Aggregation pushdown while using outer joins #561[55] by @foreyes
• [Q&A] What is PAX table access method? #610[56] by @reshke
网站更新
在过去的 8 月,我们对网站做了大量更新,特别是文档模块,我们新增了 SQL 语句、系统工具、函数等 180+ 篇文档,进一步丰富了文档内容。同时,为拥有多个子章节的文档模块创建了索引页,可为大家快速浏览章节内容提供便捷入口。在此,特别感谢 @TomShawn、@dnbnero、@EcaleD、@csuopen、@tuhaihe、@vitalboyzf
为网站和文档做出的贡献!
周边工具开源
pgvector for Cloudberry
仓库已正式开放,你可以利用该工具对数据进行向量操作。
• 源码地址:https://github.com/cloudberrydb/pgvector
• RPM 包下载:https://github.com/cloudberrydb/cloudberrydb/releases/tag/1.6.0.
进展:将 Cloudberry Database 推进到 Apache 软件基金会孵化器
自 Greenplum 发生源码归档事件以来,我们联合多家 Greenplum 生态伙伴和贡献团队一直在推动将 Cloudberry Database 推进到第三方开源基金会进行孵化,实现 Cloudberry Database 中立与独立,不再被单一厂商控制,避免 Greenplum 的命运再次发生在 Cloudberry Database 身上。
当前,Yandex Cloud、HashData 和原 Greenplum 个人贡献者共 21 位成员确认加入,形成初期的贡献者核心团队。当前 Cloudberry Database 的孵化提案已经准备完成,接下来将推进进入 Apache 软件基金会孵化器的讨论、投票阶段。
如果 Cloudberry Database 能成功被 Apache 软件基金会孵化器接受,则 Cloudberry Database 在未来一段时间将根据 Apache 软件基金会项目孵化标准,专注在代码质量、协议合规、版本发布、社区发展与共识构建等方面的提升与增强。
致谢
🎈️🎊️ 特别感谢在 8 月份为 Cloudberry Database 更新和优化做出贡献的社区成员:
@reshke, @yjhjstz, @avamingli, @foreyes, @Light-City, @Terry1504, @EcaleD, @wenchaozhang-123, @gfphoenix78, @lss602726449, @congxuebin, @Zhangbaowen-Hashdata, @aeschbacherEUF, @willmkonos, @shmiwy, @edespino, @csuopen, @leborchuk, @dbbao, @TomShawn, @dnbnero, @EcaleD, @tuhaihe, @vitalboyzf
加入我们
Cloudberry Database 致力于打造中立、开放和友好的数据库技术社区,我们面向任何人保持开放,无论其经验水平如何。我们鼓励各种类型的贡献,无论大小多少,可参考《贡献指南》[57]查看可参与贡献的方式。
除此之外,我们为社区成员提供了丰富的交流、求助和获取反馈的渠道,可查看支持页面[58]了解详情。如有任何问题或反馈,大胆求助即可,我们乐意帮助!
加入我们,成为社区成员的一份子吧!
推荐阅读
引用链接
[1]
#611: https://github.com/cloudberrydb/cloudberrydb/pull/611[2]
#606: https://github.com/cloudberrydb/cloudberrydb/pull/606[3]
#604: https://github.com/cloudberrydb/cloudberrydb/pull/604[4]
#603: https://github.com/cloudberrydb/cloudberrydb/pull/603[5]
#602: https://github.com/cloudberrydb/cloudberrydb/pull/602[6]
#601: https://github.com/cloudberrydb/cloudberrydb/pull/601[7]
#600: https://github.com/cloudberrydb/cloudberrydb/pull/600[8]
#599: https://github.com/cloudberrydb/cloudberrydb/pull/599[9]
#598: https://github.com/cloudberrydb/cloudberrydb/pull/598[10]
#590: https://github.com/cloudberrydb/cloudberrydb/pull/590[11]
#587: https://github.com/cloudberrydb/cloudberrydb/pull/587[12]
#585: https://github.com/cloudberrydb/cloudberrydb/pull/585[13]
#584: https://github.com/cloudberrydb/cloudberrydb/pull/584[14]
#581: https://github.com/cloudberrydb/cloudberrydb/pull/581[15]
#579: https://github.com/cloudberrydb/cloudberrydb/pull/579[16]
#578: https://github.com/cloudberrydb/cloudberrydb/pull/578[17]
#577: https://github.com/cloudberrydb/cloudberrydb/pull/577[18]
#576: https://github.com/cloudberrydb/cloudberrydb/pull/576[19]
#574: https://github.com/cloudberrydb/cloudberrydb/pull/574[20]
#572: https://github.com/cloudberrydb/cloudberrydb/pull/572[21]
#571: https://github.com/cloudberrydb/cloudberrydb/pull/571[22]
#570: https://github.com/cloudberrydb/cloudberrydb/pull/570[23]
#566: https://github.com/cloudberrydb/cloudberrydb/pull/566[24]
#565: https://github.com/cloudberrydb/cloudberrydb/pull/565[25]
#564: https://github.com/cloudberrydb/cloudberrydb/pull/564[26]
#563: https://github.com/cloudberrydb/cloudberrydb/pull/563[27]
#562: https://github.com/cloudberrydb/cloudberrydb/pull/562[28]
#560: https://github.com/cloudberrydb/cloudberrydb/pull/560[29]
#556: https://github.com/cloudberrydb/cloudberrydb/pull/556[30]
#554: https://github.com/cloudberrydb/cloudberrydb/pull/554[31]
#553: https://github.com/cloudberrydb/cloudberrydb/pull/553[32]
#551: https://github.com/cloudberrydb/cloudberrydb/pull/551[33]
#550: https://github.com/cloudberrydb/cloudberrydb/pull/550[34]
#609: https://github.com/cloudberrydb/cloudberrydb/issues/609[35]
#607: https://github.com/cloudberrydb/cloudberrydb/issues/607[36]
#605: https://github.com/cloudberrydb/cloudberrydb/issues/605[37]
#596: https://github.com/cloudberrydb/cloudberrydb/issues/596[38]
#595: https://github.com/cloudberrydb/cloudberrydb/issues/595[39]
#594: https://github.com/cloudberrydb/cloudberrydb/issues/594[40]
#593: https://github.com/cloudberrydb/cloudberrydb/issues/593[41]
#586: https://github.com/cloudberrydb/cloudberrydb/issues/586[42]
#583: https://github.com/cloudberrydb/cloudberrydb/issues/583[43]
#582: https://github.com/cloudberrydb/cloudberrydb/issues/582[44]
#580: https://github.com/cloudberrydb/cloudberrydb/issues/580[45]
#558: https://github.com/cloudberrydb/cloudberrydb/issues/558[46]
#557: https://github.com/cloudberrydb/cloudberrydb/issues/557[47]
#555: https://github.com/cloudberrydb/cloudberrydb/issues/555[48]
#552: https://github.com/cloudberrydb/cloudberrydb/issues/552[49]
#614: https://github.com/orgs/cloudberrydb/discussions/614[50]
#612: https://github.com/orgs/cloudberrydb/discussions/612[51]
#592: https://github.com/orgs/cloudberrydb/discussions/592[52]
#591: https://github.com/orgs/cloudberrydb/discussions/591[53]
#559: https://github.com/orgs/cloudberrydb/discussions/559[54]
#597: https://github.com/orgs/cloudberrydb/discussions/597[55]
#561: https://github.com/orgs/cloudberrydb/discussions/561[56]
#610: https://github.com/orgs/cloudberrydb/discussions/610[57]
《贡献指南》: https://cloudberrydb.org/contribute[58]
支持页面: https://cloudberrydb.org/support
👇🏻️扫码加入 Cloudberry Database 交流群👇🏻️





