Ruoyi从mysql切换到postgresql的几个坑

这篇具有很好参考价值的文章主要介绍了Ruoyi从mysql切换到postgresql的几个坑。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

因为工程应用需要,需要将ruoyi的数据库支持从mysql切换到postgresql。网上也有一些开源的demo或者已经集成好的框架说明已经将数据库进行了切换。本文将简单介绍在进行数据库切换时,可能会遇到的几个问题,以及怎么解决。

虽然同为关系型数据库,但mysql和postgresql在sql的兼容性方面不是很好,mysql支持的语法在postgresql中很多是不认识的。

闲言少叙,下面进入正文。

一、在pom.xml文件中将mysql的依赖jar包替换成postgresql的。

<dependency>    <groupId>org.postgresql</groupId>    <artifactId>postgresql</artifactId></dependency>

二、mybatis-plus或者分页插件数据库类别支持。

Ruoyi从mysql切换到postgresql的几个坑 上面两个地方红框中的字符都要替换掉。

三、数据库连接池要做相应调整

Ruoyi从mysql切换到postgresql的几个坑

四、自动任务依赖,如果您开启了quartz组件,请记得打开以下注释

//pg启用特殊配置,否则会报错  update by wuzuhu on 20181224//prop.put("org.quartz.jobStore.driverDelegateClass", "org.quartz.impl.jdbcjobstore.PostgreSQLDelegate");

五、在所有的Mapper.xml配置文件中,找到有sysdate()的函数,需要替换成now()函数。

六、所有带日期查询函数需要替换成如下的代码:

Ruoyi从mysql切换到postgresql的几个坑

七、mysql find_in_set()函数可以使用ANY()方案。比如:

#{deptId} || '' = ANY(STRING_TO_ARRAY(ancestors, ','))

  Ruoyi从mysql切换到postgresql的几个坑

总结:通过以上步骤基本可以完成ruoyi的数据库从mysql切换到postgresql,希望可以帮助到你。如果您有更好的迁移方案,欢迎留言交流。文章来源地址https://www.toymoban.com/news/detail-440295.html

到了这里,关于Ruoyi从mysql切换到postgresql的几个坑的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • postgresql 手动清理wal日志的101个坑

           新年的第一天,总结下去年遇到的关于WAL日志清理的101个坑,以及如何相对安全地进行清理。前面是关于WAL日志堆积的原因分析,清理相关可以直接看第三部分。         首先说明,手动清理wal日志是一个高风险的操作,尤其对于带主从的生产大库,能不用尽量不要

    2024年02月20日
    浏览(34)
  • 功能强大的PostgreSQL没有MySQL流行的10个原因,你知道几个?

    以下内容是根据玖章算术CEO叶正盛在「3306π 数据库朋友圈」技术演讲整理。文末附完整的PPT下载链接! MySQL与PostgreSQL都是非常优秀并且非常成功的数据库,PostgreSQL的功能比MySQL强大,但是依然没有MySQL流行,作者从产品功能、技术架构、生态、品牌商业几方面来分析原因。

    2024年02月07日
    浏览(49)
  • 快速实现数据库的转换,如从Mysql切换到Postgresql【含gif】

    因为项目的需要,需要将使用的数据库A从Mysql切换到Postgresql并且合并到同一个数据库B中。 使用 Navicat 15的【逆向表到模型】功能,可以快速将Mysql表转为Postgresql表(数据+表结构),而且支持多表的转换。 * 注意到一个小细节: Navicat 15【多表选择】时不能在左侧[导航栏]直接

    2024年02月11日
    浏览(41)
  • IO的几个模型

    说到I/O模型,都会牵扯到同步、异步、阻塞、非阻塞这几个词,以下讲解这几个词的概念。 阻塞和非阻塞 阻塞和非阻塞指的是一直等还是可以去做其他事。 阻塞(一直等水烧开)(blocking): 调用结果返回之前,调用者被挂起(当前线程进入非可执行状态,在这个状态,CPU不

    2024年02月12日
    浏览(45)
  • 赋的几个发展阶段

    赋,起源于战国,形成于汉代,是由楚辞衍化出来的 ,也继承了《诗经》讽刺的传统。关于诗和赋的区别,晋代文学家陆机在《文赋》里曾说: 诗缘情而绮靡,赋体物而浏亮。 也就是说,诗是用来抒发主观感情的,要写得华丽而细腻;赋是用来描绘客观事物的,要写得爽朗而

    2024年02月07日
    浏览(64)
  • 【PostgreSQL】几个提高性能的小特性

    在PostgreSQL里,LOCALE默认使用C的本地化规则。LOCALE是一种文化偏好的区域设置,包括字母表、排序、数字格式等。 LOCALE里有一个比较重要的规则LC_COLLATE,即排序方式(Collation),它会对数据库行为有显著影响。 当数据库里运行一个like查询,DB上使用非C LOCALE,普通索引可能不支

    2024年02月13日
    浏览(42)
  • SQL中的几个区别

    1:几种JOIN连接方式的区别? 2:几种排序窗口函数的区别? 3:on和where的区别? 4:having和where的区别? 5:union和union all的区别? 6:in和exists的区别? 7:数据库中空字符串、0和NULL的区别? 8:count(1)、count(*)和count(列名)的区别? 1- 几种JOIN连接方式的区别? INNER JOIN(内连

    2024年01月19日
    浏览(34)
  • SQL调优的几个方法

    1.为什么调优,好处是什么?  SQL语句在编写之后,对于数据量较少的表基本没有什么性能上的需求,但是如果考虑到性能方面的话,SQL语句优化就是必须的。 2.如何调优?调有点方法有哪些?   1、对查询进行优化,应尽量避免全表扫描,首先考虑在where及order by上建立索引

    2024年02月16日
    浏览(42)
  • 动态规划的几个经典问题

    矩阵链加括号问题 【问题描述】 给定 n 个矩阵 A1, A2 ,…, An,  其中 Ai 与 Ai+1 是可乘的 ,  计算这 n 个矩阵的连乘积 A1A2…An 。 用加括号的方法表示矩阵连乘的次序。 【输入形式】 输入有2行,第1行输入一个整数n,第2行输入n个矩阵的维度值p0,p1,...,pn 【输出形式】 输出分3部

    2024年04月10日
    浏览(80)
  • 我的ChatGPT的几个使用场景

    这里展示了一个完整的代码,修正,然后最终输出的过程。GPT具备足够丰富的相关的小型代码生成能力,语法能力也足够好。 这类应用场景,在我的GPT使用中,能占到65%以上 。我也推荐一些朋友用GPT写Excel公式之类的。 Python我刚刚用了大概2个月,现在的代码编写能力,如果

    2024年02月06日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包