広告

【Heroku】PostgreSQLにローカルのクライアントから接続

サーバー

当サイトではアフィリエイト広告を利用しています。

広告

はじめに

HerokuではPostgreSQLが利用できます。

プランについての詳細は以下をご覧ください。

適切な Heroku Postgres プランの選択 | Heroku Dev Center
さまざまな Heroku Postgres プランの違いと、各ユースケースに最も適したプランをどのように選択するかについて理解します。

今回は、Heroku上に作成したPostgreSQLのデータベースに、ローカルPCのクライアントから接続してデータを確認します。

他にも私のブログで、サーバーについて解説している記事がありますのでご覧ください。

使用するバージョン
  • Windows 11 / 10 or macOS Monterey (M1)
  • Heroku
  • PostgreSQL
  • psql (PostgreSQL)

クライアントの作業は、WindowsでもMacでも同様にできます。

PostgreSQLクライアントのインストール

Windows

Windowsで作業を行う場合ですが、今回はWSL2のUbuntuを使用しました。
導入は簡単にできますので、以下の記事を参考にしてください。

WSL2のインストールを分かりやすく解説【Windows10/11】
Widows上でLinuxが使えるWSL2をインストールしてみました。WindowsでLinuxコマンドが使えますし、開発環境としても便利に使えます。

WSL2のUbuntuからコマンドを実行します。

以下のコマンドを実行し、PostgreSQLのクライアントをインストールします。

$ sudo apt install -y postgresql-client

バージョンを確認します。

$ psql --version

psql (PostgreSQL) 12.9 (Ubuntu 12.9-0ubuntu0.20.04.1)

Mac

ターミナルを起動します。

Homebrewをインストールしていない場合は、以下の記事を参考にしてください。

【M1 Mac】Homebrewをインストール
MacにHomebrewをインストールする手順を解説します。

Homebrewを利用してPostgreSQLクライアントをインストールします。

以下のコマンドを実行します。

% brew install libpq

以下のコマンドでPATHを通します。

% echo 'export PATH="/opt/homebrew/opt/libpq/bin:$PATH"' >> ~/.zshrc
% source ~/.zshrc

バージョンを確認します。

% psql --version

psql (PostgreSQL) 14.2
広告

Heroku PostgreSQLに接続

以下の記事でデプロイしたアプリをもとに確認します。

【Django】Herokuへデプロイしアプリを公開
Herokuを使って、Djangoプロジェクトを公開する手順をまとめました。 個人で開発したアプリケーションを手軽に公開することもできます。

PostgreSQLへの接続情報を確認しましょう。
Herokuのコマンドから確認します。

$ heroku config:get DATABASE_URL

postgres://aaaa:bbbb@cccc:5432/dddd

接続文字列は以下のような形式になっております。

postgres://user:password@host:port/database

実行結果の場合の例
  • user: aaaa
  • password: bbbb
  • host: cccc
  • port: 5432
  • database: dddd

psqlコマンドで接続しますが、形式は以下です。

psql -h [host] -p [port] -U [user] -d [database]

コマンドを実行し接続します。
実行後に、パスワードを求められますので入力します。

$ psql -h cccc -p 5432 -U aaaa -d dddd

ログインが成功すると、データベース名が表示されます。

dddd=>

以下のコマンドでテーブルの一覧を確認します。
アプリで使用する、「scheduleCalendar_event」というテーブルも確認できました。

dddd=> \dt

                      List of relations
 Schema |            Name            | Type  |     Owner
--------+----------------------------+-------+----------------
 public | auth_group                 | table | aaaa
 public | auth_group_permissions     | table | aaaa
 public | auth_permission            | table | aaaa
 public | auth_user                  | table | aaaa
 public | auth_user_groups           | table | aaaa
 public | auth_user_user_permissions | table | aaaa
 public | django_admin_log           | table | aaaa
 public | django_content_type        | table | aaaa
 public | django_migrations          | table | aaaa
 public | django_session             | table | aaaa
 public | scheduleCalendar_event     | table | aaaa
(11 rows)

SQLで、データを確認することができました。

ddddm=> select * from "scheduleCalendar_event";

 id | start_date |  end_date  | event_name
----+------------+------------+------------
  1 | 2022-03-02 | 2022-03-03 | イベント
  2 | 2022-03-09 | 2022-03-11 | お買い物
(2 rows)

通常は外部からはアクセスできないようにしている場合が多いと思いますが、今回の場合は接続できますので、データベースの接続情報の取り扱いには十分に注意しましょう。

さいごに

HerokuのPostgreSQLのデータを確認する場合に、参考にしてください。

他にも私のブログで、サーバーについて解説している記事がありますのでご覧ください。

MacOSWindowsサーバーサーバー他
広告

個人開発

千草 @chigusaweb

現役のITエンジニア。 気ままにコードを書いたり技術情報を発信しています。 Webアプリ/Windows・Macアプリ/モバイルアプリなど。 (Java, PHP, Javascript, Swift, Python, C#, 他) 個人開発:Clibor, Quipha, TXT-Crypter, 符計算特訓, チグサツール Kindle本: Laravel9 実践入門, 他

クリップボード履歴

Clibor

Windows

Cliborはシンプルで高機能なクリップボード履歴ソフトです。 また普段よく使うワードを定型文として登録し、いつでもクリップボードに保存することができます。高度なテキスト整形・FIFOモード・ホットキーに対応。

クリップボード履歴

Windows版Cliborの利便性を、そのままMacでも。 定型文登録、高度なテキスト整形、FIFOモードなど、便利なクリップボード履歴機能を利用できます。macOS最新のTahoeにも対応。

テキスト暗号化

テキストを暗号化してURLで共有・保存できる無料サービスです。 パスフレーズを知る人だけが復号できます。登録不要、データはサーバーに保存されません。 Notionでも利用できます。

学習

Quipha

Web / iOS

自分だけの問題集や問題を作成し、クイズを行い、学習に活用することができるアプリです。 例えば、学校の授業、語学学習、IT資格やその他の資格など多彩な分野での学習を支援します。 いつでも、どこでも、あなたの学習をサポート。

ツール

日常の「ちょっとした効率化」をサポートするWeb便利ツール集。 テキスト・データ処理から最新のAI連携まで、日々のちょっとした手間でググりがちなユーティリティを1つの場所に集約。

麻雀

麻雀の符計算をひたすら特訓しマスターしましょう。 初心者の方はもちろん、もっと速く計算したい方にも役立ちます。 5万対局以上の実践から問題を収録。

コメント

タイトルとURLをコピーしました