2012-07-05 2 views
0

포스트 그레스에서 어떻게 기존 테이블에 인덱스를 추가합니까? postgres에서 기존 테이블에 인덱스를 추가하는 방법은 무엇입니까?

나는 다음과 같은 시도했지만 작동하지 않습니다 : 다음이

CREATE INDEX my_index ON my_table USING btree(a_column); 

과 :

CREATE INDEX my_index ON my_table USING btree(a_column); 

그러나 어느 작품.

개미를 사용하여 DB 마이그레이션을 수행하고 있습니다. 내가 ant db-migrate-apply-postgresql을 할 때 나는 음이 오류 메시지가 오류

[echo] ERROR: relation "my_index" already exists 
+3

거기에있는 구문이 작동해야합니다 (두 개의 동일한 예제가 있습니까?). 그렇지 않으면 ** 유용한 오류 메시지 **를 포함시켜야합니다. [또는 설명서 참조] (http://www.postgresql.org/docs/9.2/interactive/sql-createindex.html) –

+0

컨텍스트를 추가하고 오류 메시지를 포함하도록 편집합니다. – user1467855

+1

오류가 명확 해 보입니다. 색인에 다른 이름을 사용하려고 했습니까? – madth3

답변

10

가 계속 :

ERROR: relation "my_index" already exists

은 꽤 분명하다이 없습니다.

기존 인덱스 또는 테이블의 이름으로 인덱스를 만들려고합니다. 다른 이름을 사용해야합니다.

+0

하지만 실제로는 그렇지 않습니다. 나는 그러한 테이블이나 색인을 가지고 있지 않습니다. – user1467855

+2

@ user1467855 : 분명히 있습니다. –

+0

실제로 3 개의 다른 테이블에 인덱스를 추가하려고합니다. 각 테이블에 대해 인덱스의 이름은 "my_index"입니다. 그러나 개미는 어떤 테이블에도 색인을 추가하지 않습니다. 세 개의 다른 테이블이'id'라는 필드를 가질 수있는 것처럼, 이것은 문제가되지 않습니다. – user1467855

관련 문제