Resmi sayfa böyle bir durumdan bahsetmiyor. Ancak birçok kullanıcının yalnızca psql
yerel bir veritabanı olmadan ihtiyacı var (AWS'de sahibim). Brew yok psql
.
Resmi sayfa böyle bir durumdan bahsetmiyor. Ancak birçok kullanıcının yalnızca psql
yerel bir veritabanı olmadan ihtiyacı var (AWS'de sahibim). Brew yok psql
.
Yanıtlar:
Libpq'i kurmak için homebrew de kullanabilirsiniz.
brew install libpq
Bu size psql, pg_dump ve bir sürü başka istemci yardımcı programını Postgres kurmadan verecektir.
Daha sonra kurulum dizinini yolunuza eklersiniz. Benim durumumda, dizin konumu:
/usr/local/Cellar/libpq/10.3/bin
brew link --force libpq
ancak bu, istemediğiniz / ihtiyaç duymayabileceğiniz bir dizi başka sembolik bağ oluşturacaktır.
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
libpq
yüklediğiniz sürümle değişmeyen bir dizin adı kullanarak tek seferde yolunuza tüm komutları eklemek için.
Homebrew yalnızca postgres formülüne sahiptir ve yalnızca psql
aracı yükleyen belirli bir formüle sahip değildir .
Dolayısıyla, psql
uygulamayı almanın "doğru yolu" aslında postgres formülünü yüklemektir ve "uyarılar" bölümünün en altına doğru veritabanını gerçekten çalıştırmadığını, yalnızca dosyaları sisteminize koyduğunu göreceksiniz. :
$ 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
Artık psql
uzak Postgres sunucularına bağlanmak için kullanabilirsiniz ve gerçekten isteseniz de yerel bir sunucu çalıştırmayacaksınız.
Yerel postgres
daemonun çalışmadığını doğrulamak için, kurulu homebrew hizmetlerinizi kontrol edin:
$ brew services list
Name Status User Plist
mysql stopped
postgresql stopped
Homebrew Hizmetleri yüklü değilse , sadece
$ brew tap homebrew/services
... ve bu işlevi alacaksınız. Homebrew Hizmetleri hakkında daha fazla bilgi için , nasıl çalıştığını açıklayan bu mükemmel blog yazısını okuyun .
brew link
adım gerektirmez . Formüldeki keg_only bildirimi nedeniyle bağlantıyı libpq ile zorlamak gereklidir . Bu özel karmaşıklık göz önüne alındığında , sorunun sorulduğunu yapmanın "doğru" yolu olarak bu cevabın yanında duruyorum. Yine de birçok kullanıcının bu libpq
yaklaşımı tercih edeceğini biliyorum .
libpq 11.2
MacOS & zsh veya bash
Aşağıda işler
libpq
brew install libpq
PATH güncellemesi
zsh kullanıyorsanız:
echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
bash kullanıyorsanız:
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
bash kullanıyorsanız.
Postgresql'e gerçekten ihtiyacınız yoksa, o zaman libra kullanmak için yolunuzu değiştirmek zorunda bile değilsiniz, sadece bağlantı kurun libpq
. Dokümanlar, olmamasının tek nedeninin PostgreSQL paketiyle çakışmaları önlemek olduğunu söylüyor.
brew uninstall postgresql
brew install libpq
brew link --force libpq
Bunların hepsini gerçekten yetersiz buldum, özellikle postgres'in birden çok sürümünü desteklemeniz gerekiyorsa. ÇOK daha kolay bir çözüm, ikili dosyaları buradan indirmektir:
https://www.enterprisedb.com/download-postgresql-binaries
Üstelik psql
, üzerinde çalıştığınız veritabanıyla eşleşen yürütülebilir sürümü herhangi bir ekstra adım olmadan çalıştırın.
misal:
./path/to/specific/version/bin/psql -c '\x' -c 'SELECT * FROM foo;'
Deneyebilirsin brew install postgresql
Ancak bu, veritabanlarınızı yönetmek için güzel bir GUI sağlar https://postgresapp.com
brew install postgresql