進め方について
- 一通りコマンドを叩いて開発直前の工程まで進め、細かい設定は参考サイトを見て調整するスタイル
- 動かせる環境を作ることを目的としてガンガン進める感じです
- djangoを動かすための環境構築の一部としてやっているため、postgreSQLのをパスワード未設定で動かすための記述やpostgreSQL以外も若干あります
前提
- Dockerのインストールが完了していること
- 苦労した記憶がないので、公式ページなり参考ページなりを見てサクッと入れたと思います
- 参考までに公式ページへのリンクです
- mac環境(10.14.6)で実行しています
手順
dockerファイルの準備
特になし。
docker-composeファイルの準備
docker-compose.yml
version: '3'
services:
db:
image: postgres
environment:
POSTGRES_HOST_AUTH_METHOD: 'trust'
volumes:
- ./database:/var/lib/postgresql/data
postgresqlの各種設定
docker上での動作確認のため、事前にDocker上のPostgreSQLを起動してbashを起動した状態にしておく。
ターミナルで以下のコマンドを実行。
# コンテナを起動させる(「-d」をつけてバックグラウンドで実行させる)
docker-compose up -d
# コンテナ名を確認
docker ps
# コンテナへ接続
docker exec -it {postgreSQLのコンテナ名} bash
# postgreSQLへログイン
psql -U postgres
- ユーザー作成
-- ユーザを作成
create role {role name} with login password '{password}';
-- 作成結果の確認
\du
ロールの付与は別途行う想定ですが、この記事では触れません。
こちらのページを参考に、必要に応じて作成してください。
https://www.dbonline.jp/postgresql/role/index2.html#section1
https://www.dbonline.jp/postgresql/role/index3.html
- データベース作成
-- データベースの作成
create database {database name};
-- データベース一覧の表示
\l
- スキーマ作成
-- スキーマの作成
CREATE SCHEMA {schema name};
create schema anpi;
-- スキーマ一覧
\dn
- テーブルの作成
-- テーブルの作成
create table {schema name}.{table name};
-- テーブル一覧
\dt {schema name}.*;