417 votes

Comment installer psql sans Postgres complet sur macOS ?

Page officielle ne pas mentionner ce cas. Mais de nombreux utilisateurs n'ont besoin que de psql sans base de données locale (je l'ai sur AWS). Brew n'a pas psql .

0 votes

Pourquoi pensez-vous qu'il existe un "moyen correct" de faire cela, étant donné que vous avez fait un lien vers la page officielle de téléchargement, qui dit qu'il n'y a pas de moyen ?

0 votes

Pour ceux qui sont sur MacPorts, voici ce que j'ai fait : superuser.com/questions/305031/

14 votes

@Ssswift Ça ne dit pas qu'il n'y a pas de solution, ça dit juste qu'il n'y a pas de solution.

862voto

PPS Points 1273

Vous pouvez également utiliser homebrew pour installer libpq.

brew install libpq

Cela vous donnerait psql, pg_dump et tout un tas d'autres utilitaires clients sans installer Postgres.

Malheureusement, étant donné qu'il fournit certains des mêmes utilitaires que ceux qui sont inclus dans la version complète du logiciel de gestion de l'information, il n'est pas possible de les utiliser. postgresql brew l'installe "keg-only" ce qui signifie qu'il n'est pas dans le PATH par défaut. Homebrew vous donnera des informations sur la façon de l'ajouter à votre PATH après l'installation. Dans mon cas, c'était ceci :

echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.zshrc

Vous pouvez également créer des liens symboliques pour les utilitaires dont vous avez besoin. Par exemple :

ln -s /usr/local/Cellar/libpq/10.3/bin/psql /usr/local/bin/psql

Note : utilisation de la version installée au lieu de la 10.3.

Sinon, vous pouvez demander à homebrew de "lier tous ses binaires à la PATH de toute façon".

 brew link --force libpq

mais alors vous ne pourriez pas installer la postgresql plus tard.

23 votes

Fonctionne comme un charme après avoir créé un lien symbolique : ln -s /usr/local/Cellar/libpq/10.3/bin/psql /usr/local/bin/psql

39 votes

Vous pouvez également faire brew link --force libpq mais cela créera un tas d'autres liens symboliques dont vous n'avez peut-être pas besoin.

5 votes

Liens symboliques du jour ln -s /usr/local/Cellar/libpq/11.3/bin/psql /usr/local/bin/psql / ln -s /usr/local/Cellar/libpq/11.3/bin/pg_dump /usr/local/bin/pg_dump / ln -s /usr/local/Cellar/libpq/11.3/bin/pg_restore /usr/local/bin/pg_restore

120voto

C.K. Points 134

libpq 11.2
MacOS et zsh ou bash

les travaux ci-dessous

  1. installer libpq

    brew install libpq

  2. mettre à jour PATH

    si vous utilisez zsh :

    echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.zshrc
    source ~/.zshrc

    si vous utilisez bash :

    echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.bash_profile
    source ~/.bash_profile

2 votes

echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.bash_profile si vous utilisez bash.

1 votes

@HenryC yep, merci, bash est beaucoup plus courant, ma réponse était basée sur zsh.

71voto

Andrew Bobulsky Points 392

Homebrew n'a vraiment que le postgres et n'a pas de formule spécifique qui ne fait qu'installer la psql outil.

Donc la "bonne façon" d'obtenir le psql est en effet d'installer l'application postgres et vous verrez vers le bas de la section "caveats" qu'il n'exécute pas réellement la base de données, il met simplement les fichiers sur votre système :

$  brew install postgres
==> Downloading https://homebrew.bintray.com/bottles/postgresql-9.6.5.sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring postgresql-9.6.5.sierra.bottle.tar.gz
==> /usr/local/Cellar/postgresql/9.6.5/bin/initdb /usr/local/var/postgres
==> Caveats
<snip>
To have launchd start postgresql now and restart at login:
  brew services start postgresql
Or, if you don't want/need a background service you can just run:
  pg_ctl -D /usr/local/var/postgres start
==> Summary
  /usr/local/Cellar/postgresql/9.6.5: 3,269 files, 36.7MB

Vous pouvez maintenant utiliser psql pour se connecter à des serveurs Postgres distants, et ne fera pas tourner un serveur local, même si vous le pourriez si vous le vouliez vraiment.

Pour vérifier que le local postgres ne tourne pas, vérifiez les services homebrew installés :

$ brew services list
Name       Status  User Plist
mysql      stopped      
postgresql stopped      

Si vous n'avez pas Services de brassage à domicile installé, il suffit de

$ brew tap homebrew/services

...et vous obtiendrez cette fonctionnalité. Pour plus d'informations sur Services de brassage à domicile , lire cet excellent article de blog qui explique comment cela fonctionne .

3 votes

Cela ne répond pas vraiment à la question, qui se résume à "comment puis-je installer psql (et peut-être d'autres utilitaires postgres) SANS installer postgres". La réponse de @PPS stackoverflow.com/a/49689589/2469559 est le bon.

5 votes

IMO, c'est la meilleure option parce qu'elle n'exige pas l'utilisation de l'option brew link étape. Forcer le lien avec libpq est nécessaire en raison de la déclaration keg_only dans la formule. Étant donné cette complication spécifique Je maintiens cette réponse comme étant la manière "correcte" de faire ce que la question demande. Je reconnais que de nombreux utilisateurs préféreront toujours la méthode libpq Mais l'approche est différente.

1 votes

Oui, cette méthode ne nécessite pas de manipuler les liens symboliques ou votre PATH :)

67voto

Josh Goebel Points 410

Si vous n'avez vraiment pas besoin de postgresql, vous n'avez même pas à modifier votre chemin d'accès pour utiliser libra, il vous suffit de faire le lien suivant libpq . La documentation indique que la seule raison pour laquelle il ne l'est pas est d'éviter les conflits avec le paquetage PostgreSQL.

brew uninstall postgresql
brew install libpq
brew link --force libpq

46voto

Virak Points 179

Installez libpq :

 brew install libpq

Ensuite, créez un lien symbolique :

ln -s /usr/local/opt/libpq/bin/psql /usr/local/bin/psql

J'espère que cela vous aidera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X