如何在带有MAMP的Mac OS上将Postgres添加到PATH?

时间:2019-04-10 11:13:31

标签: postgresql macos environment-variables mamp

我正在跟踪this tutorial,了解如何在带有MAMP的MAC OS X上运行 Postgres 。但是我似乎无法将PostgreSQL添加到我的PATH变量中。运行export PATH="/Library/PostgreSQL/11/bin"时出现此错误:

  

提示上下文:13:找不到命令:whoami   
提示背景工作: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文件夹和我相信的其他一些程序:

  • 应用程序堆栈生成器
  • pgAdmin 4
  • 重新加载配置
  • SQL Shell(psql)

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

  

su:对不起

sudo postgres

  不允许

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

另外,运行psql也会给我这个错误,因为我的环境变量中不包括PostgreSQL:

  

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

注意:此错误询问服务器是否正在接受端口为5432的Unix域套接字,而我在端口5433上安装了PostgreSQL时,该怎么办?使用/Library/PostgreSQL/11/bin移至cd并运行sudo ./psql(应运行Unix可执行文件psql)会给我同样的错误。


对我无济于事的资源:

1 个答案:

答案 0 :(得分:1)

运行export PATH="/Library/PostgreSQL/11/bin"时,您将告诉系统所需的所有命令都在该目录中。由于还需要诸如wc之类的标准系统实用程序,因此您还需要在PATH中包括它们所在的目录。通常,您可以这样做,只是将postgres目录添加到搜索命令的目录列表中:

export PATH="/Library/PostgreSQL/11/bin:$PATH"