제 제작 상자의 테이블에 고유 인덱스를 만들려고합니다. 이를 위해 :TimeOut on 고유 인덱스 만들기 동시 수행
- 내 생산 (포스트 그레스입니다) DB
Create UNIQUE INDEX CONCURRENTLY idx_id_unique on TABLE1(COLUMN1)
이 몇 시간 후 (오류 던지고에서 다음 명령을 COLUMN1
란에 테이블 TABLE1을 만들었습니다) :
2014-10-07 20:46:49.056 EDT ERROR: cancelling statement due to statement timeout
2014-10-07 20:46:49.056 EDT STATEMENT: Create UNIQUE INDEX CONCURRENTLY idx_id_unique on TABLE1(COLUMN1)
내 질문 :
- 이 시간 초과 오류의 가능한 원인은 무엇일까요? 참고 : 프로덕션 DB 서버이므로 수천 개의 다중 쿼리/트랜잭션이 동시에 실행되므로 CREATE INDEX ....에는 상당한 시간이 걸립니다. 그러나 여전히,이 쿼리는 타임 아웃 예외를 던질 것인가?
- CREATE UNIQUE INDEX CONCURRENTLY에 대한 Postgres의 명령문 제한 시간 초과 오류가 발생합니까? 이 쿼리는 대형 테이블의 경우 완료하는 데 여러 시간이 필요하므로
- 이 경우 가능한 해결 방법은 무엇입니까?
DB에 초보자인데 진술 제한 시간을 어떻게 늘릴 수 있습니까? – SID
또한 TransactionTemplate 객체를 사용하여 java에서이 함수를 호출 할 것입니다. 그 한계를 높이는 방법에 대한 아이디어가 있습니까? – SID