You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Shreepadma Venugopalan (JIRA)" <ji...@apache.org> on 2013/02/08 01:47:13 UTC

[jira] [Commented] (HIVE-3994) Hive metastore is not working on PostgreSQL 9.2 (most likely on anything 9.0+)

    [ https://issues.apache.org/jira/browse/HIVE-3994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13574113#comment-13574113 ] 

Shreepadma Venugopalan commented on HIVE-3994:
----------------------------------------------

This problem appears in postgres 9.x because standard conforming strings were turned on by default starting 9.x. More here - http://wiki.postgresql.org/wiki/What%27s_new_in_PostgreSQL_9.1#Backward_compatibility_issues. One fix for this issue is to set standard_conforming_string to off when setting up hive metastore on postgres.
                
> Hive metastore is not working on PostgreSQL 9.2 (most likely on anything 9.0+)
> ------------------------------------------------------------------------------
>
>                 Key: HIVE-3994
>                 URL: https://issues.apache.org/jira/browse/HIVE-3994
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Jarek Jarcec Cecho
>
> I'm getting following exception when running metastore on PostgreSQL 9.2:
> {code}
> Caused by: javax.jdo.JDODataStoreException: Error executing JDOQL query "SELECT "THIS"."TBL_NAME" AS NUCORDER0 FROM "TBLS" "THIS" LEFT OUTER JOIN "DBS" "THIS_DATABASE_NAME" ON "THIS"."DB_ID" = "THIS_DATABASE_NAME"."DB_ID" WHERE "THIS_DATABASE_NAME"."NAME" = ? AND (LOWER("THIS"."TBL_NAME") LIKE ? ESCAPE '\\' ) ORDER BY NUCORDER0 " : ERROR: invalid escape string
>   Hint: Escape string must be empty or one character..
> NestedThrowables:
> org.postgresql.util.PSQLException: ERROR: invalid escape string
>   Hint: Escape string must be empty or one character.
>         at org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:313)
>         at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:252)
>         at org.apache.hadoop.hive.metastore.ObjectStore.getTables(ObjectStore.java:759)
>         ... 28 more
> Caused by: org.postgresql.util.PSQLException: ERROR: invalid escape string
>   Hint: Escape string must be empty or one character.
>         at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2096)
>         at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1829)
>         at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
>         at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:510)
>         at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:386)
>         at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:271)
>         at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
>         at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
>         at org.datanucleus.store.rdbms.SQLController.executeStatementQuery(SQLController.java:457)
>         at org.datanucleus.store.rdbms.query.legacy.SQLEvaluator.evaluate(SQLEvaluator.java:123)
>         at org.datanucleus.store.rdbms.query.legacy.JDOQLQuery.performExecute(JDOQLQuery.java:288)
>         at org.datanucleus.store.query.Query.executeQuery(Query.java:1657)
>         at org.datanucleus.store.rdbms.query.legacy.JDOQLQuery.executeQuery(JDOQLQuery.java:245)
>         at org.datanucleus.store.query.Query.executeWithArray(Query.java:1499)
>         at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:243)
>         ... 29 more
> {code}
> I've google a bit about that and I found a lot of similar issues in different projects thus I'm assuming that this might be some backward compatibility issue on PostgreSQL side.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira