是否可以使用golang灵活地从app引擎连接到google cloud sql postgres实例?

时间:2017-05-18 10:48:17

标签: postgresql google-app-engine go google-cloud-sql

我能够找到这个文档,它解释了如何从python中进行操作:https://cloud.google.com/appengine/docs/flexible/python/using-cloud-sql-postgres

我找不到任何与golang相同的东西。这甚至可能吗?

2 个答案:

答案 0 :(得分:5)

有可能。

免责声明:我没有尝试过这样做,因此下面可能会出现拼写错误/小错误。另外,我想向您保证,CloudSQL文档团队了解并致力于为其他语言添加示例,包括Go。

根据内容,AppEngine Flex为您运行CloudSQL proxy,您的代码通过使用unix socket的常规驱动程序连接到CloudSQL。

所以虽然没有Go的例子,但它应该相当容易。假设您使用标准Go的sql库并且阅读https://godoc.org/github.com/lib/pq看起来在您的代码中需要这样的内容:

db, err := sql.Open("postgres", "user=username password=password host=/cloudsql/INSTANCE_CONNECTION_NAME dbname=databasename")

或者,如果您使用不同的格式或库,请确保为主机参数指定/cloudsql/INSTANCE_CONNECTION_NAME

另外,请务必遵循https://cloud.google.com/appengine/docs/flexible/python/using-cloud-sql-postgres的所有非Python特定步骤。

PS:这是Django的例子:Postgres settings for Django on Google App Engine Flexi

答案 1 :(得分:0)

上面接受的答案是正确的,但我只是想在这里指出Google现在已经添加了官方文档,在此处详细说明了同一件事

https://cloud.google.com/appengine/docs/flexible/go/using-cloud-sql-postgres