我在 Cloud Sql 上创建了一个单区 postgres 数据库实例,我正在尝试通过云 sql 代理进行连接。
/cloud_sql_proxy -instances=<PROJECT_ID>:us-central1:staging=tcp:5432 -credential_file=./<SERVICE_ACCOUNT_KEY_FILE>
这运行良好。但是当我在命令下运行时,
psql "host=127.0.0.1 sslmode=disable dbname=postgres user=postgres"
代理显示此错误:
2019/11/14 15:20:10 using credential file for authentication; email=<SERVICE_ACCOUNT_EMAIL>
2019/11/14 15:20:13 Listening on 127.0.0.1:5432 for <PROJECT_ID>:us-central1:staging
2019/11/14 15:20:13 Ready for new connections
2019/11/14 15:20:34 New connection for "<PROJECT_ID>:us-central1:staging"
2019/11/14 15:22:45 couldn't connect to "<PROJECT_ID>:us-central1:staging": dial tcp 34.70.245.249:3307: connect: connection timed out
为什么会这样? 我正在本地执行此操作。
最佳答案
我刚刚关注了这个 tutorial一步一步来,它对我来说非常有效。
我不需要做任何额外的步骤(白名单 ip、打开端口等...),这是在一个干净的项目中完成的。
您是尝试从本地使用 SDK 还是从 Cloud Shell 执行此操作?您是否有任何防火墙限制?
任何有关您方面可能影响的特定设置的进一步信息肯定会有所帮助。
让我们知道。
编辑:
确保您的端口 3307 没有被任何东西阻塞。
看看这个official documentation指定那个。
关于postgresql - 通过云sql代理连接postgres云sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58858327/