Por que recebo o erro "/var/lib/pgsql/.role.sh: not found" do postgres no docker?

Por que recebo o erro "/var/lib/pgsql/.role.sh: not found" do postgres no docker?

Tenho o PostgreSQL rodando no Docker. O sistema host é Ubuntu 18.04.3. Cada vez que executo algum SQL no PostgreSQL recebo

/var/lib/pgsql/.role.sh: not found

Alguém sabe por que isso acontece ou pelo menos qual .role.shé o script? O código SQL parece funcionar de qualquer maneira.

O contêiner está sendo executado sob um usuário não root que existe com o mesmo arquivo uid, gidtanto no contêiner quanto no host, conforme recomendação de segurança.

Saída do SELECT version();contêiner:

PostgreSQL 12.0 (Debian 12.0-2.pgdg100+1) on x86_64-pc-linux-gnu [...]

Imagem do comando e erro do PostgreSQL:

Imagem do comando e erro do PostgreSQL.

Responder1

Acho que seu prompt está fazendo referência a /var/lib/pgsql/.role.sh. Verifique seu ~/.psqlrcarquivo, especificamente a linha que começa com \set PROMPT1. Se aplicável, remova a peça com a referência:

%`/var/lib/pgsql/.role.sh\`

Alternativamente, você pode adicionar o script ausente seguindo este guia. Ele exibirá sua função atual no prompt do PSQL:https://simply.name/yet-another-psql-color-prompt.html

informação relacionada