É possível conectar-se diretamente ao banco de dados a partir de um aplicativo separado?

Alguém tem alguma ideia do por que isso não está funcionando, por favor?

Segui alguns dos posts de @pfaffman e @Nacho_Caballero neste tópico: How to make the database (or part of it) accessible to a cloud data processor? e o post de @mpalmer neste: Accessing to the database from outside the container - #4 by mpalmer.

Primeiro, editei o app.yml com:

expose:
  - "127.0.0.2:5432:5432"

Reconstruí o container. Dentro do container, defini uma senha para o usuário postgres e consegui conectar com o seguinte comando de dentro do container:

psql -h localhost -d discourse -U postgres

No entanto, quando saio do container e tento conectar, recebo:

# psql -h 127.0.0.2 -p 5432 -d discourse -U postgres
psql: server closed the connection unexpectedly
	Isso provavelmente significa que o servidor terminou de forma anormal
	antes ou durante o processamento da solicitação.

Também tentei alterar a porta para outra, mas recebo o mesmo erro. Obtive o IP 127 do docker ps e inspecionando as Configurações de Rede (tenho três instâncias independentes do Discourse em execução).

Se eu alterar o IP (para o de um dos outros fóruns Discourse), recebo uma resposta/mensagem diferente (mais imediata), então o acima parece estar parcialmente correto:

# psql -h 127.0.0.3 -p 5432 -d discourse -U postgres
psql: could not connect to server: Connection refused
	O servidor está rodando no host "127.0.0.3" e aceitando
	conexões TCP/IP na porta 5432?

Alguma ideia do que estou fazendo de errado? Pesquisar no Google por psql: server closed the connection unexpectedly parece sugerir um problema de rede — então preciso alterar algo mais dentro do container?