覚書: Rails: Docker: 開発環境で PostgreSQL を使う
環境
ruby 3.2.2
rails 7.1.3.2
docker 25.0.3
postgres:15.6-bookworm
参照
https://hub.docker.com/_/postgres
Docker LibraryのPostgreSQLで日本語がうまくソートされない
手順
コンテナ名 env_dev-pg_15
アカウント postgres/pg_secret
ボリューム ./data:/var/lib/postgresql/data
ポート 5432
PostgreSQL のコンテナを起動して接続する。
POSTGRES_INITDB_ARGS に "--encoding=UTF-8 --locale=C" を設定する。
ボリューム カレントの data を /var/lib/postgresql/data にマウントする。
docker run --name env_dev-pg_15 -e POSTGRES_INITDB_ARGS="--encoding=UTF-8 --locale=C" -e POSTGRES_PASSWORD=pg_secret -p 5432:5432 -d postgres:15.6-bookworm
docker run -it --rm --network host postgres:15.6-bookworm psql -h localhost -U postgres
\conninfo
select name, setting, context from pg_settings where name like 'lc%';
\q
config/database.yml の default に username password host を追加する。
default: &default
adapter: postgresql
encoding: unicode
# For details on connection pooling, see Rails configuration guide
# https://guides.rubyonrails.org/configuring.html#database-pooling
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: postgres
password: pg_secret
host: localhost
development と test のデータベースを作成する。
rails db:create
以上です。
この記事が気に入ったらサポートをしてみませんか?