Postgres COPY TO 不适用于预期的目标目录
Postgres COPY TO not working for intended destination directory
我编写了一个函数,它根据来自网络的用户输入准备数据,并将结果作为 csv
复制到指定目录,从那里打包(每个请求将包含来自 3不同的 tables/csv 个文件)将可供用户下载。
如果输出目录在 pg_data
目录 /var/lib/pgsql/data/adc_downloads
中,则函数本身有效,权限为:
drwxr-xr-x 2 postgres postgres 4096 Dec 5 15:18 adc_downloads
但理想情况下,我希望输出目录位于此处:/var/www/vhosts/[vhostname]/httpdocs/adc_downloads
。在 pg_data
中运行后,我使用具有相同参数的 chown -R --reference=/var/lib/pgsql/data/adc_downloads /var/www/vhosts/[vhostname]/httpdocs/adc_downloads
和 chmod
来模拟似乎有效的权限:
drwxr-xr-x 2 postgres postgres 4096 Dec 5 14:19 adc_downloads
但我在尝试 运行 具有预期输出目录的函数时仍然收到 Permission denied
错误。
其他东西必须覆盖我已经(尝试?)设置的权限,知道这可能是什么吗?鉴于函数本身在一个目录中工作,但在另一个目录中不工作,我认为它不是 SELinux issue,尽管我当然可能是错的。
版本信息:Postgres 8.4
CentOS 6.5
使用 Plesk
.
构建
通过为 other
用户(包括 postgres
用户)添加对 [vhostname]
和 httpdocs
目录
我编写了一个函数,它根据来自网络的用户输入准备数据,并将结果作为 csv
复制到指定目录,从那里打包(每个请求将包含来自 3不同的 tables/csv 个文件)将可供用户下载。
如果输出目录在 pg_data
目录 /var/lib/pgsql/data/adc_downloads
中,则函数本身有效,权限为:
drwxr-xr-x 2 postgres postgres 4096 Dec 5 15:18 adc_downloads
但理想情况下,我希望输出目录位于此处:/var/www/vhosts/[vhostname]/httpdocs/adc_downloads
。在 pg_data
中运行后,我使用具有相同参数的 chown -R --reference=/var/lib/pgsql/data/adc_downloads /var/www/vhosts/[vhostname]/httpdocs/adc_downloads
和 chmod
来模拟似乎有效的权限:
drwxr-xr-x 2 postgres postgres 4096 Dec 5 14:19 adc_downloads
但我在尝试 运行 具有预期输出目录的函数时仍然收到 Permission denied
错误。
其他东西必须覆盖我已经(尝试?)设置的权限,知道这可能是什么吗?鉴于函数本身在一个目录中工作,但在另一个目录中不工作,我认为它不是 SELinux issue,尽管我当然可能是错的。
版本信息:Postgres 8.4
CentOS 6.5
使用 Plesk
.
通过为 other
用户(包括 postgres
用户)添加对 [vhostname]
和 httpdocs
目录