27

我刚刚在我的 Mac 上安装了Postgres.app,但它无法正常工作。我完成了安装,应用程序图标在菜单栏上,它说它正在侦听端口 5432,但是,如果我尝试从命令行运行它会发生这种情况:

~ $ psql
zsh: correct 'psql' to 'sl' [nyae]? n
zsh: command not found: psql

我之前通过 Homebrew 安装了 PostgreSQL,但在安装 Postgres.app 之前将其删除。我正在运行 Mac OS X Lion。

感谢您的帮助,我真的很想让 PostgreSQL 在我的机器上运行。

4

7 回答 7

56

Postgres.app的psql二进制文件位于应用程序包中,您必须将适当的目录添加到您的PATH. 来自精美手册

配置您的$PATH

Postgres.app 包含许多命令行工具。如果要使用它们,则必须配置$PATH变量。

如果您使用bash(OS X 上的默认 shell),请将以下行添加到~/.bash_profile

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin

[...]

因此,调整您PATH的 zsh 配置文件中的设置以包含

Contents/Versions/latest/bin 

捆绑包中的目录Postgres.app

于 2012-08-27T00:12:19.923 回答
24

我从 2014 年 4 月开始阅读这篇文章,就我的 Postgres 应用程序而言,您必须在路径中包含的目录略有不同。

我必须包括这个:

PATH="/Applications/Postgres.app/Contents/Versions/9.3/bin:$PATH"

我现在可以在终端中运行 psql。

于 2014-04-07T09:24:59.153 回答
5

你应该做什么使用 /latest 而不是 version 所以你在更新 Postgres 时不需要再次更改它。

如何: http: //postgresapp.com/documentation/cli-tools.html

然后运行:

. ~/.bash_profile

重新加载 .bash_profile 并更新您添加的任何功能。

于 2016-01-12T17:53:58.937 回答
5

在 zsh shell 上你有修改.zshrc

PSQL_PATH="/Applications/Postgres.app/Contents/Versions/latest/bin"
PATH="$PATH:$PSQL_PATH"

提示

exec $SHELL
which psql
于 2018-12-20T21:21:15.487 回答
1

这可能看起来很愚蠢,但我很好奇你在哪里安装了 Postgres.app?正如mu is too short's answer 中所建议的那样,文档提到添加/Applications/Postgres.app/Contents/MacOS/bin到您的路径。但是,这需要您在/Applications/文件夹中安装 Postgres.app。

在尝试您可能在 Stack Overflow 上找到的任何更复杂的解决方案以及通过 Google 获得的其他资源之前,您应该确保已将 Postgres.app 安装到正确的位置。它可能就像将 Postgres.app 移动到一样简单,/Applications/因为psql它将/Applications/Postgres.app在任何其他地方之前找到。

或者,您可以使用任何您想要的 Postgres.app 路径。因此,如果您希望它在您的主目录中,那么您可以使用export PATH="~/Postgres.app/Contents/MacOS/bin:$PATH".

高温高压

于 2012-11-27T03:11:58.327 回答
0

我是以前的 Ubuntu 用户,现在在 OSX 中尝试直接从我打开的终端运行“which sql”和“pg_restore”命令不起作用。我点击了大象图标并通过“Open psql”打开了一个终端。一旦我从 psql 控制台退出并在该终端中编写命令,它们都可以正常工作。

于 2014-11-01T11:07:15.037 回答
0

在 ZSH 终端上,在尝试上述解决方案之前,您必须首先安装 Postgres。在使用Hombrew First, hit,

brew install postgres然后检查是否安装 which psql

于 2019-09-15T10:56:12.130 回答