gpt4 book ai didi

postgresql - 如何运行 postgres 命令 : could not identify current directory

转载 作者:行者123 更新时间:2023-11-29 14:09:08 25 4
gpt4 key购买 nike

我可以通过执行以下操作来运行 psql:

Davids-d david$ psql --u postgres
Password for user postgres:
psql (9.4.18)
Type "help" for help.

postgres=#

但是,当我运行以下命令时,出现错误:

Davids-iMac:datadocs david$ sudo -u postgres psql -f resources/postgresql/initdb.sql
could not identify current directory: Permission denied

这是什么意思,我该如何解决?请注意,我确实设置了以下变量:

david$ echo $PGDATA
/Users/david/PostgreSQL/data/pg94

最佳答案

问题是 sudo -u postgres

您的 shell 以您的身份运行,但您以 postgres 用户身份运行命令。它无权查看该文件,甚至不在当前目录中。

我们可以通过尝试以 postgres 用户身份使用 sudo -u postgres cat resources/postgresql/initdb.sql 读取文件来从等式中消除 psql。你应该得到同样的错误。

有两件事你必须做...

  1. cd 到 postgres 用户所在的目录。
  2. 将文件放在 postgres 用户可以访问的地方。

/tmp,例如。

关于postgresql - 如何运行 postgres 命令 : could not identify current directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50993655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com