私はCentOSリリース6.8(最終)ベースのサーバーでSudoアクセスなしで作業しています。 PostgreSQL v9.6 beta 2をコンパイルしました。
Antを使用してデータをロードすると、修正方法がわからないam.amcanorder列が存在しないエラーが発生します。
Intermineデータウェアハウジングシステムをセットアップするためのチュートリアルに従っており、 このステップ を実行しています。
ant -Dsource=uniprot-malaria -v
これが完了するまでに数分かかります。コマンドは次の手順を実行します。
太字の部分は、(私の意見では)エラーの原因です。関連するエラーの詳細は次のとおりです。
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)
さて、この問題は、現時点で最新の安定バージョンであるv9.5.3をコンパイルすることで修正されました。以前、私はv9.6beta2を使用していました... JDBCとv9.6beta2を使用するときに 報告されたエラー があります。
Player87は正しいです。新しいバージョン9.6 *をPostgresSQLserverの9.5。*に置き換えるだけで機能します。
しかし、別の解決策があります。 Javaプロジェクトについては、PostgresSQLserver on 9.6。* PostgresSQLドライバーをバージョン9.4-1203から最新の9.4-1211に更新しましたmaven pom.xmlファイルで:
<postgresql.version>9.4.1211</postgresql.version>
それも私にとってはうまくいきました。
私にとって(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>
私はSpring Bootで同じ問題に直面し、ドライバーをアップグレードすることでこれを解決しました
Spring Boot 1.4.0では、次の依存関係を追加しました
<dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> </dependency>