自分だけのクイズ作成 - Quipha公開中
スポンサーリンク
スポンサーリンク

【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のUbuntuからコマンドを実行します。

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

$ sudo apt install -y postgresql-client

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

$ psql --version

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

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に接続

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

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サーバーサーバー他
スポンサーリンク
この記事を共有
千草をフォローする
管理人

現役のITエンジニア。
気ままにコードや技術情報をまとめています。
Webアプリ/Windows・Macアプリ/モバイルアプリ/機械学習やIoT他。
(Java, PHP, Javascript, Swift, Python, C#, 他)
個人開発:Clibor, Quipha, TXT-Crypter
Kindle本: Laravel9 実践入門, 他

千草をフォローする

個人開発

Cliborはシンプルで高機能なクリップボード履歴ソフトです。
Mac版も公開しています。

自分だけの問題集や問題を作成し、クイズを行い学習に活用しましょう。

簡単にテキストを暗号・復号でき、秘密情報を守ります。

便利なツールを公開しています。
是非、活用してください!

チグサウェブ

コメント

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