运行make命令安装PostgreSQL扩展时权限被拒绝

s71maibg  于 2023-04-20  发布在  PostgreSQL
关注(0)|答案(6)|浏览(258)

我尝试按照README文件中的说明安装PostgreSQL-13的Age扩展。当我导航到扩展目录/Users/moiz/Apache_age/postgresql-13.0/age并运行命令sudo make USE_PGXS=1 PG_CONFIG=/Users/moiz/Apache_age/postgresql-13.0/src/bin/pg_config install时,我得到以下错误:
make:execvp:/Users/moiz/Apache_age/postgresql-13.0/src/bin/pg_config:权限被拒绝,请执行以下操作:***没有规则使目标`install '。停止。
我不知道是什么原因导致了这个错误,也不知道如何解决。有人能提供一些指导,告诉我可能出了什么问题,以及如何修复它吗?
先谢谢你的帮助。

fkvaft9z

fkvaft9z1#

您可以使用以下步骤解决此问题:
1.首先,你需要检查你的用户权限,即你是否有权限访问PostgreSQL文件。
1.或者,你需要设置你的PG_CONFIG环境变量,并确认它被设置为正确的路径。对于设置,你可以使用这个命令:
export PG_CONFIG=/Users/moiz/Apache_age/postgresql-13.0/src/bin/pg_config
1.完成上述所有步骤后,现在需要运行make命令,如下所示:
sudo make USE_PGXS=1 PG_CONFIG=/Users/moiz/Apache_age/postgresql-13.0/src/bin/pg_config install
现在它将编译并安装PostgreSQL 13所需的AGE扩展。

8yoxcaq7

8yoxcaq72#

我在我的系统上重新创建了这个错误,这是因为pg_config的路径不正确。请尝试在make install命令中使用正确的路径:

sudo make USE_PGXS=1 PG_CONFIG=/Users/moiz/Apache_age/postgresql-13.0/bin/pg_config install
slmsl1lt

slmsl1lt3#

在我的系统上创建了此错误,这是因为pg_config的路径不正确。请尝试在make install命令中使用正确的路径:
sudo make USE_PGXS=1 PG_CONFIG=/Users/moiz/Apache_age/postgresql-13.0/bin/pg_config install

pbgvytdp

pbgvytdp4#

要修复“Permission denied”错误,您需要向尝试安装扩展的目录授予写入/更新权限。
有人问过同样的问题,你可以参考一下。

stszievb

stszievb5#

可以尝试使用相对路径,如

sudo make USE_PGXS=1 PG_CONFIG=../src/bin/pg_config install

如果这不起作用,那么您可能必须使用以下命令重新配置并重新安装postgresql

./configure --prefix=$(pwd) --enable-debug --enable-cassert

然后就跑

gmake ; gmake install;

最后再次尝试PG_CONFIG,这次将PG_CONFIG设置为

sudo make USE_PGXS=1 PG_CONFIG=../bin/pg_config install
cuxqih21

cuxqih216#

您可能需要使用正确的路径来放置postgresql配置文件,您可以通过以下命令搜索正确的路径:

which pg_config

这个命令应该打印pg_config文件的完整路径。如果没有输出,可能是PostgreSQL安装不正确或者不在你的PATH中。

相关问题