ローカル環境でPostgreSQLデータベースを構築し、A5:SQL Mk-2で接続する方法
この記事では、Dockerを使用してローカル環境にPostgreSQLデータベースを構築し、A5:SQL Mk-2(A5M2)を使ってデータベースに接続する方法をステップバイステップで紹介します。
ステップ 1: Dockerのインストール
まず、Dockerがインストールされていない場合は、公式サイトからダウンロードしてインストールします。
ステップ 2: Dockerデーモンの起動確認
Dockerデーモンが起動していることを確認します。WindowsやMacでは、Docker Desktopを起動してDockerデーモンを開始します。デーモンが起動している場合、タスクトレイにDockerのアイコンが表示されます。
ステップ 3: DockerコンテナでPostgreSQLをセットアップ
Dockerデーモンが正常に起動していることを確認したら、PostgreSQLのDockerイメージを使ってコンテナを立ち上げます。以下のコマンドをターミナルで実行します。
docker run --name my_postgres -e POSTGRES_PASSWORD=mysecretpassword -d -p 5432:5432 postgres
このコマンドの内容は以下の通りです:
-
--name my_postgres
: コンテナ名をmy_postgres
に指定。 -
-e POSTGRES_PASSWORD=mysecretpassword
:mysecretpassword
をPostgreSQLのスーパーユーザーパスワードとして設定。 -
-d
: コンテナをデタッチドモードで実行(バックグラウンドで実行)。 -
-p 5432:5432
: ローカルのポート5432をコンテナのポート5432にマッピング。 -
postgres
: 使用するDockerイメージ。
ステップ 4: Dockerコンテナの起動確認
コンテナが正常に起動していることを確認するために、以下のコマンドを実行します。
docker ps
起動中のコンテナのリストが表示され、my_postgres
が含まれていることを確認します。
ステップ 5: PostgreSQLコンテナに接続
PostgreSQLクライアントツール(例えばpgAdmin、DBeaver、psql)を使用してデータベースに接続することができます。ここでは、psql
コマンドラインツールを使用する方法を説明します。
まず、Dockerコンテナにシェルで接続します。
docker exec -it my_postgres bash
次に、PostgreSQLデータベースに接続します。
psql -U postgres
ここで、パスワードを求められるので、mysecretpassword
を入力します。
ステップ 6: データベースの永続化
データベースデータを永続化するには、Dockerボリュームを使用することが推奨されます。次のようにしてボリュームを作成し、コンテナを起動します。
docker volume create pgdata
docker run --name my_postgres -e POSTGRES_PASSWORD=mysecretpassword -d -p 5432:5432 -v pgdata:/var/lib/postgresql/data postgres
この手順により、コンテナが停止・再起動してもデータは保持されます。
ステップ 7: A5:SQL Mk-2のインストール
A5:SQL Mk-2がインストールされていない場合は、以下のリンクからインストールしてください:
ステップ 8: A5:SQL Mk-2での接続設定
A5:SQL Mk-2を使用して、PostgreSQLコンテナに接続するための設定を行います。
- A5:SQL Mk-2を起動します。
- メインメニューから「ファイル」→「新しい接続」を選択します。
- 接続ウィンドウで以下の情報を入力します:
-
接続名:任意の名前(例:
PostgreSQL Docker
) -
DBMSの種類:
PostgreSQL
-
ホスト名:
localhost
-
ポート番号:
5432
-
データベース名:
postgres
-
ユーザー名:
postgres
-
パスワード:
mysecretpassword
-
接続名:任意の名前(例:
- 必要に応じて「接続テスト」をクリックして、接続が成功することを確認します。
- 「OK」をクリックして設定を保存し、接続を開きます。
ステップ 9: データベースへのアクセス
設定が完了すると、A5:SQL Mk-2の左ペインにデータベースが表示されます。これで、データベースに対してSQLクエリを実行したり、スキーマを管理したりすることができます。
ステップ 10: コンテナの停止
作業が終了したら、Dockerコンテナを停止する必要があります。以下の手順でコンテナを停止します。
実行中のコンテナの確認
まず、実行中のコンテナを確認します。
docker ps
コンテナの停止
次に、コンテナを停止します。my_postgres
という名前のコンテナを停止するには、以下のコマンドを実行します。
docker stop my_postgres
ステップ 11: PostgreSQLセッションからの安全な退出
psql
コマンドラインツールを使ってPostgreSQLデータベースに接続している場合、以下の方法で安全に退出できます。
psql
からの退出方法
psql
セッションを終了するには、以下のコマンドを入力します。
\q
\q
と入力し、Enterキーを押すと、psql
セッションが終了し、シェルプロンプトに戻ります。
Dockerコンテナからの退出方法
Dockerコンテナのシェルから退出するには、以下の手順を実行します。
コンテナシェルから退出
コンテナのシェルに接続している場合、通常のシェル終了コマンドを使用して退出できます。
exit
exit
と入力し、Enterキーを押すと、Dockerコンテナのシェルセッションが終了し、ホストシステムのシェルプロンプトに戻ります。
まとめ
以上の手順で、Dockerコンテナを使用してPostgreSQLデータベースを構築し、A5:SQL Mk-2を使用して接続および操作を行う方法を紹介しました。また、コンテナを停止し、PostgreSQLセッションから安全に退出する方法も説明しました。これらの手順を守ることで、安全に作業を終了することができます。
コンテナの停止
- 実行中のコンテナを確認:
docker ps
- コンテナを停止:
docker stop my_postgres
PostgreSQLセッションからの退出
-
psql
セッションを終了:\q
- コンテナシェルから退出:
exit
これらの手順をお試しください!