我正在尝试使用psycopg2连接到Google Cloud SQL Postgres。
我已经创建了一个PostgreSQL示例,目前使用默认数据库postgres
。我能够连接从pgadmin工具以及从gcloud shell 和查询给予预期的结果。
我已经开发了一个 flask 应用程序和部署在标准的应用程序引擎。conn = psycopg2.connect(database="postgres", user = "postgres", password = "password", host = "/cloudsql/my-new-db")
个
当我运行它时,得到psycopg2.OperationalError: could not connect to server: No such file or directory
错误。
我有预感主机值不正确。我尝试了各种选项,如/cloudsql/<prj-name>.<region>.<db-instance-name>
但是,似乎什么都不起作用。我还应该做些什么来删除这个错误?
3条答案
按热度按时间0sgqnhkj1#
字符串
这对我很有效。
pbgvytdp2#
如本文中所述,从应用引擎连接到Cloud SQL:
使用Unix套接字连接
正确配置后,您可以通过以下路径将服务连接到在环境文件系统上访问的Cloud SQL示例的Unix域套接字:/cloudsql/INSTANCE_CONNECTION_NAME。
INSTANCE_CONNECTION_NAME可以在Google Cloud Console中的示例概述页面上找到,也可以通过运行以下命令找到:
字符串
编辑:格式设置
yruzcnhs3#
在你的flask服务器上,确保安装psycopg 2库(pip install或使用apt-get install)。我已经附上了一小段代码,我有成功连接到我的Postgres数据库,也许它会以某种方式帮助。我注意到你没有指定端口。
字符串
在我的例子中,主机是服务器的IP,它有一个端口转发到我的flask服务器。我不知道你是如何访问你的主机。我的flask API和DB实际上托管在Google Cloud中的单独VM上。我希望这有帮助,如果没有,也许可以提供更多的背景,我可以看看它更多。