Après des années d’absence il est bon de revenir vers vous et continuer l’aventure autour des bases de données
Merci déjà pour vos messages cela me touche énormément .
J’ai été appelé en astreinte pour une base de données postgresql 9.6.11 .
impossible de se connecter à l’instance.
Analyse :
nous avons bien les process présent
root@serveur1:/lib/x86_64-linux-gnu# ps -ef | grep post
postgres 1647 1 0 09:52 ? 00:00:02 /lib/systemd/systemd –user
postgres 1653 1647 0 09:52 ? 00:00:00 (sd-pam)
postgres 1818 1 0 09:52 ? 00:00:00 /opt/postgresql/postgresql-9.6.11/bin/postgres -D /appli/postgres/Instance1/pgdata/data
root 1875 1 0 09:52 ? 00:00:00 /usr/lib/postfix/sbin/master -w
postfix 1878 1875 0 09:52 ? 00:00:00 qmgr -l -t unix -u
postgres 1880 1818 0 09:52 ? 00:00:00 postgres: checkpointer process
postgres 1881 1818 0 09:52 ? 00:00:00 postgres: writer process
postgres 1882 1818 0 09:52 ? 00:00:00 postgres: wal writer process
postgres 1883 1818 0 09:52 ? 00:00:00 postgres: autovacuum launcher process
postgres 1884 1818 0 09:52 ? 00:00:00 postgres: archiver process last was 00000001000001E700000010
postgres 1885 1818 0 09:52 ? 00:00:00 postgres: stats collector process
root 8257 21297 0 11:27 pts/1 00:00:00 su – postgres
postgres 8258 8257 0 11:27 pts/1 00:00:00 -bash
postfix 11083 1875 0 11:32 ? 00:00:00 pickup -l -t unix -u -c
postgres 14438 1818 0 10:18 ? 00:00:00 postgres: mmx Tik [local] idle
postfix 15870 1875 0 11:47 ? 00:00:00 cleanup -z -t unix -u -c
postfix 15871 1875 0 11:47 ? 00:00:00 trivial-rewrite -n rewrite -t unix -u -c
postfix 15872 1875 0 11:47 ? 00:00:00 smtp -t unix -u
root 16156 28793 0 11:48 pts/2 00:00:00 /bin/grep –color=auto post
root@serveur1:/lib/x86_64-linux-gnu#
Tentative de connexion :
psql
psql: error while loading shared libraries: libreadline.so.7: cannot open shared object file: No such file or directory
recherche de la libreadline.so.7
find /opt/postgresql -name « libreadline.so.7 »
Pas de fichier présent
Interprétation :
il y a une modification ou une suppression de ce fichier .
recherche des traces de suppression dans l’historique de connexion : KO
recherche du package debian
root@serveur1:~# ldconfig -p | grep readline
libreadline.so.8 (libc6,x86-64) => /lib/x86_64-linux-gnu/libreadline.so.8
libreadline.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libreadline.so
je retrouve bien une bibliothèque mais en version 8 .
Solution :
1) réinstaller les sources 9.6.11 ou le package 7 ( en production pas possible la nuit)
ou le package
2) créé un lien symbolique sur la version 8
la solution 2 est la plus simple à mettre en place rapidement
D’abord quel est le rôle de cette bibliothèque ?
Nous avons la réponse dans la documentation officiel de postgresql :
https://docs.postgresql.fr/13/install-requirements.html
je cite »
Elle permet à psql (l’interpréteur de ligne de commandes SQL de PostgreSQL) de se souvenir de chaque commande saisie,
et permet d’utiliser les flèches du clavier pour rappeler et éditer les commandes précédentes. »
Nous pouvons bien utiliser la version 8 de la bibliothèque en recréant un lien symbolique puisque l’installation 9.6.11 fonctionne avec la bibliothèque realine 7
cela ne rend pas notre moteur instable .
cd /lib/x86_64-linux-gnu/
ln -s libreadline.so.7 libreadline.so.8
su – postgres
psql
postgres@serveur1/instance1 >
psql (9.6.11)
Type « help » for help.
template1=#
—