さくっとpostgreSQLを立ち上げたいときのメモ
はじめに
今SQLを叩きたいぞというときが稀にある。 そもそもそういうときはこの「はじめに」すら読み飛ばすので、さっさと方法を書く。
プロジェクトに紐付かない場合 (docker)
最短でpostgresを立ち上げたい場合、直接dockerで上げてしまう。
docker run --rm -it -e POSTGRES_PASSWORD=password -p 15432:5432 postgres
以下の情報で接続できる。
- host:
localhost - port:
15432 - db_name:
postgres - user:
postgres - password:
password
プロジェクトに紐付く場合 (docker-compose)
プロジェクトのローカルDB環境としてpostgresを立ち上げたいなら、docker-composeを使ってメンバーと共有した方が良い。 起動方法もdocker-composeに隠蔽されるので便利。
docker/postgres/Dockerfile として以下の内容で保存する。
FROM postgres:15
RUN localedef -i ja_JP -c -f UTF-8 -A /usr/share/locale/locale.alias ja_JP.UTF-8
ENV LANG ja_JP.utf8
ENV LC_MESSAGES en_US.utf8
compose.yml に以下内容で保存する。
services:
db:
build:
context: ./docker/postgres
command: log_statement=all
ports:
- ${DB_PORT}:5432
environment:
- POSTGRES_DB=${DB_NAME}
- POSTGRES_USER=${DB_USER}
- POSTGRES_PASSWORD=${DB_PASSWORD}
最後に .env に以下内容を用意しておく。
DB_PORT=15432
DB_NAME=postgres
DB_USER=postgres
DB_PASSWORD=password
で、以下のコマンドで起動する。
docker-compose up
postgresもlocaleでソート順が変わるという罠挙動があるので、それを確かめたいときなどはDockerfileを書けると便利。