Pg gem używa libpq wewnętrznie ta sama biblioteka klienta, co narzędzia PostgreSQL, takie jak psql .
Domyślnie libpq wygląda w ~/.postgresql/ dla certyfikatu CA.
Z instrukcji :
... i ...
AFAIK Rails przekazuje wszystko, co umieścisz w swoim database.yml do Pg gem, który przekazuje go do libpq jako parametr połączenia. Powinieneś więc móc dodawać wpisy klucz/wartość do pliku database.yml zwrotki takie jak:
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 wymóg przekazania pojedynczego certyfikatu głównego do libpq jest wadą projektową. Powinien załadować bazę zaufanych certyfikatów. Podobne problemy występują w przypadku korzystania z certyfikatów klienta SSL, gdzie nie można podać magazynu kluczy i magazynu certyfikatów, należy przekazać określone pliki dla danego hosta. Wygląda na to, że to prawdopodobnie w porządku, ponieważ znasz nadrzędny urząd podpisywania certyfikatów.