pgvector 시맨틱 검색 가이드
PostgreSQL + pgvector로 임베딩 저장·HNSW 인덱스·RAG 검색을 성능까지 튜닝해 구축하도록 돕는 스킬입니다.
개발·코딩중급★ 1,835⑂ 107AI 점수 9/10마지막 업데이트: 2026. 9. 4.
무엇을 해주나
Claude가 PostgreSQL에서 벡터 유사도 검색(시맨틱 검색, RAG)을 구성할 때 따라야 할 표준 설계를 제공합니다.
- 기본 설계(Golden Path):
halfvec(N)저장 + 코사인 거리(<=>) + HNSW(m=16,ef_construction=64) +hnsw.ef_search=100 - 인덱스 선택 기준: HNSW 우선, IVFFlat은 쓰기 과다·메모리 제약 상황에서만
- 양자화 전략: halfvec 기본, 대용량은
bit(N)이진 양자화 + 재랭킹(80배 오버샘플링) - 필터링 전략: iterative scan, B-tree 프리필터, 부분 인덱스, 파티셔닝 중 선택 기준
- 대량 적재·유지보수·모니터링: COPY 후 인덱스 생성, VACUUM/REINDEX, EXPLAIN ANALYZE, 인덱스 빌드 진행률 조회
- 증상 → 원인 → 해결 표로 흔한 문제를 빠르게 진단
이런 분께 추천
- PostgreSQL 위에 RAG 파이프라인이나 시맨틱 검색을 올리려는 백엔드/AI 엔지니어
- 이미 pgvector를 쓰는데 recall이 낮거나 p95 지연이 튀는 것을 해결하고 싶은 분
- 수백만~수천만 벡터 규모에서 메모리 비용을 줄여야 하는 팀
활용 예시
- "문서 임베딩 1536차원을 저장할 테이블과 인덱스를 만들어줘" →
halfvec(1536)컬럼 +hnsw (embedding halfvec_cosine_ops)인덱스 DDL과 쿼리 패턴 생성 - "카테고리로 필터링하면 결과가 10개보다 적게 나와요" → HNSW 조기 종료 진단 후
hnsw.iterative_scan = relaxed_order및max_scan_tuples조정, 혹은 부분 인덱스/파티셔닝 제안 - "벡터 2천만 개인데 RAM 64GB로 버틸 수 있을까?" → 용량 표를 근거로 이진 양자화 + 재랭킹 쿼리(후보 800개 → 상위 10개) 구성 제시
· · · 설치 가이드 · · ·
설치 없이 지금 한 번 써보기
아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.
이 파일의 지시를 읽고 그대로 따라서 나를 도와줘: https://raw.githubusercontent.com/timescale/pg-aiguide/HEAD/skills/pgvector-semantic-search/SKILL.md 내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)
Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.
↓ 쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
클로드스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 timescale/pg-aiguide 의 skills/pgvector-semantic-search 폴더를 내 ~/.claude/skills/pgvector-semantic-search/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/timescale/pg-aiguide.git && mkdir -p ~/.claude/skills && cp -r pg-aiguide/skills/pgvector-semantic-search ~/.claude/skills/⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- 터미널을 엽니다.
- 스킬 저장소를 내려받습니다:
git clone https://github.com/timescale/pg-aiguide.git - Claude 스킬 폴더를 만듭니다:
mkdir -p ~/.claude/skills - 스킬을 복사합니다:
cp -r pg-aiguide/skills/pgvector-semantic-search ~/.claude/skills/ - Claude Code를 재시작한 뒤 "pgvector로 시맨틱 검색 테이블을 설계해줘"처럼 요청하면 스킬이 자동 발동합니다.
- 실제 적용 전 데이터베이스가 PostgreSQL 15 이상이고 pgvector 0.8.0 이상이 설치돼 있는지 확인하세요(
CREATE EXTENSION IF NOT EXISTS vector;).
GitHub에서 원본 보기 ↗라이선스: Apache-2.0