WSL环境下PostgreSQL 11.17无法启动问题求助
解决WSL中PostgreSQL 11启动失败问题
一、先处理日志文件权限错误
当前报错logfile: Permission denied是因为你指定的logfile所在目录没有写入权限,可按以下方式解决:
- 指定PostgreSQL数据目录存放日志(该目录默认对postgres用户有完整权限):
./pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/data/postgres.log start - 或者使用当前用户主目录:
./pg_ctl -D /usr/local/pgsql/data -l ~/postgres_start.log start
二、排查并终止残留PostgreSQL进程
如果存在未正常退出的进程,按以下步骤操作:
- 查找所有PostgreSQL相关进程:
输出里的数字就是进程ID(PID),注意排除ps aux | grep postgresgrep postgres这条自身进程。 - 终止单个进程:
若进程无法正常终止,强制杀死:kill <进程PID>kill -9 <进程PID> - 批量终止所有PostgreSQL进程(更快捷):
也可以用PostgreSQL自带命令尝试停止:pkill postgres./pg_ctl -D /usr/local/pgsql/data stop
三、补充建议
尽量使用postgres系统用户运行PostgreSQL服务,避免用root用户操作,切换用户命令:
su - postgres
切换后再执行启动命令。
内容的提问来源于stack exchange,提问作者Matheus Farias
相关产品推荐
相关产品推荐

