A
Pg
gem usa libpq
internamente, a mesma biblioteca cliente das ferramentas PostgreSQL como psql
. Por padrão
libpq
procura em ~/.postgresql/
para o certificado CA. Do manual :
... e ...
O AFAIK Rails passa tudo o que você coloca em seu
database.yml
para a Pg
gem, que o passa para libpq
como parâmetro de conexão. Portanto, você deve poder adicionar entradas de chave/valor ao seu database.yml
estrofes como:sslmode: verify-full
# and if you don't want to use ~/.postgresq/root.crt for the cert location, set:
sslrootcert: /path/to/my/app/root/cert.crt
IMO o requisito de passar um único certificado raiz para
libpq
é uma falha de projeto. Ele deve carregar um banco de dados de certificado confiável. Existem problemas semelhantes para o uso de certificados de cliente SSL, em que você não pode fornecer um keystore e um repositório de certificados, deve passar arquivos específicos para um determinado host. Parece que provavelmente está tudo bem para você, pois você conhece a autoridade de assinatura de certificado upstream.