CREATE INDEX CONCURRENTLY가 트랜잭션 블록에서 실패할 때
PostgreSQL의 CREATE INDEX CONCURRENTLY는 운영 쓰기를 막는 범위를 줄이려는 방식이지만 일반 트랜잭션 블록 안에서 실행할 수 없습니다. 마이그레이션 도구가 자동으로 트랜잭션을 감쌌는지 먼저 확인합니다.

- 동시 인덱스 생성은 일반 생성과 제약이 다릅니다
- 도구의 비트랜잭션 실행 지원을 조사합니다
- 완료와 유효 상태를 함께 확인합니다
동시 인덱스 생성은 일반 생성과 제약이 다릅니다
PostgreSQL의 CREATE INDEX CONCURRENTLY는 운영 쓰기를 막는 범위를 줄이려는 방식이지만 일반 트랜잭션 블록 안에서 실행할 수 없습니다. 마이그레이션 도구가 자동으로 트랜잭션을 감쌌는지 먼저 확인합니다.
도구의 비트랜잭션 실행 지원을 조사합니다
파일 전체의 트랜잭션을 임의로 제거하기보다 해당 마이그레이션에서 요구하는 방식을 확인합니다. 인덱스 이름과 기존 상태도 조사합니다. 실패 뒤 유효하지 않은 인덱스가 남을 수 있으므로 존재만 보고 사용 가능하다고 판단하지 않습니다.
완료와 유효 상태를 함께 확인합니다
작업 중 부하와 대기를 관찰하고 성공 후 인덱스 유효성과 실제 계획을 확인합니다. 중복 생성이나 삭제 재시도는 영향을 검토한 뒤 수행합니다. 동시에 만든다는 말이 비용이나 잠금이 전혀 없다는 뜻은 아닙니다.
서버 운영 실행 전 점검표
- 동시 인덱스 생성은 일반 생성과 제약이 다릅니다
- 도구의 비트랜잭션 실행 지원을 조사합니다
- 완료와 유효 상태를 함께 확인합니다
이 가이드의 근거 문서
출처 확인일: 2026-11-04. 공식 문서에 기반한 편집 가이드이며 직접 수행한 벤치마크가 아닙니다. 비용 사례는 명시된 가정에 한합니다.
오류 제보 방법