I think Postgrex should be able to handle it automatically in the recent versions (v0.18.0 and up).
For an older Postgrex this seems to work:
Mix.install [{:postgrex, "0.17.5"}]
Postgrex.start_link(
hostname: "my-rds-db.c16quuxxxx.eu-north-1.rds.amazonaws.com",
port: 5432,
username: "my-rds-user",
password: "xxx",
database: "my-rds-db",
show_sensitive_data_on_connection_error: true,
ssl: true,
ssl_opts: [
verify: :verify_peer,
cacertfile: ~c"/Users/ruslandoga/Desktop/eu-north-1-bundle.pem",
depth: 10,
server_name_indication: ~c"my-rds-db.c16quuxxxx.eu-north-1.rds.amazonaws.com",
customize_hostname_check: [match_fun: :public_key.pkix_verify_hostname_match_fun(:https)]
]
)
The important bit that was missing from my previous replies is server_name_indication.






















