postgresql

Page content

MacでローカルでPostgreSQLを使う方法

コレとてもわかりやすくて助かるぅ:

MacでPostgreSQLをインストールする

永続化しつつDockerでPostgreSQLを使う方法

DockerでPostgreSQLを使う - Qiita

# 起動: まずはシンプルに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>

ユーザ管理

  • ユーザ作成
  • ユーザの確認
  • ユーザの権限の確認
  • パスワードの変更
  • ユーザの削除