【问题标题】:How to put psql on the path when using Postgres.app on OS X?在 OS X 上使用 Postgres.app 时如何将 psql 放在路径上?
【发布时间】:2014-01-22 14:29:11
【问题描述】:

我已经在我的 Mac 上安装了 Postgres93。我可以打开应用程序,并通过应用程序“打开 psql”,该应用程序使用 psql 打开命令行界面。

但是,当我输入 $ which psql 时,没有返回任何内容。安装路径为/Applications/Postgres93.app。如何让$ which psql 显示正确的结果?

Mac OS X - 小牛

PostgreSQL 包,我不太确定。我去这里下载了-http://postgresapp.com/

【问题讨论】:

  • 请始终指定 (a) 您的 Mac OS X 版本,因为 Apple 喜欢以随机和令人兴奋的方式更改内容,以及 (b) 您正在使用什么 PostgreSQL 打包 - homebrew、heroku postgres.app、enterprisedb一键,macports等。这种情况下很容易猜到,但只是因为你指定了路径。

标签: macos postgresql psql


【解决方案1】:

您似乎安装了 Heroku 的 Postgres.app,这是一个用于一次性测试和开发的工具。通过following the instructions in the Postgres.app documentation 将捆绑包的内容添加到您的PATH - 请参阅“命令行工具”。

【讨论】:

  • 2020 更新:Postgres.app 文档中的相关部分现在写为“CLI 工具”而不是“命令行工具”。在“CLI 工具”页面上,请参阅“配置您的 $PATH”。
【解决方案2】:

** 已编辑:包括永久性修复,而不仅仅是在当前会话期间。 **

我遇到了同样的问题,并且还发现文档中缺少明确的答案。

修复:

  1. 下载新应用,然后按照说明将其移至 Applications 文件夹

  2. Add the new bundle to your path 在终端中输入以下内容(特定于版本号 - 我的是 9.4): PATH="/Applications/Postgres.app/Contents/Versions/9.4/bin:$PATH"

  3. 要永久解决此问题,请运行同一行,但在前面加上 export: export PATH="/Applications/Postgres.app/Contents/Versions/9.4/bin:$PATH"

【讨论】:

  • 这是否会永久更改$PATH?对我来说,它只持续到我关闭终端窗口。编辑 ~/.bash_profile 文件是我的永久解决方案。
【解决方案3】:

我只是experienced the same problem,并通过将export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.4/bin 添加到.bash_profile 来解决它。请注意,此行是特定于版本的,因此请务必根据您当前的 Postgres.app 版本检查此行。

【讨论】:

    【解决方案4】:

    我刚刚安装了 postgres 并且无法运行 psql 命令,直到我在终端中运行以下命令:

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

    现在,当我使用 psql 命令时,终端知道在哪里可以找到 postgres。

    记得将版本号“9.5”替换为您当前的版本。

    【讨论】:

    • 建议将 9.5 更改为 latest。 Versions 文件夹中有一个很好的符号链接。
    【解决方案5】:

    我遇到了同样的问题,没有显示 which psql 命令,直到我运行下面的命令来解决它。下面提供的命令只是对这里其他人已经提供的内容的一点调整。唯一的区别是,您无需在命令中提供特定的 postgres 版本号,只需运行以下命令即可告诉 postgres 使用最新的 postgres 版本:

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

    现在,当我运行 which psql.

    时,我的终端能够找到 postgres 的路径。

    希望这会有所帮助。

    【讨论】:

      【解决方案6】:

      在 macos mojave 上,我在 ~/.profile 中添加了以下行:

      export PATH=$PATH:/Library/PostgreSQL/10/bin
      

      psql 命令行客户端位于此文件夹中。我用过enterprisedb installer

      【讨论】:

      • 这对我很有用。 “10”指的是已安装的 PostgreSQL 版本,如果您安装了最新版本,今天将是“11”。在这种情况下,上面的行将是export PATH=$PATH:/Library/PostgreSQL/11/bin
      【解决方案7】:

      在 macOS Mojave 上,这些说明运行良好:

      1. 如果您的 Postgres 尚未安装,我建议您使用出色的 "brew" 包管理器 https://brew.sh/

        $ brew cask install postgres 或者您可以从网站上以通常的方式安装它

      2. 把它放在你的 ~/.bash_profile 文件的底部:

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

      3. 重新启动终端直接使用以下命令重新启动 ~/.bash_profile

        $ . ~/.bash_profile

      4. 验证您的安装:

        $ psql --version

      【讨论】:

        【解决方案8】:

        在 Mac 中,/Applications/PostgresSQL 下已经有一个 SQL Shell 应用程序 试试看

        另外,您可以运行 /Library/PostgreSQL/11/scripts/runpsql.sh

        【讨论】:

          【解决方案9】:

          我使用的是 catalina 10.15.3,在使用自制软件安装 psql 后我遇到了同样的问题。然后我注意到,提到了自制软件

          ==> libpq libpq 是仅桶装的,这意味着它没有符号链接到 /usr/local, 因为与 postgres 公式冲突。

          如果您需要在 PATH 运行中首先使用 libpq:

          echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.bash_profile

          所以,我运行了 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.bash_profile 并将 psql 添加到我的路径中

          【讨论】:

            【解决方案10】:

            就我而言,我安装了 Postgres12 并遇到了同样的问题。我必须注意我的 bin 文件夹的位置。它恰好在/Applications/2ndQuadrant/PostgreSQL/12/bin。所以我不得不在我的终端中运行export PATH="/Applications/2ndQuadrant/PostgreSQL/12/bin:$PATH" 并重新启动终端。这样就解决了。

            【讨论】:

              猜你喜欢
              • 2013-02-07
              • 2013-07-15
              • 1970-01-01
              • 2016-03-16
              • 1970-01-01
              • 1970-01-01
              • 2016-11-10
              • 2014-07-21
              • 1970-01-01
              相关资源
              最近更新 更多