Files
document-haness/.agents/skills/writing-practitioner-guides/references/datastores.md
T
DongHyeonkaandClaude Opus 5 ab59130196 chore: 이전 세션이 남긴 변경을 커밋한다
이번 파이프라인 작업과 무관하게 작업 트리에 남아 있던 것을 그대로 올린다.
사용자가 「전부 커밋」으로 정했고, 이번 작업과 섞이지 않게 커밋만 나눴다.

대부분은 clean-architecture-backend-template 의 그림 정본 재배치다 —
final/assets/diagrams/<이름>/ 에 있던 것이 CLAUDE.md 가 적은 배치인
final/assets/<이름>/ 로 옮겨졌고 .techviz/<이름>/ 이 함께 들어왔다.
삽입 줄의 대부분(3.15M)이 그 .techviz context.json 이다.

그 밖에 ca-tmpl·document-haness 의 정리, .claude/agents/ 열한 개,
writing-practitioner-guides 스킬, .playwright-mcp 세션 산출물,
scripts/check-ssot-facts.py 와 그 시험이 들어 있다.

이 커밋의 내용은 내가 만든 것이 아니라 이전 세션이 남긴 것이고 검증하지 않았다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-17 11:02:02 +09:00

1.6 KiB

데이터 저장소 — what to reach for first

PostgreSQL

psql -U <user> -d <db>
\conninfo          지금 어디에 붙어 있나
\dt                테이블 목록
\d <table>         구조 · 인덱스 · 제약
\du                롤
\l                 데이터베이스 목록
\x                 세로 출력 토글 (넓은 행을 볼 때)
SHOW <setting>;                          -- 전역값
SELECT * FROM pg_stat_activity;          -- 지금 도는 쿼리
EXPLAIN <query>;                         -- 계획만
EXPLAIN (ANALYZE, BUFFERS) <query>;      -- 실제 실행. 변경 쿼리에 쓰면 실제로 바뀐다

한 줄로 값만 뽑을 때.

kubectl exec deploy/postgres -- psql -U <user> -d <db> -tAc 'select count(*) from <t>'

문장 로깅 — 애플리케이션을 고치지 않고 「무엇이 DB 를 어떻게 쓰는지」 본다.

ALTER SYSTEM SET log_statement = 'all';
SELECT pg_reload_conf();
-- 끝나면 되돌린다
ALTER SYSTEM RESET log_statement;

Redis

redis-cli ping
redis-cli info server | head
redis-cli dbsize
redis-cli --scan --pattern '<prefix>*'    # KEYS 대신. 블로킹하지 않는다
redis-cli type <key>
redis-cli ttl <key>
redis-cli --no-raw get <key>              # 바이너리를 이스케이프해 보여 준다
redis-cli config get appendonly

\xac\xed 로 시작하면 Java 네이티브 직렬화라 사람이 읽을 수 없다.

/data 가 볼륨이 아니면 영속화 설정은 컨테이너와 함께 사라진다.

kubectl get pod -l app=redis -o jsonpath='{.items[0].spec.volumes}'