从Node.js后端查询我的Cloud Sql DB



最近我学习了谷歌云sql,花了一些时间,但我能够将我的云sql auth代理连接到我的postgres客户端。然而,我不知道如何查询或向我的云sql发出post请求。最初我只是在做

const Pool = require("pg").Pool;
const pool = new Pool({
user: "postgres",
password: "****",
host: "localhost",
port: 5432,
database: "somedb"
});

我不知道如何将其转换为尝试查询云sqldb。我确实试着把它转换成了。

const Pool = require("pg").Pool;
const pool = new Pool({
user: "postgres",
password: "****",
host: "[cloud sql ip]",
port: 5432,
database: "[pg/gc db]"
});

我最终得到错误[pg_hba.conf拒绝主机"[ipv4-ip]"的连接;,用户";postgres";,数据库";[pg/gc db]";,无加密]。我知道文档中有一个代码示例,但我不理解它,也找不到任何解释它的资源。

编辑:我正在将文件上传到云存储中的一个存储桶中,我成功地做到了这一点。我计划将所有这些文件映射到一个网页上。然而,我想通过某些功能来过滤它们,所以我在存储文件后会发出第二个请求。我的第二个请求将属性存储到一个数据库中,然后我可以将其与文件关联起来进行筛选。

如果您在运行应用程序的本地机器上运行auth代理,那么从应用程序的代码角度来看,代码将是相同的。您仍然可以连接到localhost(尽管您可能需要连接到127.0.0.1,这取决于您在机器上设置主机的方式(。

数据库字段将取决于您在Cloud SQL中如何设置数据库,但它应该与您的本地数据库相同。例如,如果您创建了一个名为";somedb";在Cloud SQL中,您不必更改任何内容即可在Cloud SQL中将其连接到它。从应用程序的角度来看,本地运行的代理将使一切表现得就像在本地运行数据库一样。

编辑:这个特殊的答案并不是他们遇到的问题,但在评论中,他们发现只使用了代理和SSL,这(通常(不太推荐,因为它会加倍使用SSL/TLS,因为代理还使用生成的SSL证书来连接到云SQL,所以数据库级SSL连接可能是不需要的冗余。在一些边缘情况下,你可能想要两者都有,但从广义上讲,建议选择其中一种。

相关内容

  • 没有找到相关文章