官方页面上没有提及这种情况。但是许多用户只psql
需要一个本地数据库(我在AWS上就可以了)。酿造没有psql
。
官方页面上没有提及这种情况。但是许多用户只psql
需要一个本地数据库(我在AWS上就可以了)。酿造没有psql
。
Answers:
您也可以使用自制软件安装libpq。
brew install libpq
这将为您提供psql,pg_dump和许多其他客户端实用程序,而无需安装Postgres。
然后,将安装目录添加到路径。就我而言,目录位置是:
/usr/local/Cellar/libpq/10.3/bin
brew link --force libpq
但这会创建许多您可能不需要的符号链接。
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
安装版本的变化而一次性将所有命令添加到路径中。
Homebrew实际上仅具有postgres公式,并且没有仅安装该psql
工具的任何特定公式。
因此,获取psql
应用程序的“正确方法” 的确是安装postgres公式,您将在“ caveats”部分的底部看到它实际上并没有运行数据库,只是将文件放在系统中:
$ 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
现在,您可以psql
用来连接到远程Postgres服务器,而不必运行本地服务器,尽管您确实可以这样做。
要验证本地postgres
守护程序未运行,请检查已安装的自制软件服务:
$ brew services list
Name Status User Plist
mysql stopped
postgresql stopped
如果您没有安装Homebrew Services,只需
$ brew tap homebrew/services
...您将获得此功能。有关Homebrew Services的更多信息,请阅读这篇出色的博客文章,其中介绍了它的工作原理。
brew link
步骤。由于公式中的keg_only声明,必须使用libpq强制链接。鉴于这种特殊的复杂性,我坚持认为答案是做问题所要求的“正确”方法。我认识到,libpq
尽管如此,许多用户仍然会喜欢这种方法。
libpq 11.2
MacOS和zsh或bash
下面的作品
libpq
brew install libpq
更新路径
如果使用zsh:
echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
如果使用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
如果您正在使用bash。
我发现所有这些都不令人满意,尤其是当您必须支持多个版本的postgres时。一个更简单的解决方案是在此处下载二进制文件:
https://www.enterprisedb.com/download-postgresql-binaries
只需运行psql
与您要使用的数据库匹配的可执行版本,而无需任何其他步骤。
例:
./path/to/specific/version/bin/psql -c '\x' -c 'SELECT * FROM foo;'
你可以试试 brew install postgresql
但这提供了一个不错的GUI来管理您的数据库https://postgresapp.com
brew install postgresql
用数据库本身安装psql :(