我正在关注 this tutorial将我在 sqlite 上本地运行的现有 Django 项目上传到 Google Cloud Run/Postgres。
我正在运行 cloud_sql_proxy 服务,可以从命令行登录 Postgres。
我正在运行命令
python manage.py migrate
我得到了错误:
django.db.utils.OperationalError: connection to server on socket "/cloudsql/cgps-registration-2:us-central-1:cgps-reg-2-postgre-sql/.s.PGSQL.5432" failed: No such file or directory
Is the server running locally and accepting connections on that socket?
这个问题的答案是肯定的,服务器在本地运行并接受连接,因为我可以使用 Postgres 客户端登录:
agerson@agersons-iMac ~ % psql "sslmode=disable dbname=postgres user=postgres hostaddr=127.0.0.1"
Password for user postgres:
psql (14.1, server 13.4)
Type "help" for help.
postgres=>
我仔细检查了我的 .env 文件中的连接字符串,它有正确的 UN/P
这个 scoket 是不是在之前的步骤中以某种方式创建的?
/cloudsql/cgps-registration-2:us-central-1:cgps-reg-2-postgre-sql/.s.PGSQL.5432
最佳答案
应用寻找的内容与您启动代理的方式似乎不匹配。错误说明了问题。
您正在使用不正确的区域名称 (us-central) 像这样启动代理:
cloud_sql_proxy -instances="cgps-registration-2:us-central:cgps-reg-2-postgre-sql=tcp:5432
但是应用正在寻找 us-central1。试试这个(省略 =tcp:5432
来创建一个 Unix 套接字):
cloud_sql_proxy -instances="cgps-registration-2:us-central1:cgps-reg-2-postgre-sql
关于django - 谷歌云运行 : Cant connect to Postgress SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70672368/