在Google App Engine Flexi上为Django设置Postgres



我正在尝试在应用程序引擎灵活环境中使用 postgres 设置 django。

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

我的姜戈设置:

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"?

请帮助进行正确的设置。

问题自行解决。我没有更改代码中的任何内容。以下是在 app Engine 灵活环境中将 postgresql 与 django 一起使用的步骤:

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

编辑:

您必须启用云 sql api 才能使其正常运行。

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

我遇到了类似的问题,最终我跳过了启用sqladmin API。

要查看这是否是问题所在,您可以检查实例的日志。在顶部附近(在枪角兽开始之前(,会出现如下错误:

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

该检查仅在实例首次启动时进行,因此启用 API 后,您需要重新部署或以其他方式重新启动实例。许多在其他地方报告此问题的人都在谈论它神奇地自行修复,我猜实例已重新启动。

如果你打开 api 并且它没有帮助,尝试在 Django 中更改数据库引擎

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

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

最新更新