Pg
gem използва libpq
вътрешно, същата клиентска библиотека като инструментите на PostgreSQL като psql
.
По подразбиране libpq
изглежда в ~/.postgresql/
за CA сертификата.
От ръководството :
... и ...
AFAIK Rails предава всичко, което поставите във вашата database.yml
към Pg
gem, който го предава на libpq
като параметър на връзката. Така че трябва да можете да добавяте записи ключ/стойност към вашия database.yml
строфи като:
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 изискването за предаване на един основен сертификат към libpq
е дефект в дизайна. Трябва да зареди база данни с надеждни сертификати. Подобни проблеми съществуват при използването на SSL клиентски сертификати, където не можете да предоставите хранилище за ключове и сертификати, трябва да подадете конкретни файлове за даден хост. Изглежда, че това вероятно е ОК за вас, тъй като знаете органа за подписване на сертификат нагоре.