C.W.K.
Stream
Lesson 10 of 10 · published

PostgreSQL 생태계

~14 min · foundations, ecosystem

Level 0스키마 새싹
0 XP0/86 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

평생 살 CLI

psql 이 공식 터미널 클라이언트. 빠르고 scriptable, meta-command 강력. GUI 배우기 전에 이거 먼저 — 평생, 모든 머신, 모든 클라우드, 모든 컨테이너에서 쓸 거야.

다른 핵심 CLI 도구

  • pg_dump — DB 한 개 logical 백업 (SQL 또는 custom format).
  • pg_restore — custom-format dump 복원.
  • pg_basebackup — 클러스터 전체 physical 백업.
  • pgbench — 내장 벤치마크 + load generator.
  • vacuumdb / reindexdb / clusterdb — 유지보수 유틸.

가장 흔한 extension

  • PostGIS — 완전한 GIS DB.
  • pg_trgm — 퍼지/오타 허용 텍스트 검색.
  • pgcrypto — 해싱, 암호화, 안전 random byte.
  • pgvector — 임베딩 + ANN 검색.
  • pg_stat_statements — 쿼리별 텔레메트리; 프로덕션에서 가장 먼저 켜는 거.
  • uuid-ossp — 역사적으로 UUID 생성용; PG 18+ 는 내장 uuidv7().

GUI, 모니터링, 호스팅

GUI: pgAdmin (공식, 웹), DBeaver (cross-platform), TablePlus (macOS-friendly), Postico (macOS native). 풀링: pgBouncer (transaction-mode connection pooling). HA: Patroni. 호스팅: Supabase, Neon, RDS/Aurora, AlloyDB, Azure Flexible Server, Railway, Render.

Code

psql 핵심·bash
# 연결
psql -h localhost -U myuser -d mydb

# psql 안 — meta command
\dt                  -- 현재 schema 의 테이블 목록
\d+ orders           -- orders 테이블 상세 묘사
\df                  -- 함수 목록
\du                  -- 유저/역할 목록
\timing on           -- 쿼리 실행 시간 표시
\x auto              -- 넓은 행은 expanded 출력
\copy orders TO 'orders.csv' WITH CSV HEADER
\i seed.sql          -- SQL 파일 실행
\q                   -- 종료
백업 + 복원·bash
# Logical dump (SQL 텍스트 — 읽기 가능, portable)
pg_dump -h prod-db -U app mydb > mydb.sql

# Logical dump (custom format — 빠름, parallel 복원, 선택적)
pg_dump -h prod-db -U app -F c -f mydb.dump mydb

# 새 DB 에 custom dump 복원
createdb mydb_restore
pg_restore -h localhost -U app -d mydb_restore mydb.dump
헤드라인 extension 몇 개 설치·sql
CREATE EXTENSION IF NOT EXISTS pg_trgm;
CREATE EXTENSION IF NOT EXISTS pgcrypto;
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
CREATE EXTENSION IF NOT EXISTS vector;

External links

Exercise

아무 PostgreSQL DB 에 psql 로 연결 (로컬 설치, Supabase, Neon free tier). \dt, \df, \du, \timing on, CREATE EXTENSION 한 개 실행. 이 레슨 전엔 몰랐던 meta-command 세 개 적어.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.