Postgres ne pouvait pas se connecter au serveur
Après que j'ai fait infuser de mise à jour et à l'infusion de mise à niveau, mon postgres eu quelques problème. J'ai essayé de désinstaller postgres et installer à nouveau, mais il ne fonctionne pas ainsi.
C'est le message d'erreur.(J'ai aussi eu ce message d'erreur lorsque j'essaie de faire de rake db:migrate)
$ psql
psql: 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"?
Comment puis-je le résoudre?
La version de Mac: Mountain lion.
homebrew version: version 0.9.3
postgres version: psql (PostgreSQL) 9.2.1
Et c'est ce que j'ai fait.
12:30 ~/D/works$ brew uninstall postgresql
Uninstalling /usr/local/Cellar/postgresql/9.2.1...
12:31 ~/D/works$ brew uninstall postgresql
Uninstalling /usr/local/Cellar/postgresql/9.1.4...
12:31 ~/D/works$ psql --version
bash: /usr/local/bin/psql: No such file or directory
12:33 ~/D/works$ brew install postgresql
==> Downloading http://ftp.postgresql.org/pub/source/v9.2.1/postgresql-9.2.1.tar.bz2
Already downloaded: /Library/Caches/Homebrew/postgresql-9.2.1.tar.bz2
......
......
==> Summary
/usr/local/Cellar/postgresql/9.2.1: 2814 files, 38M, built in 2.7 minutes
12:37 ~/D/works$ initdb /usr/local/var/postgres -E utf8
The files belonging to this database system will be owned by user "laigary".
This user must also own the server process.
The database cluster will be initialized with locale "en_US.UTF-8".
The default text search configuration will be set to "english".
initdb: directory "/usr/local/var/postgres" exists but is not empty
If you want to create a new database system, either remove or empty
the directory "/usr/local/var/postgres" or run initdb
with an argument other than "/usr/local/var/postgres".
12:39 ~/D/works$ mkdir -p ~/Library/LaunchAgents
12:39 ~/D/works$ cp /usr/local/Cellar/postgresql/9.2.1/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents/
12:39 ~/D/works$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
homebrew.mxcl.postgresql: Already loaded
12:39 ~/D/works$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
server starting
12:39 ~/D/works$ env ARCHFLAGS="-arch x86_64" gem install pg
Building native extensions. This could take a while...
Successfully installed pg-0.14.1
1 gem installed
12:42 ~/D/works$ psql --version
psql (PostgreSQL) 9.2.1
12:42 ~/D/works$ psql
psql: 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"?
Maintenant, après j'ai réinstallé howbrew,lorsque j'utilise $ psql
, Il n'affiche pas de message d'erreur.
Mais je exécuter rake db:migrate
dans mon application rails, il montre:
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:1213:in `initialize'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:1213:in `new'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:1213:in `connect'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:329:in `initialize'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `new'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `postgresql_connection'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:309:in `new_connection'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:319:in `checkout_new_connection'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:241:in `block (2 levels) in checkout'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:236:in `loop'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:236:in `block in checkout'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:233:in `checkout'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:96:in `block in connection'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:95:in `connection'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:404:in `retrieve_connection'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_specification.rb:170:in `retrieve_connection'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_specification.rb:144:in `connection'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/railties/databases.rake:107:in `rescue in create_database'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/railties/databases.rake:51:in `create_database'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/railties/databases.rake:40:in `block (3 levels) in <top (required)>'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/railties/databases.rake:40:in `each'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/railties/databases.rake:40:in `block (2 levels) in <top (required)>'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/task.rb:205:in `call'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/task.rb:205:in `block in execute'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/task.rb:200:in `each'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/task.rb:200:in `execute'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/task.rb:158:in `block in invoke_with_call_chain'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/task.rb:151:in `invoke_with_call_chain'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/task.rb:144:in `invoke'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/application.rb:116:in `invoke_task'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/application.rb:94:in `block (2 levels) in top_level'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/application.rb:94:in `each'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/application.rb:94:in `block in top_level'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/application.rb:88:in `top_level'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/application.rb:66:in `block in run'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling'
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rake/application.rb:63:in `run'
/usr/local/bin/rake:32:in `<main>'
Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode", "database"=>"riy_development", "pool"=>5, "username"=>nil, "password"=>nil}
J'ai enfin trouver la solution.
$ sudo mkdir /var/pgsql_socket/
$ sudo ln -s /private/tmp/.s.PGSQL.5432 /var/pgsql_socket/
Cette solution est peu difficile, mais il fonctionne. Espérons que quelqu'un a une meilleure solution
Mise à jour
Cela fonctionne pour moi aussi.
rm /usr/local/var/postgres/postmaster.pid
- Je vais avoir le même problème, mais votre solution ne fonctionne pas pour moi. Je pense que c'est un problème d'autorisations, mais je n'ai pas les connaissances des autorisations de fichier pour le fixer.
- Pour ceux qui installer PG via Homebrew et rencontrez des problèmes, j'ai trouvé une autre réponse. Il vous suffit de désinstaller pg gem et réinstaller avec Homebrew configs. Voir la réponse à la stackoverflow.com/a/19609228/1072058.
- similaire réponse ici - stackoverflow.com/questions/13573204/...
- Commencer à postgres.
- Mise à niveau de votre existant à la version la plus récente avec la commande suivante
brew postgresql-upgrade-database
Vous devez vous connecter pour publier un commentaire.
A eu un problème similaire; un fichier pid a été le blocage de postgres démarrage. Pour résoudre ce problème:
rm /usr/local/var/postgres/postmaster.pid
et puis tout va bien.
rm: /usr/local/var/postgres/postmaster.pid: No such file or directory
tail /usr/local/var/postgres/server.log
brew update
, trop.brew services restart postgresql
a fonctionné pour moiCela peut parfois être un problème avec une postgres mise à niveau.
Dans mon cas, c'est arrivé lors de la mise à niveau à partir de 9,3 9,4.
Voir http://www.postgresql.org/docs/9.4/static/upgrading.html
OS X/Homebrew:
Essayez d'exécuter
postgres -D /usr/local/var/postgres
- cela va vous donner une beaucoup plus détaillé de sortie si postgres ne parvient pas à démarrer.Dans mon cas, l'exécution de
rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8
supprimé mon ancien bases de données et réinitialisation de la postgres db schéma.Grâce à https://github.com/Homebrew/homebrew/issues/35240 pour cette solution.
Après la régénération de mes bases de données (avec
rake db:create
) tout a bien fonctionné de nouveau.postgres -D /usr/local/var/postgres
vous dit que le répertoire de données a été initialisé avec une ancienne version incompatible de Postgres, et vous ne pas vous voulez perdre vos données locale, vous pouvez essayer de ce threadpg_ctl -D /usr/local/var/postgres -l logfile start
et puis mon serveur démarré en arrière-planbrew services start postgres
sur OSX pour commencer postgres sur le fond au lieu depostgres -D /usr/local/var/postgres
FATAL: database files are incompatible with server
était la raison. Je ne sais pas comment le résoudre, mais au moins je sais ce qu'il se passe. Merci!Trouvé une solution qui a fonctionné pour moi ici:
https://dba.stackexchange.com/questions/75214/psql-could-not-connect-to-server-no-such-file-or-directory
En gros, vous exécutez la commande suivante pour démarrer manuellement le serveur:
Si l'installation et la désinstallation postgres avec brew ne fonctionne pas pour vous, regardez les logs de votre installation de postgresql ou:
si vous voyez ce genre de sortie:
Essayez les solutions suivantes:
Puis démarrer le serveur:
Source
Sur Yosemite, si le fichier pid est le blocage de Postgres de départ et vous avez un
launchctl
démon essayer (et à défaut) pour charger la base de données des démons, alors vous aurez besoin de décharger le fichier plist:Puis supprimer le fichier pid
Puis de recharger la
launchctl
démonPour tous ceux qui lisent ceci et à l'aide de Postgres.app, vous pouvez avoir besoin
host: localhost
dans votre base de données.yml. http://postgresapp.com/documentation#toc_3a fonctionné pour moi!
La mise à niveau de la base de données fonctionne pour moi
brew postgresql-upgrade-database
Vérifier que le fichier de socket existe.
Si ce n'est pas le cas, vérifiez votre postgresql.conf pour unix_socket_directory changement.
$ ls -l /tmp/.s.PGSQL.5432 ls: /tmp/.s.PGSQL.5432: No such file or directory $ grep unix_socket /usr/local/var/postgres/postgresql.conf #unix_socket_directory = '' # (change requires restart) #unix_socket_group = '' # (change requires restart) #unix_socket_permissions = 0777 # begin with 0 to use octal notation
$ mkdir /var/pgsql_socket/
$ sudo mkdir /var/pgsql_socket/
$ ln -s /private/tmp/.s.PGSQL.5432 /var/pgsql_socket/
Cette solution est peu difficile, mais il fonctionne. Espérons que quelqu'un a une meilleure solutionLe problème peut également être attribuée à l'écrasement d'un processus qui a laissé maître de poste.fichier pid derrière.
Je fais ce travail et de l':
Le problème, c'est parce qu'il existe déjà un service en cours d'exécution sur le port 5432 et nous ne pouvons pas établir psql socket de connexion par le biais de ce port.
J'ai supprimé le fichier de socket
Puis j'ai réinitialisé postgres services
Cela a fonctionné pour moi.
Changer postresql ou de la base de données.yml paramètres de configuration, changer le CHEMIN d'accès$, ou de créer des liens symboliques ont tous été inutile pour moi. Tout ce que j'avais à faire était de
gem uninstall pg
et puisbundle
(ougem install pg
).Le problème est que le pg gem avait été installé avant homebrew postgres, de sorte était de ramasser les paramètres à partir de la version de postgres qui est livré avec MacOS. De le réinstaller (et donc de la reconstruction de l'extension native) a résolu le problème.
Ce qui m'est arrivé lorsque j'ai mis à niveau à partir de 9.3.4 à 9,5 que les bases de données sont incompatibles sans la mise à niveau.
J'ai utilisé pg_upgrade comme suit:
Arrêter postgres
Mettre à niveau les bases de données:
Archiver les anciennes bases de données:
Redémarrer postgres:
Mise à jour de Gemmes (pour les rails /active record) :
C'est effectivement ce que vous êtes censé faire:
vous devriez plutôt chercher dans /usr/local/var/postgres/postmaster.pid
et puis regardez la première ligne du fichier - c'est la mauvaise PID
Exécuter
par exemple:
puis faire
par exemple
En supposant que c'est toujours en cours d'exécution
https://superuser.com/questions/553045/fatal-lock-file-postmaster-pid-already-exists
n'écoutez pas la accepté de répondre, il est mauvais et les données seront corrompues!!!
Le plus infaillible moyen de contourner cela est de faire
Cela permet de garder votre autorisation de l'utilisateur, etc tous intacts et tout est remis à zéro à nouveau. Travaille tout le temps !
Psql option
-h hostname
--host=nom d'hôte
: Spécifie le nom d'hôte de la machine sur lequel le serveur est en cours d'exécution.
Si la valeur commence par une barre oblique, elle est utilisée comme répertoire pour Unix socket de domaine.
Exécuter psql avec l'Option hôte
Pas besoin de faire un doux lien
Suis tombé sur cette question trop sur MacOS Sierra et quand nous avons couru pg_ctl comme décrit ci-dessus nous avons ensuite eu l'erreur suivante
pg_ctl: no database directory specified and environment variable PGDATA unset
. Nous avons donc suivi les étapes ici de résoudre notre problème, à savoir:mkdir ~/.postgres
initdb ~/.postgres
pg_ctl -D ~/.postgres start
Si postgres a été installé à l'aide de homebrew, vous pouvez résoudre ce problème en exécutant:
Cela a fonctionné pour moi (comme un mélange de réponse à la question précédente):
Source: https://coderwall.com/p/zf-fww/postgres-on-osx-with-homebrew-not-running-after-osx-crash
FWIW ce qui m'est arrivé aujourd'hui, mais ce qui s'est passé c'est que j'étais sous Ubuntu mises à jour à l'époque, qui étaient probablement la mise à jour de Postgres. Une fois la mise à jour terminée, j'ai été en mesure de se connecter sans accroc.
À des fins d'exhaustivité, j'ai essayé de récupérer les enregistrements de la base de données à partir d'une console Rails:
Il ressemble à votre psql ne fonctionne pas. Vous devez l'exécuter avant de se connecter. Vous pouvez le faire en utilisant Postgres.app pour Mac OS uniquement. (Télécharger et d'installer cette application http://postgresapp.com) Ouvrez l'application, et vous avez un serveur PostgreSQL prêt et en attente de nouvelles connexions. Fermer l'application et le serveur s'arrête. Vous pouvez également trouver cette info ici http://www.postgresql.org/download/macosx/. Espérons que cela vous aidera.
C'est parce que le précédent serveur toujours en cours d'exécution, essayez de fermer tout vers le bas et de la ré-exécution de votre application.
Pour ceux qui utilisent cette commande ne fonctionne pas ou que le fichier n'y est pas et sont à l'aide de Ruby on Rails
Ou toute autre commande et juste continuer à échouer.
J'ai résolu ce problème de désinstallation avec l'Infusion.
J'ai dû désinstaller avec brew 2 fois, car lors de la première désinstaller, il ne restera qu'une autre version de postgresql, avec la deuxième désinstaller le processus sera terminé.
Installer postgresql avec Brew
Puis déposez, de créer et de migrer les bases de données du projet
(N'oubliez pas de démarrer le serveur postgresql)
Je suis même question parce que je suis un mauvais Postgres du nom d'utilisateur dans le code. Je suis connecté sur postgres
psql -d postgres
et entrez\du
de prendre le rôle de nom et de corriger Postgres du nom d'utilisateur.Ainsi, lorsque vous les gars faire face à ce problème, les gars, vous devez vous assurer que vous êtes à l'utilisation correcte des Postgres nom d'utilisateur, mot de passe, nom d'hôte et de la base de données...
Espère que cela aidera quelqu'un
¿Êtes-vous récemment changé le pg_hba.conf? si vous n'avez juste à vérifier pour toute faute de frappe dans:
"local" est pour socket de domaine Unix uniquement les connexions
locaux de tous les mots de passe
IPv4 connexions locales:
host all all 127.0.0.1/32 mot de passe
Locale IPv6 connexions:
host all all ::1/128 mot de passe
Parfois, une simple erreur peut nous donner un mal de tête. J'espère que cela vous aide et désolé si mon anglais est pas bon du tout.
Cela se produit lorsque le serveur postgres n'est pas en cours d'exécution.
Étapes pour bien installer Postgres via Homebrew sur MAC :
brew install postgres
initdb /Users/<username>/db -E utf8
[Ce initialise postgres pour utiliser le répertoire que le répertoire de base de données. Normalement, il n'est pas conseillé d'utiliser le répertoire de l'utilisateur pour le stockage de base de données. Edit sudoers pour ajouter initdb et des commandes similaires, puis exécutez initdb sur /usr/local/var/postgres]
pg_ctl -D /Users/<username>/db -l logfile start
[Après l'obtention de la réussite de l'étape 2, il vous invite à exécuter l'étape 3. Cette commande manuellement le serveur démarre.]
J'ai rencontré ce problème après avoir essayé de restaurer/supprimer/créer une db, alors que d'autres processus ont été accéder. MacOSX/Homebrew correctif a été:
rails server
,rails console
,guard
, etc...brew info postgres
J'ai eu ce même message d'erreur. S'avère postgres n'était tout simplement pas en cours d'exécution à tous (il est généralement toujours en cours d'exécution en arrière-plan, mais pour quelque raison il n'était pas aujourd'hui).
Si c'est le cas, il suffit de taper
postgres
dans la ligne de commande de votre répertoire de projetAprès une énorme quantité de va-et-vient, il est vraiment venu jusqu'à la
pg
gem version que j'utilisais. Sur mavericks,pg
version0.15.1
ne pourra pas se connecter au port 5432 mais la version0.17.1
fonctionne très bien - très étrange.Pour moi c'était un apache de mise à niveau qui a provoqué le problème. Je pouvais toujours courir psql dans la console ou appelez db directement à partir de kdevelop. Il a aussi travaillé à ajouter "host=localhost" à la chaîne de connexion.
MAIS le véritable problème est que apache a changé privé tmp.
Solution: mise à Jour /usr/lib/systemd/system/apache2.service et changement PrivateTmp=true pour PrivateTmp=false.
Je suis en train de travailler sur OpenSuse OS, mais je suppose que quelque chose de semblable pourrait se produire sur Mac.
J'ai été confrontée au même problème pour
psql (PostgreSQL) 9.6.11
.ce qui a fonctionné pour moi -
supprimer maître de poste.pid --
rm /usr/local/var/[email protected]/postmaster.pid
redémarrer postgres --
brew services restart [email protected]
Si vous arrêtez votre système sans cesser de psql, postgres n'aurait pas supprimé certains fichiers.
Je n'ai pas trouver le fichier postmaster.pid dans l'emplacement/usr /local/var/postgres
J'ai donc fait la ci-dessous:
La commande ci-dessus devrait vous permettre de démarrer postgres
La Cause
Lion est livré avec une version de postgres déjà installé et utilise les binaires par défaut. En général, vous pouvez contourner ce problème en utilisant le chemin d'accès complet à l'homebrew postgres binaires, mais il peut y avoir encore des problèmes avec d'autres programmes.
La Solution
Via
http://nextmarvel.net/blog/2011/09/brew-install-postgresql-on-os-x-lion/
Seulement deux étapes d'exécution de la base de données après l'Installation (Avant de s'assurer que vos connecté en tant que
postgres
utilisateur)Pour un exemple:
Étape 2 : Exécuter psql à partir de l'installation du chemin (Pour vérifier où vous avez installé '#qui postgres' utiliser pour trouver l'emplacement d'installation)
J'ai utilisé le Bitnami pile et installé un utilisateur non root, psql. Sur l'utilisation de psql j'ai reçu l'erreur mentionné.
S'avère, il existe 2 versions de psql
Vous souhaiterez peut-être modifier l'alias de la psql, de sorte qu'il pointe vers l'utilisateur non-root.
Ci-dessus a fonctionné pour moi sur le fait de faire
psql -U postgres
Le répertoire de données contient un vieux maître de poste.fichier pid /Le répertoire de données contient illisible maître de poste.fichier pid
PostgreSQL met un fichier nommé maître de poste.pid dans le répertoire de données pour stocker l'id de processus du serveur PostgreSQL processus. Si PostgreSQL se bloque, ce fichier peut contenir un vieux pid qui confond PostgreSQL. Vous pouvez résoudre ce problème en supprimant le maître de poste.fichier pid. Cependant, vous devez vous assurer que PostgreSQL est vraiment pas en cours d'exécution. Ouvrir le Moniteur d'Activité et assurez-vous qu'il n'y a pas de processus nommé "postgres" ou "postmaster".
Si vous supprimez le maître de poste.fichier pid tandis que PostgreSQL est en cours d'exécution, les mauvaises choses vont arriver.
Source: https://postgresapp.com/documentation/troubleshooting.html
Si vous êtes confrontés au problème lors de la mise à niveau de Postgres (ou après la mise à niveau), veuillez suivre les étapes indiquées ici pour la transmission sécurisée de données entre les versions, qui permettra de résoudre le problème:
Mise à niveau de PostgreSQL 9.6.5 à 10,0 à l'aide de Homebrew (macOS)
L'un de la cause sera assurez-vous que la taille du disque n'est pas plein
exécuter la commande postmaster-D chemin de la postgres
J'ai trouvé que, après l'installation du dernier patch pour Postgres 9.6, tous mes fichiers exécutables (
postgres
,psql
,pg_dump
,pg_restore
etc) a chuté et j'ai eu à les lier à nouveau. Heureusement Homebrew peut faire pour vous:Pour nous, nous avons dû définir des localhost dans la psql avec la commande suivante:
psql -h localhost -U postgres
Pas pourquoi la
-h
n'est pas par défaut delocalhost
...brew postgresql-upgrade-database
..