You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS 8远程PgAdmin4无法访问本地文件进行备份恢复的解决方法

解决方案

1. 检查并修复PgAdmin4存储目录权限

PgAdmin4的备份/恢复文件默认存储在/var/lib/pgadmin/storage目录,需确保该目录及子目录归apache用户/组所有:

  • 查看目录权限:
    ls -ld /var/lib/pgadmin/storage
    
  • 若所有者不是apache:apache,执行修改命令:
    chown -R apache:apache /var/lib/pgadmin/storage
    chmod -R 700 /var/lib/pgadmin/storage
    

2. 修复SELinux上下文(CentOS 8默认开启SELinux)

SELinux可能阻止httpd进程读写存储目录,需设置正确的上下文:

  • 查看当前SELinux上下文:
    ls -Z /var/lib/pgadmin/storage
    
  • 设置并应用正确的上下文:
    semanage fcontext -a -t httpd_sys_rw_content_t "/var/lib/pgadmin/storage(/.*)?"
    restorecon -Rv /var/lib/pgadmin/storage
    

3. 自定义存储目录(可选)

若需使用自定义目录存储备份文件,按以下步骤操作:

  1. 创建自定义目录:
    mkdir -p /opt/pgadmin_backups
    
  2. 设置权限和SELinux上下文:
    chown -R apache:apache /opt/pgadmin_backups
    chmod -R 700 /opt/pgadmin_backups
    semanage fcontext -a -t httpd_sys_rw_content_t "/opt/pgadmin_backups(/.*)?"
    restorecon -Rv /opt/pgadmin_backups
    
  3. 修改PgAdmin4配置文件:
    编辑/etc/pgadmin4/config_local.py(若不存在则创建),添加:
    STORAGE_DIR = '/opt/pgadmin_backups'
    
  4. 重启httpd服务:
    systemctl restart httpd
    

4. 验证用户专属存储目录

每个PgAdmin4登录用户会在STORAGE_DIR下生成专属子目录(如/var/lib/pgadmin/storage/your_username),需确保该子目录权限为700且归apache:apache所有。若目录不存在,可手动创建后设置权限。

完成以上操作后,重新登录PgAdmin4即可正常进行备份/恢复操作:

  • 备份时可直接在存储目录下创建新文件,不会再提示"Access Denied";
  • 恢复时可选择存储目录内的备份文件,或上传本地文件至该目录后选择。

内容的提问来源于stack exchange,提问作者Jayanta Kumar Nath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 07:12:51