海量数据库使用/PostgreSQL
背景:项目中直接使用海量数据库 Vastbase G100, 平替Oracle业务 。
一、程序修改
海量数据库,使用:pg的二次开发,C#和Java都可以使用, PG的驱动。
java语言海量驱动
海量数据库驱动,有两种,一种完全兼容PG的驱动 2.11p,一种包名完全重写的版本2.11v。
- 驱动1:org.postgresql.Driver
- https://mvnrepository.com/artifact/cn.com.vastdata/vastbase-jdbc
- 驱动2:org.postgresql.Driver
<dependency>
<groupId>cn.com.vastdata</groupId>
<artifactId>vastbase-jdbc</artifactId>
<version>${vastbase.version}</version>
</dependency>
C#驱动
二、SQL语法
2.1 blob字段,如何转成字符串
select encode(decode(a.report_file::text, 'hex'), 'escape') as url_text from pmr_dis.th_drug_sensitie a;
三、pg数据库常见报错
3.1、字段长度不够:Error updating database. Cause: org.postgresql.util.PSQLException: ERROR: value too long for type character varying(30)\n 在位置:referenced column: range
含义:字段是range长度不够,目前是是30,需要增加长度。
3.2、Oracle 正常SQL的 Vastbase Data Studio下面报错
https://uutool.cn/symbol-convert/
vds 不支持中午标点符号,因此SQL需要先进行 字符,英文转中文
3.3、Oracle下面的SQL在pg下面会被转义
decode