How to connect managed database (postgres) with ssl-mode="verify-full" in django app?

September 21, 2019 301 views
DigitalOcean Databases PostgreSQL Django

Hello. Currently I have a django app running on a droplet. And I am using your Managed Database for postgresql. Currently my connection has ssl-mode set to ‘require’, but I want to change the ssl-mode to ‘verify-full’. I have changed django app settings like the following:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': DATABASE_NAME,
        'USER': DATABASE_USER,
        'PASSWORD': DATABASE_PASSWORD,
        'HOST': MANAGED_DATABASE_HOST,
        'PORT': MANAGED_DATABASE_PORT,
        'OPTIONS': {
            'sslmode': 'verify-full',
        },
    }
}

I have downloaded the CA certificate given in the database cluster overview page in connection details. I have put the certificate in ~/.postgresql/ folder. I have read the postgresql documentation and realized that I need four files
~/.postgresql/postgresql.crt
~/.postgresql/postgresql.key
~/.postgresql/root.crt
~/.postgresql/root.crl

Where can I find the files? Please Someone give a proper guidence about how to do this step by step as I am a complete newbie in this field. Thanks in advance.

1 Answer

Hi, I was just wondering if you had any luck with this and if you’ve managed to get it working?

Have another answer? Share your knowledge.