原因:Ubuntu 24.04 频繁出现该问题,主要是因为 AppArmor 策略在更新后会自动重新加载,并封锁了宝塔非标准路径(/www/server/pgsql)
方案1:将 PostgreSQL 的 AppArmor 策略设置为“抱怨模式(Complain Mode)”或直接禁用该配置文件。
方案2:关闭操作系统的自动更新 (建议)方案3. 创建一个“一键修复权限”脚本
- #!/bin/bash
- sudo chown -R postgres:postgres /www/server/pgsql
- sudo chmod -R 700 /www/server/pgsql/data
- sudo chmod -R 755 /www/server/pgsql/logs
- sudo rm -f /www/server/pgsql/data/postmaster.pid
- sudo systemctl restart postgresql
- echo "PostgreSQL 权限修复完成!"
复制代码
日志
- Permission denied
- 2026-02-02 11:31:07.933 CST [1557642] LOG: disabling automatic rotation (use SIGHUP to re-enable)
- 2026-02-02 11:31:07.935 CST [1557642] LOG: could not open log file "/www/server/pgsql/logs/postgresql-2026-01-29.log": Permission denied
- 2026-02-02 11:31:07.935 CST [1557642] LOG: disabling automatic rotation (use SIGHUP to re-enable)
复制代码
|
|