Heroku Postgres と navicat をテスト接続する機会があったので、その内容をメモ。
珍しく RDBMS でも無料で使えるクラウドサービスです。行数の制限が厳しいのでテスト用だけど用途次第で便利。
Heroku Postgres を有効化
まず、Heroku で Postgres を利用するときは Create new app
でプロジェクトを作成して、プロジェクトの Resources > Add-ons で「Heroku Postgres」を追加します。(Free)
「Heroku Postgres」を開いて、Settings から「Database Credentials」を確認します。navicat の設定に必要な情報がすべて表示できます。
- Host
- Database
- User
- Port
- Password
- (URI) 上記5つをまとめたもの
navicat の設定
上記5つの設定(ホスト、データベース、ユーザー、ポート、パスワード)を Navicat の接続設定に入力します。
古い navicat lite を使っていると、SSL 設定が通らないのでエラーになります。navicat essentials は OK です。
SSL タブで以下を設定:
この状態で「接続をテストする」を選択して、正しく動作するかどうかを確認します。
データベースタブの設定から、Heroku の「Database Credentials」で確認したデータベース ID に該当するものを自動オープンにチェックします。
この設定をしないと、大量の DB スキーマが表示されるため、設定しておくことをオススメします。
接続できたので、おまけでテーブルを作って動作をチェックします。
テーブルのサンプル
ID を作ったときは、シーケンスで自動的に ID を割り当てしておくと便利。(autoincrement みたいなもの)
- nextval('シーケンス名')
- nextval('sample_id_autoincrement'::regclass)
ちなみに作成したシーケンス。
Postgre の機能です。MySQL の AUTO_INCREMENT 相当。レコードには単純でユニークな値を持たせてほしい。