Próbuję utworzyć bazę danych postgresql.
Kiedy instaluję PostgreSQL, wydałem polecenie:
sudo yum install postgresql postgresql-server
a później zmodyfikowałem plik konfiguracyjny:
sudo vim /var/lib/pgsql/data/pg_hba.conf
i zmodyfikowany jako
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
Podczas próby uruchomienia usługi postgresql:
sudo service postgresql initdb
> Data directory is not empty! [FAILED]
sudo chkconfig postgresql on
sudo service postgresql start
Starting postgresql service: [ OK ]
Co powoduje te błędy i jak je naprawić?
postgresql
installation
śridhar
źródło
źródło
Od tutaj :
Jeśli całkowicie czyścisz i ponownie instalujesz bazę danych Postgres, podczas działania
initdb
takiego jak:service postgresql-9.2 initdb -E 'UTF8' --pgdata="/foo/bar/"
możesz napotkać ten błąd usługi:
Aby to naprawić (i jest to opcja jądrowa - wszystkie dane bazy danych są usuwane!)
W systemie Amazon Linux (2014-x):
rm -rf /var/lib/pgsql9/data
Na CentOS (6.x)
rm -rf /var/lib/pgsql/9.2/data
Teraz spróbuj
initdb
ponownie i polecenie powinno działać tym razem:service postgresql-9.2 initdb
źródło
W systemach opartych na systemie, takich jak RHEL / CentOS 7 i Fedora, procedura uruchamiania initdb jest nieco inna. Nie jest to już wykonywane przez skrypty inicjujące (które już nie istnieją), a nowa procedura jest znacznie bliższa instrukcjom wstępnym .
Musisz najpierw
su
dopostgres
użytkownika, a następnie uruchomićinitdb
lubpg_ctl initdb
. Podanie katalogu danych nie jest konieczne, jeśli używasz kompilacji Red Hat, ponieważ domyślnie automatycznie wybiera domyślny katalog danych/var/lib/pgsql
.Na przykład:
Oczywiście robisz to tylko raz, przy pierwszej instalacji, aby skonfigurować początkowy katalog danych. Nie zrobiłbyś tego ponownie, chyba że tworzysz całkowicie nową instalację lub przywracasz system po awarii.
źródło
Miałem ten sam problem, używając PostgreSQL 9.3 na CentOS 6.
Usunąłem folder /var/lib/pgsql/9.3/data, a następnie ponownie uruchomiłem polecenie
... który ponownie zainicjował usługę db.
źródło