如何在Mac OS上使用MAMP将Postgres添加到PATH?

问题描述 投票:0回答:1

我正在关注如何使用MAMP在MAC OS X上运行Postgres的this tutorial。但我似乎无法将PostgreSQL添加到我的PATH变量中。当我运行export PATH="/Library/PostgreSQL/11/bin"时,我收到此错误:

prompt_context:13:找不到命令:whoami prompt_background_jobs:1:找不到命令:wc prompt_background_jobs:2:找不到命令:awk

这正是我所做的:

  • 我从Enterprise DB下载了PostgreSQL 11.2
  • 我使用安装程序安装它: 用户名:postgres 密码:postgres 港口:5433

现在可以在这里找到PostgreSQL文件夹:/Library/PostgreSQL。里面有一个名为11的文件夹。在/Library/PostgreSQL/11里面,我可以看到bin文件夹和data文件夹。

我的Applications文件夹中有另一个名为PostgreSQL 11的文件夹。在这里,我可以看到一个Documentation文件夹和我相信的其他一些程序:

  • Application Stack Builder
  • pgAdmin 4
  • 重新加载配置
  • SQL Shell(psql)

当我忽略设置PATH变量并运行su postgres时出现以下错误:

苏:对不起

或者sudo postgres

不允许“root”执行PostgreSQL服务器。 必须在非特权用户ID下启动服务器以防止 可能的系统安全妥协。请参阅文档 有关如何正确启动服务器的更多信息

此外,运行psql给我这个错误,因为PostgreSQL不包含在我的环境变量中:

psql:无法连接到服务器:没有这样的文件或目录 服务器是在本地运行还是接受 Unix域套接字“/tmp/.s.PGSQL.5432”上的连接?

注意:此错误询问服务器是否接受带有端口5432的Unix域套接字,而我在端口5433上安装了PostgreSQL,那是什么呢?使用/Library/PostgreSQL/11/bin移动到cd并运行sudo ./psql(应运行Unix可执行文件psql)给出了同样的错误。


资源对我没有任何帮助:

postgresql macos environment-variables mamp
1个回答
1
投票

当您运行export PATH="/Library/PostgreSQL/11/bin"时,您告诉系统您需要的所有命令都在该单个目录中。由于您还需要像wc这样的标准系统实用程序,您还需要包含它们位于PATH中的目录。通常,您只需将postgres目录添加到搜索命令的目录列表中即可:

export PATH="/Library/PostgreSQL/11/bin:$PATH"
© www.soinside.com 2019 - 2024. All rights reserved.