Après avoir redémarré mon MacBook Pro, je ne parviens pas à 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 journaux et la ligne suivante apparaît 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 préinstallée sur le mac, 9.2 [.4] est la version que j'ai installée via Homebrew. Comme mentionné, cela fonctionnait avant le redémarrage, il ne peut donc pas s'agir d'un problème de compilation. J'ai également relancé initdb /usr/local/var/postgres -E utf8
et le fichier existe toujours.
Malheureusement, je suis assez nouveau sur Postgres, donc toute aide serait très appréciée.
macos
postgresql
homebrew
Klaffenboeck
la source
la source
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
- et la réponse estserver starting
pg_ctl
je suis presque sûr que vous allez en trouver 2 copies. Et celui qui correspondrawhich pg_ctl
sera l'ancienne version, et l'autre sera la nouvelle version.pg_ctl --version
donnepg_ctl (PostgreSQL) 9.2.4
Server.app
et l'ont caché pour utiliser un port non par défaut et un répertoire de socket unix. Finalement!Réponses:
Si vous avez récemment mis à niveau vers 11 ou 12 à partir de 10.x, vous pouvez exécuter la commande ci-dessous pour mettre à niveau votre répertoire de données postgres en conservant toutes les données:
La commande ci-dessus est tirée de la sortie de
brew info postgres
la source
brew postgresql-upgrade-database
puis redémarrez postgresbrew info
.Si vous recherchez l'option nucléaire (supprimez toutes les données et obtenez une nouvelle base de données), vous pouvez faire:
rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8
puis vous devrez aller
rake db:setup
et venirrake db:migrate
de votre application Rails pour recommencer la configuration.la source
createuser -s your_rails_app
pour créer l'utilisateur postgres des rails. Voir stackoverflow.com/questions/11919391/…Essayez ceci: https://gist.github.com/joho/3735740
Cela a parfaitement fonctionné pour moi. En fin de compte, il génère également 2 scripts bash pour vérifier votre base de données et supprimer l'ancien cluster. Vraiment génial.
voir: http://www.postgresql.org/docs/9.2/static/pgupgrade.html pour en savoir plus.
la source
Trouvé sur Internet, cette solution fonctionne très bien pour moi.
Lorsque j'ai essayé de démarrer le serveur postgresql après la mise à niveau vers OS X 10.10 Yosemite, j'ai rencontré un problème suivant:
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
D'accord, jetons un œil aux journaux du serveur:
cat /usr/local/var/postgres/server.log
Nous devons donc suivre quelques étapes après la mise à niveau postgresql:
C'est tout.
la source
Si vous souhaitez conserver la version précédente de postgres, utilisez
brew switch
:Sinon, envisagez cette commande BREW pour migrer les données existantes:
brew postgresql-upgrade-database
. Consultez le code source .la source
Cela m'est arrivé lorsque j'essayais de démarrer Postgres12 avec un volume postgres11 monté. La suppression du volume monté pour postgres11 et le redémarrage ont fonctionné pour moi.
Auparavant, j'utilisais:
J'ai supprimé / Users / champ / postgres et redémarré postgres 12, en utilisant
la source