PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

psql :impossible de se connecter au serveur :aucun fichier ou répertoire de ce type (Mac OS X)

AVERTISSEMENT :Si vous supprimez postmaster.pid sans vous assurer qu'il n'y a vraiment pas de postgres les processus qui vous exécutent pourraient corrompre définitivement votre base de données . (PostgreSQL devrait le supprimer automatiquement si le postmaster a quitté.).

SOLUTION :Cela a résolu le problème :j'ai supprimé ce fichier, puis tout a fonctionné !

/usr/local/var/postgres/postmaster.pid

--

et voici comment j'ai compris pourquoi cela devait être supprimé.

  1. J'ai utilisé la commande suivante pour voir s'il y avait des processus PG en cours d'exécution. pour moi il n'y en avait pas, je n'ai même pas pu démarrer le serveur PG :

    ps auxw | grep post
    
  2. J'ai recherché le fichier .s.PGSQL.5432 qui était dans le message d'erreur ci-dessus. j'ai utilisé la commande suivante :

    sudo find / -name .s.PGSQL.5432 -ls
    

    cela n'a rien montré après avoir recherché tout mon ordinateur, donc le fichier n'existait pas, mais évidemment psql "je le voulais" ou "je pensais qu'il était là".

  3. J'ai jeté un coup d'œil aux journaux de mon serveur et j'ai vu l'erreur suivante :

    cat /usr/local/var/postgres/server.log
    

    à la fin du journal du serveur, je vois l'erreur suivante :

    FATAL:  pre-existing shared memory block (key 5432001, ID 65538) is still in use
    HINT:  If you're sure there are no old server processes still running, remove the shared memory block or just delete the file "postmaster.pid".
    
  4. En suivant les conseils du message d'erreur, j'ai supprimé le fichier postmaster.pid dans le même répertoire que server.log. Cela a résolu le problème et j'ai pu redémarrer.

Ainsi, il semble que mon macbook se fige et soit redémarré durement, ce qui a amené Postgres à penser que ses processus fonctionnaient toujours même après le redémarrage. Suppression de ce fichier résolu. J'espère que cela aide les autres ! Beaucoup de gens ont des problèmes similaires, mais la plupart des réponses concernaient les autorisations de fichiers, alors que dans mon cas, les choses étaient différentes.