Ich versuche, die postgresql-Datenbank zu erstellen.
Bei der Installation von PostgreSQL habe ich folgenden Befehl gegeben:
sudo yum install postgresql postgresql-server
und später habe ich die Konfigurationsdatei geändert:
sudo vim /var/lib/pgsql/data/pg_hba.conf
und modifiziert als
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
host all all 0.0.0.0/0 md5
Während ich versuche, den postgresql-Dienst zu starten:
sudo service postgresql initdb
> Data directory is not empty! [FAILED]
sudo chkconfig postgresql on
sudo service postgresql start
Starting postgresql service: [ OK ]
Was ist die Ursache dieser Fehler und wie behebe ich sie?
postgresql
installation
sridhar
quelle
quelle
Von hier :
Wenn Sie eine Postgres-Datenbank vollständig löschen und neu installieren, gehen Sie
initdb
wie folgt vor :service postgresql-9.2 initdb -E 'UTF8' --pgdata="/foo/bar/"
Sie können auf diesen Dienstfehler stoßen:
Um das Problem zu beheben (und dies ist die nukleare Option - alle Datenbankdaten werden gelöscht!)
Unter Amazon Linux (2014-x):
rm -rf /var/lib/pgsql9/data
Unter CentOS (6.x)
rm -rf /var/lib/pgsql/9.2/data
Versuchen Sie nun den
initdb
Befehl erneut und es sollte diesmal funktionieren:service postgresql-9.2 initdb
quelle
Auf systembasierten Systemen wie RHEL / CentOS 7 und Fedora ist das Verfahren zum Ausführen von initdb etwas anders. Dies wird von den Init-Skripten (die nicht mehr existieren) nicht mehr durchgeführt, und die neue Prozedur ist den Anweisungen in der Originalversion viel näher .
Sie müssen zuerst
su
denpostgres
Benutzer ansprechen und danninitdb
oder ausführenpg_ctl initdb
. Es ist nicht erforderlich, ein Datenverzeichnis anzugeben, wenn Sie einen Red Hat Build verwenden, da dieser automatisch das Standarddatenverzeichnis auswählt/var/lib/pgsql
.Beispielsweise:
Natürlich tun Sie dies nur einmal bei der Erstinstallation, um das anfängliche Datenverzeichnis einzurichten. Sie würden es nicht noch einmal tun, wenn Sie keine komplett neue Installation erstellen oder nach einer Katastrophe wiederherstellen würden.
quelle
Ich hatte das gleiche Problem mit PostgreSQL 9.3 unter CentOS 6.
Ich habe den Ordner /var/lib/pgsql/9.3/data gelöscht und dann den Befehl erneut ausgeführt
... was den db service wieder erfolgreich initialisiert hat.
quelle