postgresql - 将 Google CloudSQL Postgres 数据库连接到 Data Studio
问题描述
我正在尝试将托管在 google Cloud Sql 实例中的 Postgres 数据库连接到 Data Studio。我已按照说明操作(在此处找到https://support.google.com/datastudio/answer/7288010),但令我失望的是,我仍然无法从 Data Studio 连接到数据库。
我认为问题出在 SSL 连接上,就好像我在 CloudSql 的选项中启用了“非安全连接”一样,我可以从 Data Studio 成功连接。
我已经创建了 ssl 连接工作所需的 3 个文件:
- 客户证书
- 客户端密钥
- 服务器证书
我已将它们上传到 Data Studio 连接页面的相关字段中:
当我按下身份验证时,我收到一条错误消息:
Please make sure that the private key is in PKCS8 format.
我尝试通过运行更改客户端密钥文件的格式:
openssl pkcs8 -topk8 -inform PEM -outform DER -in client-key.pem -out client-key.pkcs8 -nocrypt
但后来我得到一个错误:
Can't reach the host. Please double check your connection parameters. Learn more about database connectors here.
最后必须注意的是,如果我尝试使用 ssl 和完全相同的密钥从本地计算机连接到数据库,但客户端密钥的pem
格式是,我可以成功连接。
我也应该将证书转换为其他格式吗?我觉得通过 SSL 将 Postgres 数据库连接到 Data Studio 应该不难,我是否遗漏了一些明显的东西?
任何帮助将不胜感激。
谢谢。
解决方案
最终事实证明,只需更改客户端密钥的格式即可。以上不起作用的原因是更改格式的命令错误。
它应该是:
openssl pkcs8 -topk8 -inform PEM -outform PEM -in client-key.pem -out client-key.key -nocrypt
(注意问题中发布的PEM 而不是 DER参数)。
所以 Data Studio 连接有效!快乐的时光!
推荐阅读
- javascript - 仅加载 href 的 ID
- nativescript - 屏蔽输入字段 - 仅限字母和空格
- python - 设置 Raspberry Pi 3B+ 以立即启动并运行 Python 脚本
- yacc - 如何使用PLY模块实现“1+1 \n 2+2”的两行语法分析,分别输出2和4
- elasticsearch - 按节点的 Elasticsearch 快照
- html - 如何在 R-Markdown html 文件中包含(和显示)多页 PDF?
- javascript - Vue js过滤器在某些移动设备上不兼容
- php - Laravel 5.6 外观/别名未注册/工作
- vue.js - Object.assign 打破 v-for(功能组件)
- c# - 可空 int 的 GetType 返回与 int 的 GetType 相同