我正在关注如何使用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
这正是我所做的:
现在可以在这里找到PostgreSQL文件夹:/Library/PostgreSQL
。里面有一个名为11
的文件夹。在/Library/PostgreSQL/11
里面,我可以看到bin
文件夹和data
文件夹。
我的Applications
文件夹中有另一个名为PostgreSQL 11
的文件夹。在这里,我可以看到一个Documentation
文件夹和我相信的其他一些程序:
当我忽略设置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
)给出了同样的错误。
资源对我没有任何帮助:
当您运行export PATH="/Library/PostgreSQL/11/bin"
时,您告诉系统您需要的所有命令都在该单个目录中。由于您还需要像wc
这样的标准系统实用程序,您还需要包含它们位于PATH
中的目录。通常,您只需将postgres目录添加到搜索命令的目录列表中即可:
export PATH="/Library/PostgreSQL/11/bin:$PATH"