安装 Postgres 自定义类型 - 无法访问文件“...”:权限被拒绝
Installing Postgres custom type - could not access file "...": Permission denied
使用 postgres11,我正在尝试注册源代码分发中的示例 Complex
类型。
我构建的类型没有任何问题:
git clone https://github.com/postgres/postgres.git
cd postgres/src/tutorial
make
但是当我尝试安装它时,我 运行 遇到了权限问题:
~/p/s/tutorial> psql -U postgres -W
Password:
psql (11.2 (Debian 11.2-1.pgdg90+1))
Type "help" for help.
postgres=# \c testdata
Password for user postgres:
You are now connected to database "testdata" as user "postgres".
testdata=#
testdata=# \i complex.sql
psql:complex.sql:39: NOTICE: type "complex" is not yet defined
DETAIL: Creating a shell type definition.
psql:complex.sql:39: ERROR: could not access file "/home/mnuttall/postgres/src/tutorial/complex": Permission denied
psql:complex.sql:47: ERROR: type complex does not exist
我不确定权限问题究竟来自何处,因为我已将 src/tutorial 目录中所有内容的权限更改为 777。
有人有想法吗?
系统用户似乎无法访问您的主目录 postgres
。
您需要确保以上目录的权限允许用户postgres
进入目录(r-x
)。所以可能的解决方案是 运行:
$ chmod o+rx $HOME
如果这没有帮助,请确保 运行 在路径中的每个其他目录上也执行此命令。
使用 postgres11,我正在尝试注册源代码分发中的示例 Complex
类型。
我构建的类型没有任何问题:
git clone https://github.com/postgres/postgres.git
cd postgres/src/tutorial
make
但是当我尝试安装它时,我 运行 遇到了权限问题:
~/p/s/tutorial> psql -U postgres -W
Password:
psql (11.2 (Debian 11.2-1.pgdg90+1))
Type "help" for help.
postgres=# \c testdata
Password for user postgres:
You are now connected to database "testdata" as user "postgres".
testdata=#
testdata=# \i complex.sql
psql:complex.sql:39: NOTICE: type "complex" is not yet defined
DETAIL: Creating a shell type definition.
psql:complex.sql:39: ERROR: could not access file "/home/mnuttall/postgres/src/tutorial/complex": Permission denied
psql:complex.sql:47: ERROR: type complex does not exist
我不确定权限问题究竟来自何处,因为我已将 src/tutorial 目录中所有内容的权限更改为 777。
有人有想法吗?
系统用户似乎无法访问您的主目录 postgres
。
您需要确保以上目录的权限允许用户postgres
进入目录(r-x
)。所以可能的解决方案是 运行:
$ chmod o+rx $HOME
如果这没有帮助,请确保 运行 在路径中的每个其他目录上也执行此命令。