installazione postgresql: directory di dati initdb non vuota?

Sto cercando di creare il database postgresql.

Quando installi PostgreSQL, ho dato questo command:

  • Come configurare un'altra istanza di redis su ubuntu?
  • Automatizzare l'installazione di postfix su Ubuntu
  • Installazione di Oracle 11g per 64 bit su server 64 bit di Ubuntu 10.04?
  • Installazione / abilitazione dell'estensione PHP Pecl Intl su CentOs 5
  • Prevenire i pacchetti specifici da installare in Debian
  • Che cosa fa il parametro / v / qn per gli installatori silenziati di Windows?
  • sudo yum install postgresql postgresql-server 

    e più tardi ho modificato il file di configuration:

     sudo vim /var/lib/pgsql/data/pg_hba.conf 

    e modificato come

     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 

    Mentre cerco di avviare il servizio postgresql:

     sudo service postgresql initdb > Data directory is not empty! [FAILED] sudo chkconfig postgresql on sudo service postgresql start Starting postgresql service: [ OK ] 

    Che cosa è causato da questi errori e come posso risolverli?

    4 Solutions collect form web for “installazione postgresql: directory di dati initdb non vuota?”

    Initdb dovrebbe essere eseguito solo una volta. Creerà la directory in cui conserverai i file di configuration e (di solito) il database effettivo. Lo avete già già fatto; altrimenti non c'era nessun pg_hba.conf per modificarti.

    Quindi, non eseguire di nuovo il postgresql initdb , a less che non si sta facendo una completa reinstallazione.

    Da qui :

    Se stai completamente spazzando e reinstallando un DB Postgres, quando si esegue initdb come:

    service postgresql-9.2 initdb -E 'UTF8' --pgdata="/foo/bar/"

    si può verificare questo errore di servizio:

    La directory dei dati non è vuota! [FALLITO]

    Per risolverlo (e questa è l'opzione nucleare – tutti i dati db vengono cancellati!)

    Su Amazon Linux (2014-x):

    rm -rf /var/lib/pgsql9/data

    Su CentOS (6.x)

    rm -rf /var/lib/pgsql/9.2/data

    Ora prova nuovamente il command initdb e dovrebbe funzionare questa volta:

    service postgresql-9.2 initdb

    Ho avuto lo stesso problema, utilizzando PostgreSQL 9.3 su CentOS 6.

    Ho eliminato la cartella /var/lib/pgsql/9.3/data, quindi ho ri-eseguito il command

     sudo service postgresql-9.3 initdb 

    … che ha inizializzato con successo il servizio db.

    Sui sisthemes basati su systemd come RHEL / CentOS 7 e Fedora la procedura per l'esecuzione di initdb è un po 'diversa. Questo non è più fatto dagli script init (che non esistono più) e la nuova procedura è molto più vicina alle istruzioni a monte .

    Devi prima postgres all'utente postgres e quindi eseguire initdb o pg_ctl initdb . Non è necessario fornire una directory di dati se si utilizza una creazione di Red Hat come impostazione predefinita seleziona automaticamente la directory di dati predefinita /var/lib/pgsql .

    Per esempio:

     # su - postgres $ pg_ctl initdb $ exit # 

    Naturalmente, solo una volta, durante la prima installazione, è ansible impostare la directory di dati iniziale. Non lo faresti di nuovo a less che non crei un'installazione completamente nuova o ripristini da un disastro.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.