好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PostgreSQL报错 解决操作符不存在的问题

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

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

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

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

?

1

2

Long orgId = (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: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

解决办法:

?

1

2

3

4

5

6

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

解决办法:

?

1

2

3

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"

解决办法:

?

1

2

3

4

5

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"

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

原文链接:https://blog.csdn.net/WINGZINGLIU/article/details/93487731

查看更多关于PostgreSQL报错 解决操作符不存在的问题的详细内容...

  阅读:46次