开发者社区> 问答> 正文

连接gaussdb时部分函数不支持

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

展开
收起
山海行 2023-07-05 17:59:53 188 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在连接 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 命令代替。

    2023-07-30 21:10:17
    赞同 展开评论 打赏
  • 暂无计划

    原回答者GitHub用户kimmking

    2023-07-06 10:38:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载