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

Problème de socket PostgreSQL Mountain Lion

Selon le message d'erreur, le psql commande qui apparaît en premier dans le $PATH a /tmp comme répertoire de socket Unix par défaut codé en dur.

Puisque le répertoire réel est en fait /var/pgsql_socket , vous devez le dire explicitement plutôt que de vous fier à la valeur par défaut :

$ psql -h /var/pgsql_socket [other options]

Il en va de même pour les autres commandes côté client comme createdb , dropdb , createuser ...

Si vous ne voulez pas spécifier -h à chaque fois, il peut être mis dans le PGHOST variable d'environnement.

Certaines personnes résolvent également ce problème en utilisant des connexions TCP à localhost plutôt que d'utiliser le répertoire socket Unix.

La cause principale de ce problème serait qu'après l'installation de PostgreSQL sur Mac OS X, le système finit par avoir deux instances différentes de l'ensemble de clients postgres (le libpq bibliothèque, psql et autres utilitaires associés), l'un fourni avec MacOS et l'autre fourni avec le programme d'installation de PostgreSQL.

Par conséquent, une autre méthode consiste à modifier votre $PATH pour que le psql installé avec PostgreSQL est choisi avant celui installé avec le système (vraisemblablement /usr/bin/psql ).