Docker上に構築するのではなく、ローカルに構築する方法を紹介していきます。
PostgreSQLをインストールする方法はいくつかあるのですが、1番手軽なbrewを使ってのインストール方法でやっていきます。
brewを使うにはHomebrewをインストールする必要があるので、公式サイトのコマンドを使ってインストールしておきます。
一応こちらでも記載しておきます。ターミナル上で実行してください。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
無事インストールが完了されたら、バージョン確認を行ってコマンドを実行できるか試しておきます。
brew -v
> Homebrew 3.2.12
> Homebrew/homebrew-core (git revision 9f455e7d628; last commit 2021-09-16)
> Homebrew/homebrew-cask (git revision 94a5ed306a; last commit 2021-09-16)
ここで、brewコマンドを使ってpostgreSQLをインストールします。
brew install postgresql
homebrewインストール時と同様にバージョンチェックしてコマンドが使えるか確かめます。もし、使えない場合にはパスを通す必要があります。
psql -V
> psql (PostgreSQL) 13.4
次のインストールはPostgreSQLをGUIでも扱えるようにするものなので、CUIで問題ないという方はスキップしていただいて大丈夫です。
今回使うのはpqadminというもので、公式サイトからインストーラをダウンロードして使っても良いのですが、brewでも行えるのでそちらでインストールしていきます。
公式サイト:https://www.pgadmin.org/
brew install pgadmin4
インストールが完了すると、applicationフォルダにアイコンが追加されているはずです。このアプリケーションでPostgreSQLのDBやテーブルを読みにいくことができます。
早速、PostgreSQLを起動してみます。
postgres -D /usr/local/var/postgres
続いて、PostgreSQLは起動したままにして別タブもしくは別ウィンドウを開いて、ユーザーを作成していきます。
createuser -P workuser
workuserというユーザー名を指定していますが、任意の名前を指定して問題ありません。
入力後、パスワードを聞かれるので入力して、パスワードチェックのために同じパスワードを入力すれば完了です。
次に、今あるデータベースを確認します。
psql -l
test_databaseというものは現在ないので、これから作っていきます。
まず、PostgreSQLに接続します。
psql -d postgres
ユーザー一覧表示して、先程作成したユーザーがいるか確認してみます。
\du
画像ではworkuserには権限として、Create DBが割り当てられていますが、最初は何も権限がないので割り振ってあげる必要があります。
データベース作成権限がないので権限を付与します
ALTER ROLE workuser CREATEDB;
再度ユーザー一覧を表示して権限が割り振られているか確認しましょう。
割り振られていたら、CUIの操作を終了してGUI操作に移っていきます。
データベースの切断方法は、\qです。
CUI操作で問題なく行ける方は、接続している状態で実行コマンドを叩いていけば大丈夫です。
pqAdminの操作
PostgreSQLは起動したままにする必要があるので、停止してしまった方は再度起動しておいてください。
アプリケーションフォルダ内に上記のアイコンがあると思うので、そちらを起動してください。
そうすると、初期画面が表示されパスワードの設定を求められます。次回以降は入力した任意のパスワードが必要になります。
接続先の設定を読み込んで、pgAdminの方で表示してみましょう。
Servers > Create > Server… の順で設定を書き込むウィンドウを表示します。
Nameは任意に設定します。タブをConnectionに切り替えてHost name/addressにローカルホストを指定するために「127.0.0.0」を入力します。
Portは設定をいじってなければデフォルトのままで大丈夫です。
UsernameとPasswordには先程作成したものを入力します。
Saveを押して、何もエラーが無ければ左側にメニューにNameで指定した名前が表示されます。
サーバーが表示されたら、既にあるデータベースにテーブルを作成してもいいのですが、デフォルトのデータベースは触りたくないので、データベースを新たに作成していきます。
Databaseには任意の名前を指定して、あげれば問題なく作成されます。
Schemasタブの中にTablesがあるのでそちらを選択してウィンドウを開いてテーブル名を指定します。
カラムをGUIで設定をする場合には、Columnsにタブを切り替えて内容を入力すれば問題ありません。
※O/Rマッパーを使うのであれば、別途モデルを定義するので必要がありません。
これでPostgreSQLを使用する準備が整いました。
ここからはお好きなフレームワークでDBを繋ぎ込めます。