PostgreSQL ERROR: invalid escape string 解決辦法
今天有同事在配置PostgreSQL為Hive元數(shù)據(jù)庫后,運(yùn)行Hive SQL時(shí)遇到以下報(bào)錯(cuò)信息:
Caused by: MetaException(message:Got exception: org.apache.hadoop.hive.metastore.api.MetaException javax.jdo.JDODataStoreException: Error executing JDOQL query “SELECT “THIS”.”NAME” AS NUCORDER0 FROM “DBS” “THIS” WHERE (LOWER(“THIS”.”NAME”) LIKE ? ESCAPE ‘\\' ) ORDER BY NUCORDER0 ” : ERROR: invalid escape string
Hint: Escape string must be empty or one character..
錯(cuò)誤信息很清楚,ESCAPE ‘\\'這里,引號(hào)內(nèi)只能為一個(gè)字符,而不能是兩個(gè)\。解決的辦法很簡單,將該JDBC用戶的連接session屬性standard_conforming_strings設(shè)置為off即可。
ALTER ROLE xx IN DATABASE yy SET standard_conforming_strings TO off;
錯(cuò)誤原因說明
早期PG普通字符串中的'\'是作為轉(zhuǎn)義字符對待的,所以'\\'最終會(huì)認(rèn)為是'\'。但是這是不符合SQL標(biāo)準(zhǔn)的,所以在PG 9.1及以后,普通字符串中的\不會(huì)被任務(wù)是轉(zhuǎn)義字符,而E'xx\x'中的\才會(huì)被當(dāng)作是轉(zhuǎn)義字符。為了使以前的代碼可以在新的PG版本中運(yùn)行,便有了standard_conforming_strings這個(gè)選項(xiàng),這個(gè)選項(xiàng)默認(rèn)是on,表示按照SQL標(biāo)準(zhǔn)處理字符串,當(dāng)設(shè)置為off時(shí),按照PG的舊版本處理字符串。
相關(guān)文章
Ubuntu中卸載Postgresql出錯(cuò)的解決方法
這篇文章主要給大家介紹了關(guān)于在Ubuntu中卸載Postgresql出錯(cuò)的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09PostgreSQL用戶、數(shù)據(jù)庫及表的管理、操作與授權(quán)方式
這篇文章主要介紹了PostgreSQL用戶、數(shù)據(jù)庫及表的管理、操作與授權(quán)操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01PostgreSQL13基于流復(fù)制搭建后備服務(wù)器的方法
這篇文章主要介紹了PostgreSQL13基于流復(fù)制搭建后備服務(wù)器,后備服務(wù)器作為主服務(wù)器的數(shù)據(jù)備份,可以保障數(shù)據(jù)不丟,而且在主服務(wù)器發(fā)生故障后可以提升為主服務(wù)器繼續(xù)提供服務(wù)。需要的朋友可以參考下2022-01-01PostgreSQL 實(shí)現(xiàn)給查詢列表增加序號(hào)操作
這篇文章主要介紹了PostgreSQL 實(shí)現(xiàn)給查詢列表增加序號(hào)操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01PostgreSQL報(bào)錯(cuò) 解決操作符不存在的問題
這篇文章主要介紹了PostgreSQL報(bào)錯(cuò) 解決操作符不存在的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01PostgreSql新手必學(xué)入門命令小結(jié)
這篇文章主要介紹了PostgreSql新手必學(xué)入門命令小結(jié),本文講解了命令行登錄數(shù)據(jù)庫、查看幫助、常用命令等內(nèi)容,需要的朋友可以參考下2015-02-02postgresql 中的加密擴(kuò)展插件pgcrypto用法說明
這篇文章主要介紹了postgresql 中的加密擴(kuò)展插件pgcrypto用法說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01