2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

アプリケーションを作成する際、DB(データベース)をどのように作成するかも大事になってきます。
個人で開発している程度であればあまりDBの構築に時間はかけたくありませんが、設定周りなど結構複雑なイメージがあります。

今回はそんなときに便利な、サクッと簡単にDBを作成する方法を紹介します。

RenderでDBを作成する

RenderというWebアプリのデプロイを無料で簡単にできるサービスがあります。

そのRenderの中で、PostgreSQLのDBを簡単に作成できるものがあるので、今回はそれを利用します。

まずはRenderのダッシュボードにアクセスし、「New」から「PostgreSQL」を選択します。

データベース情報の設定

Name

Render内で使用するPostgreSQLのインスタンスの名前です。任意の名前を設定します。

Database

PostgreSQLのdbnameです。必須ではありませんが、任意の値を設定します。
省略した場合は、ランダムで生成されるとのこと。

User

PostgreSQLのuserです。Databaseと同じく必須ではありませんが、任意の値を設定します。

Instance Type

無料で使いたいので、Freeを選択します。

無料枠には制限があり、30日間しか使えません。期限が切れるとアクセスできなくなります。
(有料にアップグレードすればアクセス可能)

以上が設定できたら画面左下の「Create Database」を押下します。

少しの間、以下のように「Createing」のStatusとなります。

Statusが「Avalilable」になると、データベースの作成は完了です。

接続情報の取得

先ほどの「Info」右上にある「Connect」をクリックします。

本来はアプリからPostgreSQLを利用するのですが、今回はてっとり早くコマンドでDBの挙動を確認するので、「External」タブの「PSQL Command」をコピーしておきます。

PostgreSQLを導入する

PostgreSQLのコマンドを利用できるよう、以下のサイトからダウンロードします。
https://www.postgresql.jp/index.php/download

わたしはmacを使用していて、homebrewが使えるので、そちらを使ってインストールします。
バージョンはRenderに導入したものと同じ16にします。

brew install postgresql@16

homebrewでインストールした場合、まだpsqlコマンドは使用できる状態にありません。
利用できるよう設定する必要があります。

上の画像のように、実行結果の中からexport PATHと書かれている箇所を探します。
cmd + Fで検索ができます)
psqlコマンドを使うため、PATHを通すためのコマンドが見つかるはずです。

このコマンドをターミナルで実行します。

echo 'export PATH="/usr/local/opt/postgresql@16/bin:$PATH"' >> ~/.zshrc

設定を即座に反映させたいのでsourceコマンドを実行します。
※実行環境によっては「~/.zhrc」ではない場合もあります。上記のechoコマンドの「>>」の右側にあるファイルを指定してください。

source ~/.zshrc

これでpsqlコマンドを実行する環境が整いました。
以下のコマンドでバージョンが表示されればOKです。

psql --version

接続確認

先ほどコピーしたコマンドをそのままターミナルなどに貼り付けます。

接続が成功すると、以下のような表示になります。
image.png

簡単なSQL文を実行してみます

-- テーブルの作成
CREATE TABLE items (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100) NOT NULL
);

-- データの挿入
INSERT INTO items (name) VALUES ('サンプルアイテム');

-- 新規作成データの読み取り
SELECT * FROM items;

-- データの更新
UPDATE items SET name = '更新されたアイテム' WHERE id = 1;

-- 更新後データの読み取り
SELECT * FROM items;

-- データの削除
DELETE FROM items WHERE id = 1;

-- 削除後データの読み取り
SELECT * FROM items;

結果は以下のようになります。
image.png

いずれも正常にコマンド実行ができていることがわかります。

まとめ

Renderを使うことで、わずらわしい設定を一切することなく、DBを利用することができるようになりました。
無償利用だと30日間しか使えないのがネックですが、簡単な確認程度であれば事足りるかと思います。

フロントもバックエンドも全部Renderでデプロイして簡易的なサービスを作ることにチャレンジしてみたいと思いました。

参考にしたサイト

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?