Ошибка PostgreSQL: столбец am.amcanorder не существует

postgresql ant

27387 просмотра

4 ответа

1076 Репутация автора

Я работаю на сервере CentOS версии 6.8 (Final) без доступа sudo. Я скомпилировал PostgreSQL v9.6 beta 2.

Когда я загружаю данные с помощью ant, я получаю, что в столбце am.amcanorder не существует ошибки, которую я не знаю, как исправить.

Я следую учебному пособию по настройке системы хранилищ данных Intermine, и я на этом шаге .


 ant -Dsource=uniprot-malaria -v

Это займет пару минут, команда выполняет следующие шаги:

  • Проверяет, существует ли источник с именем uniprot-malaria в project.xml
  • Читает XML-файлы UniProt в месте, указанном src.data.dir
  • Вызывает синтаксический анализатор, включенный в источник 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)
Автор: player87 Источник Размещён: 18.07.2016 01:49

Ответы (4)


12 плюса

1076 Репутация автора

Решение

Ну, проблема была исправлена ​​путем компиляции v9.5.3, последней стабильной версии на данный момент. Ранее я использовал v9.6beta2 ..., о котором сообщалось об ошибке при работе с JDBC & v9.6beta2.

Автор: player87 Размещён: 18.07.2016 03:49

45 плюса

696 Репутация автора

Player87 прав, он работает, просто заменив более новую версию 9.6 * на 9.5. * Сервера PostgresSQL . Но есть и другое решение. Для проекта Java я также попытался оставить сервер PostgresSQL на версии 9.6. * И обновил драйвер PostgresSQL с версии 9.4-1203 до самой новой версии 9.4-1211. В файле maven pom.xml:

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

Это сработало и для меня.

Автор: ancab Размещён: 27.10.2016 12:40

7 плюса

844 Репутация автора

Я столкнулся с той же проблемой с SpringBoot и решил эту проблему путем обновления драйвера

Для Spring Boot 1.4.0 я просто добавил следующую зависимость

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

Автор: Naga Srinu Kapusetti Размещён: 12.12.2016 07:48

10 плюса

546 Репутация автора

Для меня (подключение к 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>
Автор: GreenTurtle Размещён: 07.09.2017 10:36
Вопросы из категории :
32x32