使用pg_ctl在指定路径启动PostgreSQL服务器时遇权限错误求助
解决PostgreSQL启动时的日志文件权限问题
报错核心是当前用户无权限创建或写入指定的logfile,以下是几种解决方法:
使用有权限的绝对路径存放日志
避免使用相对路径logfile,换成当前用户可写入的绝对路径,比如用户主目录:/bin/pg_ctl -D /path/to/db -l ~/postgresql.log start切换至postgres专用用户操作
PostgreSQL服务建议用系统专用的postgres用户运行,先切换用户:sudo su - postgres再执行启动命令,日志文件可放在postgres有权限的目录(如
/var/log/postgresql/):/bin/pg_ctl -D /path/to/db -l /var/log/postgresql/postgres.log start修复日志文件/目录的权限
- 先检查日志文件所在目录的权限:
ls -ld $(dirname logfile) - 给当前用户添加目录写入权限:
chmod u+w $(dirname logfile) - 如果日志文件已存在,同步修复文件权限:
chmod u+w logfile
注:系统级目录的权限修改需要加
sudo。- 先检查日志文件所在目录的权限:
内容的提问来源于stack exchange,提问作者Waleed Arif
相关产品推荐
相关产品推荐

