我在将现有的heroku 数据库连接到Google Datastudio 时遇到问题。我正在尝试添加连接,但收到以下信息:
访问被拒绝,请检查您的用户名和密码。
现在,我 100% 确定我的这些凭据是正确的,问题来自其他地方。
我尝试过不同的设置,无论是免费的还是付费的 PSQL 实例,都不起作用。
我还在 elephantsql 上设置了一个虚拟帐户,连接第一次就成功了,没有任何问题。
你知道这个问题的原因吗?
编辑:
刚刚发现https://www.en.advertisercommunity.com/t5/Data-Studio/Heroku-Postgres-lt-gt-Google-Data-Studio/m-p/1031729在撰写本文时没有帮助发帖。
自 2018 年 2 月 6 日更新以来,Google DataStudio 允许与 PostgreSQL 进行 SSL 连接,这是连接到通过 Heroku 创建的数据库所必需的。
要启用 SSL,您需要提供客户端密钥+证书和服务器证书,可以通过以下步骤完成:
openssl req \
-newkey rsa:2048 -nodes -keyout client.key \
-x509 -days 365 -out client.crt
postgres_get_server_cert.py
脚本从heroku psql获取自签名服务器证书:https://raw.githubusercontent.com/thusoy/postgres-mitm/master/postgres_get_server_cert.py
问题是 Heroku Postgres 需要 SSL 连接,目前 Data Studio 似乎无法实现。希望谷歌很快就会添加这个选项。
确保在一行上运行
openssl
命令,以便在一个命令中生成 client.key
和 client.crt
。我尝试了几次下载证书(无法到达主机错误),但这最终让我通过 GDS 连接到 Heroku Postgres。
我想我会提到我已经使用它很长一段时间了,但是每次我的数据库进行维护时它都会崩溃,我必须手动重新连接证书。我开发了一种更好的方法 - 将数据连接到 Google BigQuery 并在那里进行混合,然后使用 BigQuery Community Connector。这样图表的性能会更高,并且您现在可以对混合数据使用查询参数。
当然,出于同样的原因,DataStudio 不会直接连接到 Heroku Postgres,因此我使用名为 Fivetran 的服务来获取原始数据并将其发送到 Google BigQuery。当然,这是有成本的,但对于某些项目来说可能是值得的。在某个时候,我会将我的数据库从 Heroku 移至 AWS 或 Google 本身,以允许直接连接,但这是一个更大的项目。
对我来说,标记的绿色解决方案不起作用,我设法在不生成 client.crt 和 client.key 的情况下解决它。感谢这个 thread,我只需从 LetsEncrypt 下载 pem 活动自签名根证书,并在 Looker Studio 中将其用作我的服务器证书,如下所示: