PostgreSQL错误:列am.amcanorder不存在

时间:2016-07-18 01:49:12

标签: postgresql ant

我正在使用没有sudo访问权限的CentOS 6.8版(最终版)服务器。我编译了PostgreSQL v9.6 beta 2。

当我使用ant加载数据时,我得到 am.amcanorder列不存在错误,我不知道如何修复。

我正在按照教程设置Intermine数据仓库系统,我在this step

 ant -Dsource=uniprot-malaria -v

这需要几分钟才能完成,命令会运行    以下步骤:

  • 检查project.xml中是否存在名为uniprot-malaria的来源
  • 在src.data.dir
  • 指定的位置读取UniProt XML文件
  • 使用列表来调用uniprot源中包含的解析器 文件,这将读取原始XML并创建其中的项目 将加载到的对象的元数据表示 疟原虫数据库。
  • 这些项目存储在中间项目数据库中。阅读 items数据库,将项目转换为对象并将其加载到 疟原虫数据库

粗体部分是(在我看来)导致错误的部分。相关错误详见:

org.postgresql.util.PSQLException: ERROR: column am.amcanorder does not exist
  Position: 407
        at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2161)
        at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1890)
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:559)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:403)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:283)
        at org.postgresql.jdbc2.AbstractJdbc2DatabaseMetaData.getIndexInfo(AbstractJdbc2DatabaseMetaData.java:4234)
        at org.intermine.task.CreateIndexesTask.execute(CreateIndexesTask.java:212)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)

5 个答案:

答案 0 :(得分:42)

Player87是正确的,只需用9.5。*的 PostgresSQL 服务器替换新版本9.6 *即可。 但是,还有另一种解决方案。对于Java项目,我还尝试在9.6。*上保留 PostgresSQL 服务器,并更新了PostgresSQL驱动程序,从版本9.4-1203到最新的9.4-1211。 在maven pom.xml文件中:

<postgresql.version>9.4.1211</postgresql.version>

这也适合我。

答案 1 :(得分:12)

这个问题是通过编译v9.5.3来解决的,这是目前最新的稳定版本。以前,我使用的是v9.6beta2 ...在使用JDBC和amp;时使用reported error。 v9.6beta2。

答案 2 :(得分:8)

对我来说(从Java / Maven应用程序连接到PostgreSQL并面临同样的错误)这是一个驱动程序问题。

将PostgreSQL驱动程序从9.4-1201-jdbc41更新到42.1.4解决了它。 我的Maven依赖现在看起来像这样:

    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>42.1.4</version>
    </dependency>

答案 3 :(得分:7)

我遇到了与SpringBoot相同的问题,并通过升级我的驱动程序解决了这个问题

对于Spring Boot 1.4.0,我刚刚添加了以下依赖项

<dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> </dependency>

答案 4 :(得分:0)

就我而言,我使用的是 PostgreSQL 驱动程序 (9.4.1204) 并且与 hive 外部元存储不兼容。替换为 https://jdbc.postgresql.org/download.html 的最新版本后工作。