initdb: bei der Initialisierung pg_authid ... FATAL: falsche Anzahl von index-Ausdrücke
Ich bin neu in PostgreSql.Ich bin versucht zu installieren, PostgreSql in meinem system.Mein Betriebssystem ist Ubuntu,der Unten gepostet ist mein Fehler
Den Datenbank-cluster initialisiert wird mit der locale de_de.UTF-8.
Die Standard-Datenbank-Codierung ist entsprechend auf UTF8 eingestellt.
creating directory p01/pgsql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers/max_fsm_pages ... 24MB/153600
creating configuration files ... ok
creating template1 database in p01/pgsql/data/base/1 ... ok
initializing pg_authid ... FATAL: wrong number of index expressions
STATEMENT: CREATE TRIGGER pg_sync_pg_database AFTER INSERT OR UPDATE OR DELETE ON
pg_database FOR EACH STATEMENT EXECUTE PROCEDURE flatfile_update_trigger();
child process exited with exit code 1
initdb: removing data directory "p01/pgsql/data"
Mir helfen!!
Danke!
- Was ist das pg_sync_pg_database und flatfile_update_trigger Zeug? Welche version der Pakete, die Sie installieren und was gibt es sonst noch mit Ihnen?
- Ich denke, dass die Lösung für Ihr problem hier.
- Es ist eine Beklagenswerte Mangel an Daten hier. PostgreSQL-version? Wie hast du es installiert - packages/Quelle, von wo? Genaue Ubuntu-version? Was haben Sie versucht, vor der Veröffentlichung? (da der link Rhim Beiträge ist die zweite google-Treffer für die Fehlermeldung)? Das heißt, Dank für die Buchung der relevanten log-Ausgabe mit der genauen Fehlermeldung und auch eine Formatierung lesbar.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich lief in das gleiche problem beim erstellen der centos-5-version von postgresql (8.2) für centos 7 (3.10.0-229.el7.x86_64.)
War ich nicht in der Lage, damit es funktioniert mit gcc-4.8.3 mit den CFLAGS="-O1" - trick, aber der Wechsel zu clang (3.4.2), da der compiler (CC=clang) hat Arbeit für mich (und es arbeitete in der Standard -O2-Optimierung.)
Ich lief in das gleiche problem nach kompilieren von postgresql 8.1.4 mit gcc 4.9.3.
Scheint das problem zu sein, wie postgres verwendet zum darstellen variabler Länge arrays:
In einigen Fällen, zum Schleifen Zugriff auf 'Werte', GCC geht davon aus, dass Sie eine iteration in den meisten. Schlaufen wie unten (extrahiert aus dem postgres-Quellcode):
können am Ende wird reduziert, um so etwas wie:
als abgeleitet durch die Betrachtung der assembler erzeugt für Sie:
Das problem ging Weg, nachdem re-kompilieren von postgres mit, dass die Optimierung deaktiviert werden, indem Sie mit -fno-aggressiv-loop-optimizations.
@Rhim scheint korrekt zu sein - Sie getroffen haben, was war davon ausgegangen, dass ein compiler Fehler. Möchten Sie vielleicht, um ein update auf die neueste gcc-Pakete, dann
make clean
, re-runconfigure
mitCFLAGS="-O1"
als argument, und dann neu kompilieren.BTW, dies deutet darauf hin, dass Sie die Kompilierung PostgreSQL 8.4 oder älter als
pg_sync_pg_database
erscheint nicht in 9.0 oder neuer. Sie müssen auch das kompilieren auf einem neueren host. Wie PostgreSQL 8.4 wird bald end-of-life und nicht unterstützte, ist dies wahrscheinlich nicht eine gute Idee.Außerdem schlägt Sie vor, die Sie kompiliert haben Ihre eigene version, anstatt der Verwendung von Paketen. Sie verwenden sollten, http://apt.postgresql.org/ eher als kompilieren Sie Ihre eigene, es sei denn, Sie haben ein gutes bestimmten Grund.