La pagina ufficiale non menziona questo caso. Ma molti utenti hanno bisogno solo psqlsenza 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 psqlsenza 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 libpqma 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:$PATHper aggiungere tutti i comandi al tuo percorso in una volta sola, utilizzando un nome di directory che non cambia con la versione di libpqquella che installi.
Homebrew ha solo la formula postgres e non ha alcuna formula specifica che installa solo lo psqlstrumento.
Quindi il "modo corretto" per ottenere l' psqlapplicazione è 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 psqlper connetterti a server Postgres remoti e non ne eseguirai uno locale, anche se potresti farlo se lo volessi davvero.
Per verificare che il postgresdemone 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 linkpassaggio. 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' libpqapproccio.
libpq 11.2
MacOS e zsh o bash
sotto funziona
libpqbrew 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_profileecho 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.bash_profilese 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 psqlquella 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 postgresqlinstalla psql con il database stesso :(