首页 文章

在Google App Engine Flexi上为Django设置Postgres

提问于
浏览
2

我试图在app引擎灵活的环境中使用postgres设置django .

我按照这里的说明进行操作:https://cloud.google.com/appengine/docs/flexible/python/using-cloud-sql-postgres

我的django设置:

DATABASES = {
    'default': {
            'ENGINE': 'django.db.backends.postgresql',
            'NAME': '<db-name>',
            'USER': '<user-name>',
            'PASSWORD': '<password>',
            'HOST': '/cloudsql/<instance-connection-name>,
            'PORT': '5432'
        },
}

app.yaml中:

beta_settings:
    cloud_sql_instances: <instance-connection-name>

我得到的错误是:

无法连接到服务器:没有这样的文件或目录服务器是否在本地运行并接受Unix域套接字上的连接“/cloudsql/<instance-connection-name>/.s.PGSQL.5432”?

请帮助正确设置 .

3 回答

  • 0

    问题解决了 . 我的代码中没有更改任何内容 . 以下是在app引擎灵活环境中使用django的postgresql的步骤:

    https://github.com/GoogleCloudPlatform/python-docs-samples/issues/870

    EDIT:

    您必须启用cloud sql api才能使其正常运行 .

    结帐此评论:https://github.com/GoogleCloudPlatform/python-docs-samples/issues/870#issuecomment-298152847

  • 4

    我有一个类似的问题,它最终我跳过启用sqladmin API .

    要查看是否存在此问题,您可以检查实例的日志 . 靠近顶部(在gunicorn开始之前)将出现以下错误:

    googleapi: Error 403: Access Not Configured. Cloud SQL Administration API has not been used in project ######## before or it is disabled.
    

    该检查仅在实例首次启动时进行,因此一旦启用了API,您就需要重新部署或以其他方式重新启动实例 . 在其他地方报道这个问题的许多人谈论它神奇地修复自己,我猜测实例重新启动了 .

  • 3

    如果你打开api,它无助于尝试在Django中更改数据库引擎

    'ENGINE': 'django.db.backends.postgresql'
    

    'ENGINE': 'django.db.backends.postgresql_psycopg2'
    

相关问题