Fabien Carrion created HIVE-24826:
-------------------------------------

             Summary: PSQLException when trying to create an external table on 
postgresql and not the default schema
                 Key: HIVE-24826
                 URL: https://issues.apache.org/jira/browse/HIVE-24826
             Project: Hive
          Issue Type: Bug
          Components: JDBC storage handler
            Reporter: Fabien Carrion


I was receiving a psql exception indicating the table doesnt exist while 
creating an external table which points on a postgresql table which is not in 
the default schema like this:

{color:#172b4d}{{CREATE EXTERNAL TABLE test (test_id int, test_id2 int, name 
string) STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler' 
TBLPROPERTIES ("hive.sql.database.type" = "POSTGRES", "hive.sql.jdbc.driver" = 
"org.postgresql.Driver", "hive.sql.jdbc.url" = 
"jdbc:postgresql://192.168.0.1:5432/test", "hive.sql.dbcp.username" = "test", 
"hive.sql.dbcp.password" = "*****", "hive.sql.schema" = "hive_imports", 
"hive.sql.table" = "test", "external.table.purge" = "false");}}{color}

 

 

{color:#172b4d}The exact Exception is{color}

{color:#172b4d}{{org.postgresql.util.PSQLException: ERROR: relation "test" does 
not exist
  Position: 15
        at 
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2284)
 ~[postgresql-9.4.1208.jre7.jar:9.4.1208.jre7]
        at 
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2003)
 ~[postgresql-9.4.1208.jre7.jar:9.4.1208.jre7]
        at 
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:200) 
~[postgresql-9.4.1208.jre7.jar:9.4.1208.jre7]
        at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:424) 
~[postgresql-9.4.1208.jre7.jar:9.4.1208.jre7]
        at 
org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:161)
 ~[postgresql-9.4.1208.jre7.jar:9.4.1208.jre7]
        at 
org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:114)
 ~[postgresql-9.4.1208.jre7.jar:9.4.1208.jre7]
        at 
org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:122)
 ~[commons-dbcp2-2.5.0.jar:2.5.0]
        at 
org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:122)
 ~[commons-dbcp2-2.5.0.jar:2.5.0]
        at 
org.apache.hive.storage.jdbc.dao.GenericJdbcDatabaseAccessor.getColumnNames(GenericJdbcDatabaseAccessor.java:81)
 ~[hive-jdbc-handler-3.1.0.3.1.4.0-315.jar:4.0.0-SNAPSHOT]
        at 
org.apache.hive.storage.jdbc.JdbcSerDe.initialize(JdbcSerDe.java:102) 
~[hive-jdbc-handler-3.1.0.3.1.4.0-315.jar:4.0.0-SNAPSHOT]
        at 
org.apache.hadoop.hive.serde2.AbstractSerDe.initialize(AbstractSerDe.java:54) 
~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315]
        at 
org.apache.hadoop.hive.serde2.SerDeUtils.initializeSerDe(SerDeUtils.java:540) 
~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315]
        at 
org.apache.hadoop.hive.metastore.HiveMetaStoreUtils.getDeserializer(HiveMetaStoreUtils.java:90)
 ~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315]}}{color}

 

{color:#172b4d}In the patch I just check if there is a schema indicated in the 
definition of the table. In the case there is, it used it to make the metadata 
discovery queries.{{}}{color}

 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to