Postgresql-Intarray-Fehler: undefiniertes Symbol: pfree
Ich versuche, Postgresql (8.2.15) zu installierenzusätzlich mitgelieferte Module intarray und intagg für meine Greenplum-Datenbank 4.2.1.0. Die Installation scheint erfolgreich zu sein. Ich bin dem Tutorial gefolgtHier Alle Dateien werden in das Verzeichnis greenplumlib-db-4.2.1.0 / lib / postgresql share / postgresql kopiert. Als ich jedoch versuchte, meinen Java-Code auszuführen, wurde der Fehler "undefiniertes Symbol" ausgegeben:
<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>
sagen, dass das Symbolpfree ist nicht definiert. Ich habe die Versionsnummer überprüft: Sowohl das postgresql in Greenplum als auch das Zusatzmodul sind 8.2.15. Vermisse ich etwas?
Aktualisieren: Die Verknüpfung zum Lernprogramm scheint instabil zu sein. Es gibt im Grunde einige einfache Schritte, um die Installation abzuschließen:
<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>
Aktualisieren: Vielen Dank für Ihre Antwort.
Ich installiere Greenplum, aber es enthält nur Postgresql 8.2.15, daher muss ich diese Version verwenden. Ich habe das gesamte Verzeichnis / usr / local / pgsql / lib in die greenplum-Bibliothek kopiert. Es scheint, als würde das Intarray funktionieren, aber jetzt habe ich einen neuen Fehler:
<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>
Es scheint, dass ich einige Dateien vermisse ...
Vielen Dank!