La page officielle ne mentionne pas un tel cas. Mais de nombreux utilisateurs n'ont besoin que d' psql
une 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' psql
une 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 libpq
mais 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:$PATH
pour ajouter toutes les commandes à votre chemin en une seule fois, en utilisant un nom de répertoire qui ne change pas avec la version libpq
que vous installez.
Homebrew n'a vraiment que la formule postgres , et n'a pas de formule spécifique qui installe uniquement l' psql
outil.
Donc, la "bonne façon" d'obtenir l' psql
application 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 psql
pour 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 postgres
dé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' libpq
approche.
libpq 11.2
MacOS & zsh ou bash
ci-dessous fonctionne
libpq
brew 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_profile
echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.bash_profile
si 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 postgresql
installez psql avec la base de données elle-même :(