如何通过Django框架连接到Google云Postgresql?

如何通过Django框架连接到Google云Postgresql?,django,postgresql,google-cloud-platform,Django,Postgresql,Google Cloud Platform,这是setting.py文件中使用Django framework的本地postgresql连接的默认配置: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'LOCAL_DB_NAME', 'USER': 'LOCAL_DB_USER', 'PASSWORD': 'LOCAL_DB_PASS',

这是setting.py文件中使用Django framework的本地postgresql连接的默认配置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'LOCAL_DB_NAME',
        'USER': 'LOCAL_DB_USER',
        'PASSWORD': 'LOCAL_DB_PASS',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}

如何将其配置为与Google Cloud Postgresql托管数据库一起使用?

首先,您需要设置数据库配置,如下所示:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'DATABASE_NAME',
        'USER': 'DB_USER_NAME',
        'PASSWORD': 'DB_USER_PASS',
        # https://console.cloud.google.com/sql/instances
        'HOST': '<ip of your google instance>',
        'PORT': '5432', #at the moment of this writing google cloud postgresql is using the default postgresql port 5432
        'OPTIONS': {
            'sslmode': 'verify-ca', #leave this line intact
            'sslrootcert': '/your/path/to/server-ca.pem',
            "sslcert": "/your/path/to/client-cert.pem",
            "sslkey": "/your/path/to/client-key.pem",
        }
    }
}
系统将提示您输入密码


享受吧

嗨,你的答案真的很好。我建议您添加额外的文档以使其更加完美,如您所提到的。
psql "sslmode=verify-ca sslrootcert=/your/path/to/server-ca.pem \
sslcert=/your/path/to/client-cert.pem \
sslkey=/your/path/to/client-key.pem \
hostaddr=<ip address of google cloud instance> \
user=<your db username> dbname=<your db name>"