【发布时间】:2016-11-20 12:31:31
【问题描述】:
我正在开发基于 CentOS 版本 6.8(最终版)的服务器,但没有 sudo 访问权限。我编译了 PostgreSQL v9.6 beta 2。
当我使用 ant 加载数据时,我得到 am.amcanorder column doesn't exist 错误,我不知道如何解决。
我正在按照教程设置 Intermine 数据仓库系统,我在 this step。
ant -Dsource=uniprot-malaria -v
这需要几分钟才能完成,命令运行 以下步骤:
- 检查 project.xml 中是否存在名为 uniprot-malaria 的源
- 在 src.data.dir 指定的位置读取 UniProt XML 文件
- 调用包含在 uniprot 源中的解析器,其列表为 文件,这会读取原始 XML 并创建项目 将被加载到 疟疾胺数据库。
- 这些项目存储在中间项目数据库中。读取自 项目数据库,将项目转换为对象并将它们加载到 疟疾胺数据库。
粗体部分是(在我看来)导致错误的原因。相关的详细错误是:
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)
【问题讨论】:
-
@ErwinBrandstetter 已更新,尽管我认为问题出在 postgresql 本身而不是我正在运行的代码...
-
这肯定是 Postgres 错误消息。在表
am中找不到列amcanorder。不过,我不知道为什么。 -
是的,我找不到任何真实的信息,至少不是我所理解的。如果我以某种方式克服了这个错误,我会回答我自己的问题。
-
您能检查一下
am表是否存在吗?如果没有,是否有另一个表包含 amcanorder 列?可能表名已更新,但初始化代码/脚本未更新。 -
JDBC 驱动程序的更新已作为拉取请求合并到 intermine(这是 OP 正在谈论的软件),因此该问题应在上游修复 github.com/intermine/intermine/pull/1475
标签: postgresql ant