Heroku Postgresql + Google Datastudio

Dica rápida. Hoje precisei conectar em um db postgres (aquele que é addon do Heroku) e insistentemente dava erro de autenticação. Eu tinha certeza que o usuário e senha estavam corretos.

Pesquisando, vi que o problema era que esse banco no Heroku precisava de conexão SSL. Vi também que o Google Datastudio (desde 2018) permite conexão com o postgres com SSL. São dois passos bem simples.

Primeiro, gerar o certificado e a key com openssl

openssl req
       -newkey rsa:2048 -nodes -keyout client.key
       -x509 -days 365 -out client.crt

Segundo, pegar o certificado do banco, utilizando esse script python.

python postgres_get_server_cert.py {aws-database-server}:{port} > aws-cert.crt

O aws-database-server e a port você consegue pegar com o comando heroku config

heroku config | grep DATABASE
=== your-app Config Vars
DATABASE_URL:             postgres://usuario:[email protected]:port/db

Post baseado nessa discussão do stackoverflow

One thought on “Heroku Postgresql + Google Datastudio

  1. Como executou o script em python? tentei executar em python 2 e 3 mas retorna o mesmo erro.
    File “postgres_get_server_cert.py”, line 104, in
    main()
    File “postgres_get_server_cert.py”, line 18, in main
    target = get_target_address_from_args(args)
    File “postgres_get_server_cert.py”, line 42, in get_target_address_from_args
    return (parsed.hostname, parsed.port)
    File “C:\Python27\lib\urlparse.py”, line 113, in port
    port = int(port, 10)
    ValueError: invalid literal for int() with base 10: ‘{5432}’

Deixe uma resposta