最近才接触到一个用PostgreSQL的项目,然后在开发的过程中发现了这样的一个问题。

错误: 操作符不存在: character = integer

反正还有很多报错的,原因都是类型的转换问题。在mysql中似乎对类型这个概念不是那么敏感,而在PostgreSql中Integer 、Long、Date、String 等等之间转换都会存在操作符不存在的报错。

所以在使用非实体进行数据传输的时候,例如Map等等就需要手动设置数据类型。

Long orgId = (maps.get("orgId") != null && maps.get("orgId").toString().length() > 0) "orgId").toString()) : null;
maps.put("orgId", orgId);

就可以利用maps进行判断后再进行插入修改等操作,Date格式也同理。

补充:PostgreSQL一些简单问题以及解决办法

问题:

org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

解决办法:

Edit /var/lib/pgsql/data/postgresql.conf file

Change
#listen_addresses = 'localhost'
to
listen_addresses = '*'

问题:

org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "<host_ip>", user "fkong", database "fkong", SSL off

解决办法:

Edit /var/lib/pgsql/data/pg_hba.conf file
Add below line under "# IPv4 local connections:"
"host all   all   <host_ip>/32   password"

问题:

org.postgresql.util.PSQLException: FATAL: Ident authentication failed for user "fkong"

解决办法:

Edit /var/lib/pgsql/data/pg_hba.conf file
Change
"host all   all   <host_ip>/32   ident"
to
"host all   all   <host_ip>/32   password"

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。