J'utilise Arch Linux (4.8.13-1-Arch). J'essaie de configurer PostgreSQL comme indiqué ici .
Après avoir joué
[postgres@BitBox ~]$ initdb --locale $LANG -E UTF8 -D '/var/lib/postgres/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 text search configuration will be set to "english".
Data page checksums are disabled.
fixing permissions on existing directory /var/lib/postgres/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:
pg_ctl -D /var/lib/postgres/data -l logfile start
avec succès, je suis revenu à la mon utilisateur régulier en utilisant la commande exit.
[postgres@BitBox ~]$ exit
logout
Ensuite, en essayant de démarrer postgresql.service, j'ai eu l'erreur suivante:
[code_master5@BitBox ~]$ Sudo systemctl start postgresql.service
Failed to start postgresql.service: Unit postgresql.service not found.
Je ne reçois même pas le statut du service:
[code_master5@BitBox ~]$ Sudo systemctl status postgresql.service
Unit postgresql.service could not be found.
Je suis coincé!
Enfin, j'ai compris celui-ci. Il y avait déjà un fichier présent
/usr/lib/systemd/system/postgresql-9.6.service
Donc, peut-être en raison de la présence de ce fichier, je n’ai pas pu démarrer postgresql.service. Ensuite, j'ai essayé de démarrer postgresql-9.6.service comme suit:
[code_master5@BitBox ~]$ Sudo systemctl start postgresql-9.6.service
Failed to start postgresql-9.6.service: Unit postgresql-9.6.service not found.
Et, comme vous pouvez le voir, le résultat a de nouveau échoué.
J'ai simplement supprimé le fichier en utilisant Sudo car je pensais que le fichier postgresql.service n'était pas créé par le programme concerné en raison de la présence de ce fichier. Puis j'ai redémarré le système. Cela fonctionne bien depuis lors, comme vous pouvez voir la sortie ci-dessous:
[code_master5@BitBox ~]$ Sudo systemctl status postgresql.service
[Sudo] password for code_master5:
● postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor p
Active: active (running) since Sat 2017-01-28 09:31:30 IST; 7h ago
Main PID: 342 (postgres)
Tasks: 6 (limit: 4915)
CGroup: /system.slice/postgresql.service
├─342 /usr/bin/postgres -D /var/lib/postgres/data
├─358 postgres: checkpointer process
├─359 postgres: writer process
├─360 postgres: wal writer process
├─361 postgres: autovacuum launcher process
└─362 postgres: stats collector process
Jan 28 09:31:26 BitBox systemd[1]: Starting PostgreSQL database server...
Jan 28 09:31:28 BitBox postgres[340]: FATAL: the database system is starting up
Jan 28 09:31:28 BitBox postgres[340]: LOG: database system was shut down at 201
Jan 28 09:31:29 BitBox postgres[340]: FATAL: the database system is starting up
Jan 28 09:31:29 BitBox postgres[340]: LOG: MultiXact member wraparound protecti
Jan 28 09:31:29 BitBox postgres[340]: LOG: database system is ready to accept c
Jan 28 09:31:29 BitBox postgres[340]: LOG: autovacuum launcher started
Jan 28 09:31:30 BitBox systemd[1]: Started PostgreSQL database server.
Je voudrais sûrement avertir tous ceux qui ont le même problème. S'il vous plaît, faites ce que j'ai fait à vos risques et périls. Puisque ce sont des fichiers système. S'amuser avec ceux-ci peut gâcher votre week-end!
Je suis encore un peu confus à ce sujet. Les explications sont les bienvenues!
Essaye ça:
service postgresql-10.service restart
service postgresql-XX.service restart