La page officielle ne mentionne pas un tel cas. Mais de nombreux utilisateurs n'ont besoin que d' psqlune base de données locale (je l'ai sur AWS). Brew n'ont pas psql.
La page officielle ne mentionne pas un tel cas. Mais de nombreux utilisateurs n'ont besoin que d' psqlune base de données locale (je l'ai sur AWS). Brew n'ont pas psql.
Réponses:
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.
Vous ajoutez ensuite le répertoire d'installation à votre chemin. Dans mon cas, l'emplacement du répertoire est:
/usr/local/Cellar/libpq/10.3/bin
brew link --force libpqmais cela créera un tas d'autres liens symboliques dont vous pourriez ne pas vouloir / avoir besoin.
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
for cmd in psql pg_dump pg_restore; do ln -s ../opt/libpq/bin/$cmd /usr/local/bin/$cmd; done
PATH=/usr/local/opt/libpq/bin:$PATHpour ajouter toutes les commandes à votre chemin en une seule fois, en utilisant un nom de répertoire qui ne change pas avec la version libpqque vous installez.
Homebrew n'a vraiment que la formule postgres , et n'a pas de formule spécifique qui installe uniquement l' psqloutil.
Donc, la "bonne façon" d'obtenir l' psqlapplication est en effet d'installer la formule postgres , et vous verrez vers le bas de la section "mises en garde" qu'elle n'exécute pas réellement la base de données, elle 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 psqlpour vous connecter à des serveurs Postgres distants, sans en exécuter un local, bien que vous puissiez le faire si vous le souhaitez vraiment.
Pour vérifier que le postgresdémon local n'est pas en cours d'exécution, vérifiez vos services homebrew installés:
$ brew services list
Name Status User Plist
mysql stopped
postgresql stopped
Si vous n'avez pas installé les services Homebrew ,
$ brew tap homebrew/services
... et vous obtiendrez cette fonctionnalité. Pour plus d'informations sur les services Homebrew , lisez cet excellent article de blog qui explique comment cela fonctionne .
brew linkétape. Forcer le lien avec libpq est nécessaire en raison de la déclaration keg_only dans la formule. Compte tenu de 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 l' libpqapproche.
libpq 11.2
MacOS & zsh ou bash
ci-dessous fonctionne
libpqbrew install libpq
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_profileecho 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.bash_profilesi vous utilisez bash.
Si vous n'avez vraiment pas besoin de postgresql, vous n'avez même pas besoin de modifier votre chemin pour utiliser libra, il suffit de créer un lien libpq. La documentation indique que la seule raison pour laquelle ce n'est pas le cas est d'éviter les conflits avec le package PostgreSQL.
brew uninstall postgresql
brew install libpq
brew link --force libpq
J'ai trouvé tout cela vraiment insatisfaisant, surtout si vous devez prendre en charge plusieurs versions de postgres. Une solution BEAUCOUP plus simple consiste à télécharger les binaires ici:
https://www.enterprisedb.com/download-postgresql-binaries
Et lancez simplement la version exécutable de psql celle qui correspond à la base de données sur laquelle vous travaillez sans aucune étape supplémentaire.
exemple:
./path/to/specific/version/bin/psql -c '\x' -c 'SELECT * FROM foo;'
Tu pourrais essayer brew install postgresql
Mais cela fournit une belle interface graphique pour gérer vos bases de données https://postgresapp.com
brew install postgresqlinstallez psql avec la base de données elle-même :(