La pagina ufficiale non menziona questo caso. Ma molti utenti hanno bisogno solo psql
senza un database locale (ce l'ho su AWS). Brew non ce l'hanno psql
.
La pagina ufficiale non menziona questo caso. Ma molti utenti hanno bisogno solo psql
senza un database locale (ce l'ho su AWS). Brew non ce l'hanno psql
.
Risposte:
Puoi anche usare homebrew per installare libpq.
brew install libpq
Questo ti darebbe psql, pg_dump e un sacco di altre utilità client senza installare Postgres.
Quindi aggiungi la directory di installazione al tuo percorso. Nel mio caso, la posizione della directory è:
/usr/local/Cellar/libpq/10.3/bin
brew link --force libpq
ma questo creerà un sacco di altri collegamenti simbolici che potresti non volere / aver bisogno.
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
per aggiungere tutti i comandi al tuo percorso in una volta sola, utilizzando un nome di directory che non cambia con la versione di libpq
quella che installi.
Homebrew ha solo la formula postgres e non ha alcuna formula specifica che installa solo lo psql
strumento.
Quindi il "modo corretto" per ottenere l' psql
applicazione è in effetti installare la formula postgres , e vedrai in fondo alla sezione "avvertenze" che in realtà non esegue il database, ma mette semplicemente i file sul tuo sistema :
$ 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
Ora puoi usarlo psql
per connetterti a server Postgres remoti e non ne eseguirai uno locale, anche se potresti farlo se lo volessi davvero.
Per verificare che il postgres
demone locale non sia in esecuzione, controlla i servizi homebrew installati:
$ brew services list
Name Status User Plist
mysql stopped
postgresql stopped
Se non hai installato Homebrew Services , basta
$ brew tap homebrew/services
... e otterrai questa funzionalità. Per ulteriori informazioni sui servizi Homebrew , leggi questo eccellente post sul blog che spiega come funziona .
brew link
passaggio. Forzare il collegamento con libpq è necessario a causa della dichiarazione keg_only nella formula. Data questa specifica complicazione , sostengo che questa risposta sia il modo "corretto" di fare ciò che la domanda chiede. Riconosco che molti utenti preferiranno comunque l' libpq
approccio.
libpq 11.2
MacOS e zsh o bash
sotto funziona
libpq
brew install libpq
aggiorna PATH
se usi zsh:
echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
se usi 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
se stai usando bash.
Se davvero non hai bisogno di postgresql, non devi nemmeno modificare il tuo percorso per usare libra, basta collegare libpq
. I documenti dicono che l'unica ragione per cui non lo è è per evitare conflitti con il pacchetto PostgreSQL.
brew uninstall postgresql
brew install libpq
brew link --force libpq
Ho trovato tutti questi elementi davvero insoddisfacenti, soprattutto se devi supportare più versioni di postgres. Una soluzione MOLTO più semplice è scaricare i binari qui:
https://www.enterprisedb.com/download-postgresql-binaries
Ed esegui semplicemente la versione eseguibile di psql
quella corrispondente al database su cui stai lavorando senza passaggi aggiuntivi.
esempio:
./path/to/specific/version/bin/psql -c '\x' -c 'SELECT * FROM foo;'
Potresti provare brew install postgresql
Ma questo fornisce una bella GUI per gestire i tuoi database https://postgresapp.com
brew install postgresql
installa psql con il database stesso :(