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

Windows10部署CogStack NiFi时samples-db未填充且报root角色不存在错误

问题产生原因
  • 手动执行脚本报错的直接原因:你进入容器时默认使用root系统用户执行init_db.sh,脚本内调用的psql命令默认会将当前系统用户名作为数据库登录角色,而PostgreSQL数据库默认初始化的管理角色是postgres,不存在root角色,因此直接触发权限报错。
  • 容器自动初始化未执行的核心原因有两类:
    1. 持久化卷残留问题:PostgreSQL官方镜像的初始化逻辑为仅在数据目录为空时执行初始化脚本,如果你此前已经启动过一次samples-db容器,即使第一次启动失败,已经生成的持久化数据目录会被识别为非空,后续重启容器时会直接跳过所有初始化步骤,不会执行init_db.sh。
    2. Windows环境挂载权限问题:Docker Desktop在Windows环境下挂载宿主机脚本时,可能会出现脚本可执行权限丢失、挂载文件读取失败的问题,导致容器启动阶段无法正常执行映射的init_db.sh脚本,样本数据自然不会写入。
  • 脚本设计的隐含缺陷:init_db.sh中没有显式指定psql命令的登录用户参数-U postgres,完全依赖执行用户的身份匹配数据库角色,只要执行脚本的用户不是postgres,就会触发角色不存在的报错,不管是自动执行阶段还是手动执行阶段都会受影响。

内容的提问来源于stack exchange,提问作者user1610132

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:54:04