官方页面并没有提到这种情况。但是许多用户只需要psql
而不需要本地数据库(我在AWS上有)。Brew没有psql
。
官方页面并没有提到这种情况。但是许多用户只需要psql
而不需要本地数据库(我在AWS上有)。Brew没有psql
。
你也可以使用Homebrew来安装libpq。
brew install libpq
这将为您提供psql、pg_dump以及许多其他客户端实用程序,而无需安装Postgres。不幸的是,由于它提供了与完整的postgresql软件包中包含的某些实用程序相同的内容,所以brew会将其“keg-only”安装,这意味着默认情况下它不在PATH路径中。Homebrew将在安装后输出有关如何将其添加到PATH路径的一些信息。在我的情况下,它是这样的:echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.zshrc
或者,您可以为所需的实用程序创建符号链接。例如:
ln -s /usr/local/Cellar/libpq/10.3/bin/psql /usr/local/bin/psql
注意: 使用已安装的版本而不是10.3版本。
或者,您可以指导homebrew“将其所有二进制文件链接到路径中”。
brew link --force libpq
但是这样你将无法安装postgresql
软件包。
brew link --force libpq
,但这会创建一堆其他符号链接,可能不是你想要/需要的。 - Daveln -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
- hotzenfor cmd in psql pg_dump pg_restore; do ln -s ../opt/libpq/bin/$cmd /usr/local/bin/$cmd; done
- David Hullecho 'export PATH="/opt/homebrew/opt/libpq/bin:$PATH"' >> ~/.zshrc
。 - Eskobrew install libpq
更新路径
如果使用zsh:
echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
# 或者在M1 MacOS上
echo 'export PATH="/opt/homebrew/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
。 - HenryCPATH
变量安装方法。 - Timo/opt/homebrew/opt/libpq/bin
。 - it3xlHomebrew只有一个postgres公式,并没有任何专门安装psql
工具的公式。
因此,“正确”的获取psql
应用程序的方法确实是安装postgres公式,你会发现在“警告”部分的底部它实际上并不运行数据库,只是将文件放在您的系统中:
$ 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
守护程序是否正在运行,请检查您安装的Homebrew服务:$ 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
方法。 - Andrew Bobulskylibpq
。文档中说这样做的唯一原因是为了避免与PostgreSQL软件包冲突。brew uninstall postgresql
brew install libpq
brew link --force libpq
安装 libpq:
brew install libpq
然后,创建一个符号链接:
sudo ln -s $(brew --prefix)/opt/libpq/bin/psql /usr/local/bin/psql
我发现所有这些方法都很不令人满意,尤其是如果你需要支持多个版本的postgres。一个更加简单的解决方案是在这里下载二进制文件:
https://www.enterprisedb.com/download-postgresql-binaries
然后只需运行与你正在使用的数据库相匹配的psql
可执行版本,而不需要任何额外的步骤。
例如:
./path/to/specific/version/bin/psql -c '\x' -c 'SELECT * FROM foo;'
我在这里找到了很多有用的答案,但由于Homebrew将安装文件移动到/opt/homebrew/Cellar/libpq/15.1
,所以有点过时。在使用brew install libpq
安装完libpq后,你可以运行以下命令查看新位置:
brew link --force libpq
然后,您可以使用以下命令将其添加到您的zshrc文件中:
echo 'export PATH="/opt/homebrew/Cellar/libpq/15.1/bin:$PATH"' >> ~/.zshrc
brew install postgresql
命令来安装 PostgreSQL。brew install postgresql
安装自带数据库的 psql :( - Vitaly Zdanevichpsql
,但是作为额外奖励,您无需对PATH或符号链接进行调整... - rogerdpack