我在 Docker 中运行 PostgreSQL。主机系统是 Ubuntu 18.04.3。每次我在 PostgreSQL 中执行一些 SQL 时,我都会得到
/var/lib/pgsql/.role.sh: not found
有人知道这是为什么吗?或者至少知道.role.sh
脚本是什么?不过,SQL 代码似乎可以正常工作。
根据安全建议,容器在容器和主机上uid
以相同的非 root 用户身份运行。gid
容器内的输出SELECT version();
:
PostgreSQL 12.0 (Debian 12.0-2.pgdg100+1) on x86_64-pc-linux-gnu [...]
PostgreSQL 命令和错误图片:
答案1
我认为您的提示引用了/var/lib/pgsql/.role.sh
。请检查您的~/.psqlrc
文件,特别是以 开头的行\set PROMPT1
。如果适用,请删除引用以下内容的部分:
%`/var/lib/pgsql/.role.sh\`
或者,您可以按照本指南添加缺少的脚本。它将在 PSQL 提示符中显示您当前的角色:https://simply.name/yet-another-psql-color-prompt.html