Вопрос по postgresql – Postgresql intarray ошибка: неопределенный символ: pfree

0

Я пытаюсь установить Postgresql (8.2.15)дополнительные поставляемые модули intarray и intagg для моей базы данных Greenplum 4.2.1.0. Установка кажется успешной; Я следовал за учебникомВот и все файлы копируются в директорию greenplumlib-db-4.2.1.0 / lib / postgresql share / postgresql. но когда я пытался выполнить свой код Java, он выбрасывает «неопределенный символ» ошибка:

<code>org.postgresql.util.PSQLException: ERROR: could not load library "/usr/local/greenplum-db-4.2.1.0/lib/postgresql/_int.so": /usr/local/greenplum-db-4.2.1.0/lib/postgresql/_int.so: undefined symbol: pfree
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2062)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1795)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:479)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:353)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:345)
at tuffy.db.RDB.execute(RDB.java:354)
at tuffy.db.RDB.resetSchema(RDB.java:700)
at felix.main.Felix.parseFelixQuery(Felix.java:106)
at felix.main.Felix.run(Felix.java:755)
at felix.main.Main.main(Main.java:69)
</code>

говоря, что символpfree не определено Я проверил номер версии: и postgresql в Greenplum, и дополнительный модуль - 8.2.15. Я что-то пропустил?

Update: Ссылка на учебник кажется нестабильной; это в основном дает несколько простых шагов для завершения установки:

<code>Get any of the postgresql 8.2 source package from the official site
su - gpadmin
Unpack the source, then go to ~/postgresql-8.2.xx/contrib/xxx
make USE_PGXS=1 COPT="-Wno-error" install
(Optional for Greenplum MPP) Use gpssh to copy whatever .so file that just get installed       under /usr/local/greenplum-db/lib/postgresql to other nodes
psql -f xxx.sql [DBNAME]
</code>

Update: Thank you for your answer.

Я устанавливаю Greenplum, но он включает только postgresql 8.2.15, поэтому я должен использовать эту версию. Я скопировал весь каталог / usr / local / pgsql / lib в библиотеку greenplum, похоже, что intarray работает, но теперь у меня новая ошибка:

<code>could not load library "/usr/local/greenplum-db-4.2.1.0/lib/postgresql/plpgsql.so":
/usr/local/greenplum-db-4.2.1.0/lib/postgresql/plpgsql.so: undefined symbol: heap_copytuple 
</code>

Кажется, мне не хватает некоторых файлов ...

Спасибо!

Что именно вы скачали откуда, с точки зрения расширения? kgrittn
Я скачал базу данных Greenplumhere и Postgresql 8.2.15here, Но не берите в голову, вместо этого я попробую новейший Postgresql. Спасибо всем за ваши ответы! Yang

Ваш Ответ

1   ответ
2

PostgreSQL 8.2 достиг конца жизни в прошлом году.

Я бы посоветовал перейти на более свежую версию, предпочтительно до текущей версии 9.1, где устанавливается расширение (ранее: «дополнительные поставляемые модули»)INTArray это вопрос:

CREATE EXTENSION intarray;

Руководство поCREATE EXTENSION.

Спасибо за ваш ответ. Смотрите обновление в вопросе в конце .. Yang

Похожие вопросы