2016-07-18 64 views
22

我在CentOS的工作釋放6.8(最終)基於服務器沒有sudo的訪問。我編的PostgreSQL V9.6 Beta 2中PostgreSQL的錯誤:列am.amcanorder不存在

在我使用螞蟻加載數據,我得到am.amcanorder列不存在錯誤,我不知道如何解決。

我下面的教程設置Intermine數據倉庫系統,我就this step


ant -Dsource=uniprot-malaria -v 

這將需要幾分鐘來完成的,該命令運行 以下步驟:

  • 檢查與名稱UNIPROT瘧疾源project.xml中
  • 存在
  • 在讀取由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) 
+0

@ErwinBrandstetter更新,但我認爲這個問題是PostgreSQL的本身,而不是我跑的代碼... – player87

+1

這是一個Postgres的錯誤消息是肯定的。 'amcanorder'列在'am'表中找不到。不過,我不明白爲什麼。 –

+0

是的,我找不到任何真實的信息,至少不是我所知道的。如果我以某種方式通過這個錯誤,會回答我自己的問題。 – player87

回答

11

那麼這個問題是通過編譯目前最新的穩定版本v9.5.3來解決的。以前,我使用的是v9.6beta2 ...在使用JDBC & v9.6beta2時有reported error

36

Player87是正確的,它用9.5替換9.6 *新版本的工作方式。*的PostgreSQL的服務器
但是,還有另一種解決方案。對於Java項目,我也試着離開PostgreSQL的服務器上9.6。*和更新的驅動程序PostgreSQL的,從9.4-1203版本到最新的一個9.4-1211。 在一個maven pom.xml文件:

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

這對我來說工作。

+0

感謝您。工作很好。我不喜歡在我的日誌中報告的非嚴重錯誤。讓我感到不安。 – Spider

+1

移動到最新的驅動程序版本解決了Java的問題。 – croraf

+1

從9.4.1208升級到9.4.1211也適用於我。 –

4

我面臨着同樣的問題與SpringBoot,並通過升級我的司機

春天引導1.4.0解決了這個我剛纔添加下面的相關

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

+1

這是真的,但前提是你的項目是Spring引導的子模塊,因爲它繼承了Spring Boot的依賴關係。此外,不指定版本導致使用最新版本。 – russellhoff

1

對我來說(連接到PostgreSQL從Java/Maven應用程序並面臨相同的錯誤),這是一個驅動程序問題。

將PostgreSQL驅動程序從9.4-1201-jdbc41更新爲42.1.4解決了它。 我的Maven的依賴,現在看起來是這樣的:

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

是的。我面臨同樣的問題,高於版本42.1.4工作正常 –

相關問題