最近才接觸到一個(gè)用PostgreSQL的項(xiàng)目,然后在開(kāi)發(fā)的過(guò)程中發(fā)現(xiàn)了這樣的一個(gè)問(wèn)題。
錯(cuò)誤: 操作符不存在: character = integer
反正還有很多報(bào)錯(cuò)的,原因都是類型的轉(zhuǎn)換問(wèn)題。在mysql中似乎對(duì)類型這個(gè)概念不是那么敏感,而在PostgreSql中Integer 、Long、Date、String 等等之間轉(zhuǎn)換都會(huì)存在操作符不存在的報(bào)錯(cuò)。
所以在使用非實(shí)體進(jìn)行數(shù)據(jù)傳輸?shù)臅r(shí)候,例如Map等等就需要手動(dòng)設(shè)置數(shù)據(jù)類型。
Long orgId = (maps.get("orgId") != null maps.get("orgId").toString().length() > 0) ? Long.valueOf(maps.get("orgId").toString()) : null;
maps.put("orgId", orgId);
就可以利用maps進(jìn)行判斷后再進(jìn)行插入修改等操作,Date格式也同理。
補(bǔ)充:PostgreSQL一些簡(jiǎn)單問(wèn)題以及解決辦法
問(wèn)題:
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 = '*'
問(wèn)題:
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"
問(wèn)題:
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"
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- Postgresql 賦予用戶權(quán)限和撤銷權(quán)限的實(shí)例
- postgresql限制某個(gè)用戶僅連接某一個(gè)數(shù)據(jù)庫(kù)的操作
- PostgreSQL用戶、數(shù)據(jù)庫(kù)及表的管理、操作與授權(quán)方式
- PostgreSQL 實(shí)現(xiàn)快速刪除一個(gè)用戶
- PostgreSQL 自定義自動(dòng)類型轉(zhuǎn)換操作(CAST)
- postgresql 賦權(quán)語(yǔ)句 grant的正確使用說(shuō)明