WallFilter init 的时候,gaussdb 适配成 postgresql,导致gauss部分函数执行失败
case gaussdb: if (this.config == null) { this.config = new WallConfig("META-INF/druid/wall/postgres"); } this.provider = new PGWallProvider(this.config); break; case db2:
例:
LISTAGG(, ',') WITHIN GROUP SELECT * FROM TABLE START WITH A = A
请问有什么扩展方法可以实现? 谢谢~
原提问者GitHub用户BeiLinYuChen
在连接 GaussDB 数据库时,由于 GaussDB 和 PostgreSQL 的语法和功能存在一定的差异,因此可能会出现某些函数或语句在 GaussDB 上不被支持的情况。以下是一些常见的在 GaussDB 上不支持的 PostgreSQL 函数和语句:
pg_sleep() 函数:在 GaussDB 上不被支持,可以使用 pg_sleep_for() 函数代替。
pg_advisory_lock() 和 pg_advisory_unlock() 函数:在 GaussDB 上不被支持,可以使用 gs_lock_test_and_set() 函数代替。
pg_cancel_backend() 和 pg_terminate_backend() 函数:在 GaussDB 上不被支持,可以使用 gs_kill() 函数代替。
pg_stat_get_activity() 函数:在 GaussDB 上不被支持,可以使用 gs_get_session_info() 函数代替。
UNLOGGED 关键字:在 GaussDB 上不被支持,可以使用 TEMPORARY 关键字代替。
FULL OUTER JOIN 语句:在 GaussDB 上不被支持,可以使用 LEFT JOIN 和 RIGHT JOIN 组合实现。
pg_dump 和 pg_restore 命令:在 GaussDB 上不被支持,可以使用 gs_dump 和 gs_restore 命令代替。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。