我正在工作的CentOS版本6.8 (最终)的服务器没有sudo访问。我编译了PostgreSQL v9.6beta2。
当我使用ant加载数据时,我得到am.amcanorder列不存在我不知道如何修复的错误。
我正在学习一个教程来设置Intermine数据仓库系统,我在此step..。
ant -Dsource=uniprot-malaria -v
这将需要几分钟才能完成,该命令将运行以下步骤:
检查project.xml中是否存在名为uniprot-malaria的源
在src.data.dir指定的位置读取UniProt XML文件
使用文件列表调用uniprot源中包含的解析器,这将读取原始XML并创建项目,这些项目是将加载到malariamine数据库中的对象的元数据表示。
这些项存储在中间项数据库中。从项目数据库读取,将项目转换为对象并将其加载到malariamine数据库中..。
粗体部分是(在我看来)导致错误的原因。相关的错误详细信息为:
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)
发布于 2016-07-18 11:49:37
这个问题是通过编译v9.5.3修复的,V9.5.3是目前最新的稳定版本。之前,我使用的是v9.6beta2 ...它有一个
报告的error](https://www.postgresql.org/message-id/CAB%3DJe-FUuFi0jUi4BCiTi5WuguJLgek%3Dk2nt6LkZ8GfghVQbwQ%40mail.gmail.com) 当使用JDBC和v9.6beta2时。
发布于 2016-10-27 20:40:20
Player87是对的,它只需替换较新的版本9.6即可工作*9.5.*的PostgresSQL服务器..。
但是,还有另一种解决方案。对于Java项目,我也尝试过离开PostgresSQL服务器在9.6。*并更新了PostgresSQL驱动程序,从版本9.4-1203升级到最新版本9.4-1211。在maven pom.xml文件中:
9.4.1211
这对我也很有效。
发布于 2017-09-07 18:36:21
对我来说(从Java/Maven应用程序连接到PostgreSQL并面临同样的错误),这是一个驱动程序问题。
将PostgreSQL驱动程序从9.4-1201-jdbc41更新到42.1.4解决了这个问题。我的Maven依赖项现在看起来像这样:
org.postgresql
postgresql
42.1.4
https://stackoverflow.com/questions/38427585
复制相似问题