Pg gem använder libpq internt, samma klientbibliotek som PostgreSQL-verktygen som psql .
Som standard libpq ser i ~/.postgresql/ för CA-certifikatet.
Från handboken :
... och ...
AFAIK Rails skickar allt du lägger i din database.yml till Pg gem, som skickar den till libpq som en anslutningsparameter. Så du bör kunna lägga till nyckel-/värdeposter till din database.yml strofer som:
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 kravet att skicka ett enda rotcertifikat till libpq är ett designfel. Den bör ladda en betrodd certifikatdatabas. Liknande problem finns för användning av SSL-klientcertifikat, där du inte kan tillhandahålla ett nyckellager och certifikatlager, du måste skicka specifika filer för en given värd. Det låter som att det förmodligen är OK för dig eftersom du känner till certifikatsigneringsmyndigheten uppströms.