PostgreSQL 11 和 12 的 PL/Java 替代方案是啥?
Posted
技术标签:
【中文标题】PostgreSQL 11 和 12 的 PL/Java 替代方案是啥?【英文标题】:What is the alternative of PL/Java for PostgreSQL 11 and 12?PostgreSQL 11 和 12 的 PL/Java 替代方案是什么? 【发布时间】:2021-09-15 16:28:22 【问题描述】:了解来自:https://www.enterprisedb.com/edb-docs/d/edb-postgres-advanced-server/user-guides/user-guide/11/EDB_Postgres_Advanced_Server_Guide.1.80.html
PL/Java 在 Advanced Server 11 中已弃用,将在服务器版本 12 或更高版本中不可用。
请问:
-
在 PostgreSQL12 中推荐的 PL/Java 替代品是什么?
对于我在 PostgreSQL 9.6.x 等中使用 PL/Java 的现有 UDF,我如何才能迁移到 PostgreSQL 12?
提前致谢。
【问题讨论】:
【参考方案1】:编辑:想想看,2020 年 9 月 (PL/Java issue 260) 报告了一个关于未能针对 EDB PostgreSQL 11 构建的问题。事实证明,EDB 对上游 PostgreSQL 进行了 API 破坏性更改,通过更改 API 函数并仅留下具有旧名称的宏,而不是可以处理的(可能是 inline
-qualified)包装器。
这最终需要在 PL/Java 中提供特定于 EDB 的解决方法,并且自 PL/Java 1.6.0 和自 PL/Java 1.5 以来已包含该修复程序。 6,均于 2020 年 10 月发布。
很抱歉之前没有看到这个问题。
我维护 PL/Java,我没有收到 EDB 的通知,说明他们为何弃用它。也许他们根本不再提供他们预先构建的二进制包。
我知道 PL/Java 与 PostgreSQL 12 和 13 一起使用。我相信要从源代码构建它以用于 EDB,它应该使用 Visual Studio 构建,遵循these instructions。
如果您能够从 EDB 了解更多关于弃用的信息,或者如果您从源代码构建有任何困难,请随时 open an issue。谢谢!
【讨论】:
以上是关于PostgreSQL 11 和 12 的 PL/Java 替代方案是啥?的主要内容,如果未能解决你的问题,请参考以下文章
PostgreSQL 初始化版本 12 与 11.14 不兼容
Postgresql 8.4 和 BitDefender 11
19-11 新闻:gitlab放弃mysql,仅支持PostgreSQL