Postgres - FATAL: fichiers de base de données sont incompatibles avec le serveur

Après le redémarrage de mon MacBook Pro, je suis incapable de démarrer le serveur de base de données:

could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

J'ai vérifié les logs et la ligne suivante s'affiche encore et encore:

FATAL:  database files are incompatible with server
DETAIL:  The data directory was initialized by PostgreSQL version 9.2, which is not compatible with this version 9.0.4.

9.0.4 était la version qui est préinstallé sur le mac, 9.2[.4] est la version que j'ai installé via Homebrew.
Comme mentionné, cette habitude de travailler avant de le redémarrer, donc il ne peut pas réellement être un problème de compilation. J'ai aussi re-couru initdb /usr/local/var/postgres -E utf8 et le fichier existe toujours.

Malheureusement, je suis assez nouveau à Postgres, de sorte que toute aide serait très appréciée.

  • Comment voulez-vous commencer postgres? Êtes-vous sûr que votre startscript points pour la nouvelle version? Parce que fondée sur les messages d'erreur je pense que les deux versions sont installées côte à côte maintenant.
  • pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start - et la réponse est server starting
  • Lorsque vous recherchez des fichiers nommés pg_ctl je suis sûr que vous allez trouver 2 exemplaires. Et celui qui correspond à which pg_ctl sera l'ancienne version, et l'autre sera la nouvelle version.
  • l'exécution de pg_ctl --version donne pg_ctl (PostgreSQL) 9.2.4
  • Et pourtant, cette copie de pg_ctl semble être à partir d'un 9.0.4 postmaster... Avez-vous arrêter de postgres avant la mise à niveau via homebrew? Tel qu'il est, vous devriez probablement vous assurer que tous les processus postgres sont arrêtés et refaire l'installation de 9.2.4
  • ps aux | grep postgres donne rien, et comme je l'ai mentionné, ça marchait très bien avant - et je doute que j'ai foiré l'installation. Vous pensez que la réinstallation est la meilleure façon de le faire?
  • oui, en tant que droit maintenant un 9.2.4 pg_ctl semble être à partir d'un 9.0.4 backend, et c'est certainement une mauvaise situation! Vous pourriez essayer de démêler le désordre manuellement, mais le réinstaller sur le dessus de la préexistants mélange de versions semble d'une certaine manière plus facile et plus l'épreuve des balles à faire (et que vous semblez avoir juste été initialisé, vous datadir, votre base de données est vide de toute façon, donc rien ne sera perdu).
  • OK, merci beaucoup
  • l'erreur existe, même après la réinstallation... je suis à bout de ressources 🙁
  • Apple est de la folie de la décision de la pré-installation de PostgreSQL et de mettre leur version pré-installée sur le CHEMIN d'accès par défaut semble s'aggraver avec le temps...
  • vraiment? Apple preinstalls postgresql?
  • Assurez-vous alors. Je pense que maintenant ils ont déménagé à faisceau à l'intérieur de Server.app et il caché à utiliser un port non défini par défaut et le socket unix directory. Enfin!!!

InformationsquelleAutor klaffenboeck | 2013-07-23