Pg gemはlibpqを使用します 内部的には、psqlなどのPostgreSQLツールと同じクライアントライブラリ 。
デフォルトでは、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クライアント証明書の使用についても同様の問題があり、キーストアと証明書ストアを提供できない場合は、特定のホストに特定のファイルを渡す必要があります。アップストリームの証明書署名機関を知っているので、おそらくそれで問題ないようです。