pgvector ops 가 다른 두 시나리오
- Schema 마이그레이션 — vector 컬럼 있는 테이블에. Postgres 가 fine — 같은 마이그레이션 도구 (Alembic, dbmate, sqlx) 작동. 단지 populated 테이블에 vector(N) NOT NULL 컬럼 추가는 backfill plan 필요한 거 알아둬.
- 재임베딩 — 모델 바꿀 때. 차원 변경이라 ALTER COLUMN 안 됨 — 새 컬럼 또는 테이블 추가.
zero-downtime 재임베딩 패턴
ALTER TABLE chunks ADD COLUMN embedding_v2 vector(1024) NULL;- 배치로 backfill: text 읽고, 임베딩, embedding_v2 IS NULL 인 곳 update.
- v2 인덱스 빌드.
- 코드에서 read 를 embedding_v2 로 전환.
- 일주일 뒤 embedding (v1 컬럼) drop.
Backup
pg_dump + PITR 평소대로 작동. Vector 컬럼이 default 로 text 직렬화 — verbose 함; 매우 큰 테이블은 logical dump 보다 base backup + WAL archiving 선호.