Ich habe PostgreSQL 9.1.2 auf meinem Fedora 16 in einer ähnlichen Methode wie hier beschrieben installiert und getestet, was bedeutet, dass meine Installation einwandfrei funktioniert.
Aber wenn ich es tue: service postgresql initdb
oder sogar service postgresql-9.0 initdb
ich bekomme den Fehler:
Redirecting to /bin/systemctl initdb postgresql.service
Unknown operation initdb
Aus diesem Grund kann ich pgAdmin3 auch nicht starten.
Was vermisse ich?
database
postgresql
c0da
quelle
quelle
Data directory not empty.
<- Ich habe diesen Fehler ... :( Ich muss etwas schrecklich Falsches tun.initdb
weigern sich, diese zu überschreiben. Wenn Sie es ersetzen möchten, müssen Sie das alte von Hand löschen. Das Umbenennen ist jedoch wahrscheinlich sicherer, bis Sie wirklich sicher sind, dass Sie es entfernen möchten.Führen Sie den Befehl "su - postgres -c ..." als root aus
Ich habe die Antwort hier gefunden: https://bugzilla.redhat.com/show_bug.cgi?id=771496
Hintergrundgeschichte
Mehrere Stellen hatten mich angewiesen, diesen Befehl für Fedora 16 zu verwenden, anstatt den vorherigen Anweisungen zu folgen (neuer Befehl: su - postgres -c "PGDATA = / var / lib / pgsql / data initdb"), aber nachdem ich 'su' bei gesehen hatte Vorne nahm ich an, dass es mich zu root wechseln würde, wenn ich den Befehl ausführte. Es forderte mich immer wieder zur Eingabe eines Passworts auf, aber nichts funktionierte.
Ich habe versucht, das Root-Passwd, mein eigenes (als ob sudo'ing), "postgres" und "pgsql", falls ich dies irgendwie als postgres-Benutzer tun sollte, und habe sogar das Passwort leer gelassen. Ich habe versucht, root zu werden und dann den Befehl ohne das anfängliche 'su -' auszuführen (beginnend mit "postgres -c ..."), aber das ist auch fehlerhaft und hat mir Folgendes gesagt:
Schließlich habe ich versucht, den vollständigen Befehl "su - postgres -c ..." als root auszuführen, aber immer noch "su" zu verwenden, und wow - es hat funktioniert. Jetzt startet der Dienst. Danke Redhat Bug Tracking!
Zusammenfassung
su to root, dann geben Sie ein:
quelle
Sie müssen den postgresql-Dienst mit dem folgenden Befehl starten:
Das
initdb
Tool sollte nur verwendet werden, wenn Sie das Datenverzeichnis des Datenbankservers initialisieren müssen. Dies sollte automatisch erfolgen, wenn Sie Ihren Postgresql-Server mit einem Paketmanager wieyum
Centos oderapt-get
Ubuntu installieren .Sie können es wie in dem von Ihnen angegebenen Link angegeben verwenden als:
quelle
service postgresql start
. Die Ausgabe war:Redirecting to /bin/systemctl start postgresql.service Job failed. See system logs and 'systemctl status' for details.
Als ich das tatsystemctl status
, war die AusgabeToo few arguments.
.Dies antwortet etwas spät, kann aber für jemanden da draußen hilfreich sein ... Auf Fedora 18 musste ich mit postgresql 9.2 /usr/pgsql-9.2/bin zu meinem PATH in meiner Shell hinzufügen und von dort aus Ich musste rennen:
um die Konfigurationsdateien und all das in /var/lib/pgsql/9.2/data zum Laufen zu bringen. Hoffe, das ist hilfreich für jemand anderen da draußen!
quelle