Publier ceci au cas où cela aiderait quelqu'un d'autre :
J'avais le même problème que l'OP après un redémarrage brutal lorsque mon ordinateur portable s'est écrasé. Ce qui m'a aidé a été d'exécuter la commande suivante pour voir quel PID était associé à postmaster.pid :
cat /usr/local/var/postgres/postmaster.pid
Le premier chiffre qui apparaît sera le PID. En regardant dans Activity Monitor, j'ai pu voir que Postgres était en cours d'exécution, mais sans numéro PID correspondant à celui affiché.
Au lieu des étapes décrites dans la réponse référencée sur Superuser, j'ai redémarré mon ordinateur portable correctement, puis j'ai ouvert Terminal et exécuté
brew services restart postgresql
Cela a fonctionné sans avoir à supprimer postmaster.pid, ce que j'ai vu quelques autres articles recommander. Parfois, ce sont les solutions simples qui fonctionnent.