postgresql
Page content
MacでローカルでPostgreSQLを使う方法
コレとてもわかりやすくて助かるぅ:
永続化しつつDockerでPostgreSQLを使う方法
# 起動: まずはシンプルにPostgreSQLをDockerで起動してみます
docker run --name postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgres:16
# 接続: 起動したPostgreSQLに接続してみます。
psql -h localhost -U postgres -d postgres
初期ファイルと永続化
cd
mkdir docker-pg-test
cd docker-pg-test
mkdir init data
touch ./init/init.sql
init.sql
create table if not exists members(
id serial primary key,
name text,
age int
);
実行と動作確認
docker run --name postgres -it -p 5432:5432 -e POSTGRES_PASSWORD=postgres -v $(pwd)/init:/docker-entrypoint-initdb.d -v $(pwd)/data:/var/lib/postgresql/data -d postgres:16
# login
psql -h localhost -U postgres -d postgres
docker-compose 化
cat << EOF > docker-compose.yml
version: '3'
services:
postgres:
image: postgres:16
container_name: my_postgres
ports:
- "5432:5432"
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
volumes:
- ./data:/var/lib/postgresql/data
- ./init:/docker-entrypoint-initdb.d
EOF
基本操作
postgresql の起動・接続
- postgresql のコンソールに入る操作
psql [OPTIONS] [database] # 省略すると、デフォルト値(ホスト名: localhost, ユーザ名: 現在のアカウント名)
データベース操作
# データベース一覧表示
psql -l
# もしくは
\l
# データベース切替
\c <db_name>
テーブル操作
# テーブル一覧表示
\dt
# テーブルのスキーマ表示
\d <table_name>
ユーザ管理
- ユーザ作成
- ユーザの確認
- ユーザの権限の確認
- パスワードの変更
- ユーザの削除