数据源从Oracle换成Postgre

前言

近期项目数据源需要从Oracle换成postgre,遇到的问题记录下来。

  • 添加依赖
<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
</dependency>
  • maven 配置
<datasource.url>jdbc:postgresql://127.0.0.1:5432/数据库名?userSSL=false</datasource. url>
<datasource. username>用户</datasource.username>
<datasource. password>密码</datasource.password>
  • 配置文件
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.datasource.platform=postgres
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=@datasource.url@
spring.datasource.username=@datasource.username@
spring.datasource.password=@datasource.password@
spring.jpa.properties.hibernate.default_schema=emg
  • PSQLException: 错误: 关系 "dual" 不存在 ----因为postgre中没有dual这个辅助表,为了保证项目的正常运行(因为项目中配置有效连接测试用的dual表) 需要创建一个伪视图dual来代替:

  

 CREATE OR REPLACE VIEW dual AS
    SELECT NULL::"unknown"
    WHERE 1 = 1;
    ALTER TABLE dual OWNER TO postgres;
    GRANT ALL ON TABLE dual TO postgres;
    GRANT SELECT ON TABLE dual TO public;
    必须授权public 以select 权限
  • 此外还要注意两种数据库SQL函数的差异......

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值