Halaman resminya tidak menyebutkan kasus seperti itu. Tetapi banyak pengguna hanya perlu psql
tanpa database lokal (saya memilikinya di AWS). Brew tidak punya psql
.
Halaman resminya tidak menyebutkan kasus seperti itu. Tetapi banyak pengguna hanya perlu psql
tanpa database lokal (saya memilikinya di AWS). Brew tidak punya psql
.
Jawaban:
Anda juga dapat menggunakan homebrew untuk menginstal libpq.
brew install libpq
Ini akan memberi Anda psql, pg_dump dan sejumlah besar utilitas klien lainnya tanpa menginstal Postgres.
Anda kemudian menambahkan direktori instalasi ke jalur Anda. Dalam kasus saya, lokasi direktori adalah:
/usr/local/Cellar/libpq/10.3/bin
brew link --force libpq
tetapi itu akan membuat banyak symlink lain yang mungkin tidak Anda inginkan / butuhkan.
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
untuk menambahkan semua perintah ke jalur Anda sekaligus, menggunakan nama direktori yang tidak berubah dengan versi libpq
yang Anda instal.
Homebrew hanya benar-benar memiliki rumus postgres , dan tidak memiliki rumus khusus yang hanya menginstal psql
alat tersebut.
Jadi, "cara yang benar" untuk mendapatkan psql
aplikasi adalah dengan menginstal rumus postgres , dan Anda akan melihat ke bagian bawah bagian "peringatan" bahwa ia tidak benar-benar menjalankan database, itu hanya meletakkan file di sistem Anda :
$ 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
Sekarang Anda dapat menggunakan psql
untuk terhubung ke server Postgres jarak jauh, dan tidak akan menjalankan server lokal, meskipun Anda bisa jika Anda benar-benar menginginkannya.
Untuk memverifikasi bahwa postgres
daemon lokal tidak berjalan, periksa layanan homebrew yang Anda instal:
$ brew services list
Name Status User Plist
mysql stopped
postgresql stopped
Jika Anda belum menginstal Layanan Homebrew , cukup
$ brew tap homebrew/services
... dan Anda akan mendapatkan fungsi ini. Untuk informasi lebih lanjut tentang Layanan Homebrew , baca posting blog luar biasa ini yang menjelaskan cara kerjanya .
brew link
langkah. Memaksa tautan dengan libpq diperlukan karena deklarasi keg_only dalam rumus. Mengingat kerumitan khusus ini , saya berpegang pada jawaban ini sebagai cara yang "benar" untuk melakukan apa yang ditanyakan oleh pertanyaan. Saya menyadari bahwa banyak pengguna masih lebih suka libpq
pendekatan ini.
libpq 11.2
MacOS & zsh atau bash
di bawah ini bekerja
libpq
brew install libpq
perbarui PATH
jika menggunakan zsh:
echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
jika menggunakan 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
jika Anda menggunakan bash.
Jika Anda benar-benar tidak membutuhkan postgresql maka Anda bahkan tidak perlu mengubah jalur Anda untuk menggunakan libra, cukup tautkan libpq
. Dokumen mengatakan satu-satunya alasan tidak ada adalah untuk menghindari konflik dengan paket PostgreSQL.
brew uninstall postgresql
brew install libpq
brew link --force libpq
Saya menemukan semua ini sangat tidak memuaskan, terutama jika Anda harus mendukung banyak versi postgres. Solusi yang JAUH lebih mudah adalah mengunduh binari di sini:
https://www.enterprisedb.com/download-postgresql-binaries
Dan cukup jalankan versi yang dapat dieksekusi psql
yang cocok dengan database yang sedang Anda kerjakan tanpa langkah tambahan.
contoh:
./path/to/specific/version/bin/psql -c '\x' -c 'SELECT * FROM foo;'
Kamu bisa mencoba brew install postgresql
Tetapi ini menyediakan GUI yang bagus untuk mengelola database Anda https://postgresapp.com
brew install postgresql
instal psql dengan database itu sendiri :(