web-dev-qa-db-fra.com

Je ne peux pas démarrer le serveur PostgreSQL 11: "pg_ctl: impossible de démarrer le serveur"

Je suis dans CentOS Linux version 7.5.1804 (Core)

Lorsque je me connecte en tant que postgres et que j'exécute:

bash-4.2$ /usr/pgsql-11/bin/initdb -D /var/lib/pgsql/11/data
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

creating directory /var/lib/pgsql/11/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-Host, the next time you run initdb.

Success. You can now start the database server using:

    /usr/pgsql-11/bin/pg_ctl -D /var/lib/pgsql/11/data -l logfile start

bash-4.2$

alors je cours

bash-4.2$ /usr/pgsql-11/bin/pg_ctl start -l logfile -D /var/lib/pgsql/11/data
waiting for server to start..../bin/sh: logfile: Permission denied
 stopped waiting
pg_ctl: could not start server
Examine the log output.
bash-4.2$ date
Wed Oct 24 01:50:44 -05 2018
bash-4.2$

Je recherche dans GOOGLE pour "attendre le démarrage du serveur ..../bin/sh: fichier journal: autorisation refusée" mais cette erreur ne s'est produite que sur MAC et aucune solution ne s'affiche ...

Aussi je cours

bash-4.2$ postgres --version;postmaster --version;
postgres (PostgreSQL) 11.0
postgres (PostgreSQL) 11.0
bash-4.2$

alors je crois que PostgreSQL 11 est bien installé, mais je ne peux pas démarrer le serveur.

J'installe avec cette ligne:

yum install postgresql-jdbc.noarch postgresql-jdbc-javadoc.noarch postgresql-unit11.x86_64 postgresql-unit11-debuginfo.x86_64 postgresql11.x86_64 postgresql11-contrib.x86_64 postgresql11-debuginfo.x86_64 postgresql11-devel.x86_64 postgresql11-docs.x86_64 postgresql11-libs.x86_64 postgresql11-odbc.x86_64 postgresql11-plperl.x86_64 postgresql11-plpython.x86_64 postgresql11-pltcl.x86_64 postgresql11-server.x86_64 postgresql11-tcl.x86_64 postgresql11-test.x86_64

Je n'ai pas ajouté [postgresql11-llvmjit.x86_64] car cela nécessite de nombreuses dépendances.

CentOS Linux version 7.5.1804 + PostgreSQL 11?

Dois-je installer un logiciel supplémentaire?

4
VyR

Le logfile ne doit pas être pris au pied de la lettre, il doit être remplacé par un fichier dans lequel le processus serveur PostgreSQL dispose d'une autorisation d'écriture.

Vous ne le faites pas normalement, vous modifiez plutôt postgresql.conf et configurer log_destination, logging_collector, log_directory et log_filename. Ensuite, vous démarrez PostgreSQL sans le -l option.

Votre tentative de démarrage de PostgreSQL avec systemctl a probablement fonctionné; vous pouvez vérifier avec

systemctl status postgresql-11
5
Laurenz Albe

J'ai donc été confronté au même problème. J'ai d'abord vérifié si et ce que tous les serveurs étaient actifs sur ma machine en utilisant:

brew services list

Ensuite, certains serveurs étaient actifs, je les ai donc arrêtés car vous devez les arrêter pour que le serveur posgresql fonctionne.

brew services stop < name of the server/s active >

J'ai ensuite créé une nouvelle base de données

initdb /usr/local/var/postgres2

et a démarré le serveur en utilisant

 pg_ctl -D /usr/local/var/postgres2 -l logfile start

A bien fonctionné pour moi !! entrez la description de l'image ici

0
smriti