Appearance
DockerでPostgreSQLを構築
設定
docker-compose.yaml
yaml
services:
postgresql:
container_name: postgresql
image: postgres:18.4
environment:
- POSTGRES_USER=root
- POSTGRES_PASSWORD=password
ports:
- 5432:5432
volumes:
- ./volumes/initdb.d:/docker-entrypoint-initdb.dvolumes/initdb.d/create_db.sql
sql
-- データベース作成
CREATE DATABASE eadb;
-- スキーマ作成
\c eadb
CREATE SCHEMA eadb;
-- テーブル作成
CREATE TABLE eadb.users (
id INT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY
, username VARCHAR(10)
, age INT
);
-- ユーザ作成
CREATE USER eadbuser WITH PASSWORD 'eadbpass';
-- スキーマへの権限付与
GRANT USAGE ON SCHEMA eadb TO eadbuser;
-- テーブルへの権限付与
GRANT ALL ON ALL TABLES IN SCHEMA eadb TO eadbuser;