我正在尝试在应用程序引擎灵活环境中使用 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'