さくっと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-8ENV LANG ja_JP.utf8ENV LC_MESSAGES en_US.utf8compose.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=15432DB_NAME=postgresDB_USER=postgresDB_PASSWORD=passwordで、以下のコマンドで起動する。
docker-compose uppostgresもlocaleでソート順が変わるという罠挙動があるので、それを確かめたいときなどはDockerfileを書けると便利。