PostgreSQL踩坑现场

1.PostgreSQL表名、字段名、别名等大小敏感,默认都会转化成小写形式。如果名字中有大写字母,必须分别添加双引号。在写后台时,注意添加

如表名:TestTable中有个字段名userName
写sql查询时: select "TestTable"."userName" from "TestTable";
后台拼装sql语句时: String sql = "select "TestTable"."userName" from "TestTable"";

2.如果需要将已经创建的表字段,改为自增长,不能使用serial类型(有些客户端软件有bug,会提供这个类型,但是更改会报错)。最好是自己创建sequence,然后设置默认值。

3.在PostgreSQL环境使用WallFilter时,校验很严格,sql传入类型和数据库字段类型必须匹配。

在mysql中可以这样写
String sql = "select * from rock_log_web where id in (?,?) and requestTime >= ?";
List<String> para = Lists.newArrayList();
para.add("1");
para.add("2");
para.add("2018-11-10 10:00:00");
Db.find(sql, para.toArray(new Object[] {}))

在postgresql环境中就不行
id和requestTime的类型必须与数据库类型一致。
原文地址:https://www.cnblogs.com/ZWOLF/p/10504569.html