Błąd intrray Postgresql: niezdefiniowany symbol: pfree
Próbuję zainstalować Postgresql (8.2.15)dodatkowe dostarczone moduły intarray i intagg dla mojej bazy danych Greenplum 4.2.1.0. Instalacja wydaje się udana; Poszedłem za samouczkiemtutaj a wszystkie pliki są kopiowane do katalogu greenplumlib-db-4.2.1.0 / lib / postgresql share / postgresql. ale gdy próbowałem wykonać mój kod java, zgłasza błąd „niezdefiniowany symbol”:
<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>
mówiąc, że symbolpfree jest niezdefiniowane. Sprawdziłem numer wersji: zarówno postgresql w Greenplum, jak i dodatkowy moduł to 8.2.15. Czy czegoś mi brakuje?
Aktualizacja: Link do samouczka wydaje się niestabilny; w zasadzie daje kilka prostych kroków do ukończenia instalacji:
<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>
Aktualizacja: Dziękuję za Twoją odpowiedź.
Instaluję Greenplum, ale zawiera on tylko postgresql 8.2.15, więc muszę użyć tej wersji. Skopiowałem cały katalog / usr / local / pgsql / lib do biblioteki greenplum, wydaje się, że intarray działa, ale teraz mam nowy błąd:
<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>
Wygląda na to, że brakuje mi niektórych plików ...
Dziękuję Ci!