Docker의 postgres에서 "/var/lib/pgsql/.role.sh: 찾을 수 없음" 오류가 발생하는 이유는 무엇입니까?

Docker의 postgres에서 "/var/lib/pgsql/.role.sh: 찾을 수 없음" 오류가 발생하는 이유는 무엇입니까?

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 명령 및 오류 이미지:

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

관련 정보