我在 Docker 中運行 PostgreSQL。主機系統是Ubuntu 18.04.3。每次我在 PostgreSQL 中執行一些 SQL 時,我都會得到
/var/lib/pgsql/.role.sh: not found
有誰知道為什麼會這樣或至少知道.role.sh
腳本是什麼?不過 SQL 程式碼似乎還是可以運作的。
根據安全建議,容器在容器和主機上uid
以相同的非根用戶身份運行。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