DBeaverからRenderのPostgreSQLに接続
ちょっと悩んだのでメモ。
結論
接続情報のURLは「PostgreSQL JDBCのURLの形式に合わせて、外部接続用のURLをいじりましょう」ということ(だと思った)。
素直なコピペじゃダメらしいですね。
経緯
ちょっと遊んでみようと思って、RenderのフリープランでPostgreSQLサーバを立てた。
クライアントソフトはDBeaverがお気に入りなので、それを使って操作が出来るようにしておこうと思った。
しかしPostgreSQLの名前くらいしか知らなかった私は、ただ接続するだけのところで躓いたのであった。
やったこと
RenderのPostgreSQLに外部から接続する場合、External Database URL
でつなぐ必要があるらしい。 このURLの形式は、Renderのドキュメントによるとpostgres://USER:PASSWORD@EXTERNAL_HOST:PORT/DATABASE
とのこと。
素直なので、接続設定のところにそのままコピペ。
すると、JDBCのURLが正しくないと怒られた(画像は例)
エラーメッセージで素直に検索をすると、PostgreSQLのプログラマガイドが出てきたので、そこの記述に従う。 www.postgresql.jp
JDBC を使用する場合、データベースは URL(Uniform Resource Locator)で表されます。Postgres では、これは下の形式のどれか1つになります。
- jdbc:postgresql:database
- jdbc:postgresql://host/database
- jdbc:postgresql://host:port/database
この形式に合わせて、先ほどコピペしていたURLを加工する。
jdbc:postgresql://EXTERNAL_HOST:PORT/DATABASE
ユーザー名とパスワードがURLから消えたものの、すぐ下に入力する欄があるので多分問題なし。
入力したら、テスト接続を押して
問題ないみたいなので「OK」
無事設定完了。