PostgreSQL报错 解决操作符不存在的问题
最近才接触到一个用PostgreSQL的项目,然后在开发的过程中发现了这样的一个问题。
错误:操作符不存在:character=integer
反正还有很多报错的,原因都是类型的转换问题。在mysql中似乎对类型这个概念不是那么敏感,而在PostgreSql中Integer、Long、Date、String等等之间转换都会存在操作符不存在的报错。
所以在使用非实体进行数据传输的时候,例如Map等等就需要手动设置数据类型。
LongorgId=(maps.get("orgId")!=null&&maps.get("orgId").toString().length()>0)?Long.valueOf(maps.get("orgId").toString()):null; maps.put("orgId",orgId);
就可以利用maps进行判断后再进行插入修改等操作,Date格式也同理。
补充:PostgreSQL一些简单问题以及解决办法
问题:
org.postgresql.util.PSQLException:Connectionrefused.CheckthatthehostnameandportarecorrectandthatthepostmasterisacceptingTCP/IPconnections.
解决办法:
Edit/var/lib/pgsql/data/postgresql.conffile Change #listen_addresses='localhost' to listen_addresses='*'
问题:
org.postgresql.util.PSQLException:FATAL:nopg_hba.confentryforhost"
",user"fkong",database"fkong",SSLoff
解决办法:
Edit/var/lib/pgsql/data/pg_hba.conffile Addbelowlineunder"#IPv4localconnections:" "hostallall/32password"
问题:
org.postgresql.util.PSQLException:FATAL:Identauthenticationfailedforuser"fkong"
解决办法:
Edit/var/lib/pgsql/data/pg_hba.conffile Change "hostallall/32ident" to "hostallall /32password"
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。