ALTER INDEX [ IF EXISTS ] 이름 RENAME TO 새이름 ALTER INDEX [ IF EXISTS ] 이름 SET TABLESPACE 테이블스페이스이름 ALTER INDEX 이름 DEPENDS ON EXTENSION 확장모듈이름 ALTER INDEX [ IF EXISTS ] 이름 SET ( 저장옵션_매개변수명 = 값 [, ... ] ) ALTER INDEX [ IF EXISTS ] 이름 RESET ( 저장옵션_매개변수명 [, ... ] )
ALTER INDEX 명령은 인덱스 속성을 바꾼다. 사용법은 다음과 같이 여러 방식이 있다:
해당 인덱스가 없어도 오류를 내지 않고, 알림만 보여주고, 정상 종료 된다.
RENAME 옵션은 인덱스의 이름을 바꾸는 작업을 한다. 이 때 인덱스 자료는 변경되지 않는다.
해당 인덱스의 저장 위치를 지정한 테이블스페스로 바꾼다. 이 작업이 수행 되면, 물리적인 실재 인덱스 파일이 옮겨진다. 테이블스페이스에 대한 설명는 CREATE TABLESPACE 명령 참조.
해당 인덱스를 지정한 확장 모듈의 한 부분으로 지정해서, 확장 모듈이 삭제되면 함께 삭제 될 수 있도록 한다.
이 구문은 해당 인덱스의 저장 방식에 대한 옵션을 변경 할 수 있는 저장옵션 매개변수값을 지정할 수 있다. 이 매개변수에 대한 자세한 설명은 CREATE INDEX 명령에서 소개하고 있다. 이 명령으로 지정한 값은 실재 인덱스에 바로 적용되지 않는다는 점을 기억해야한다. REINDEX 명령으로 해당 인덱스를 다시 만들어야 원하는 대로 적용된다.
지정한 저장옵션 매개변수에 대해서 시스템 초기값으로 되돌리는 작업을 한다. 이 작업 또한 SET 구문의 사용법처럼, REINDEX 작업을 해주어야 반영된다.
작업할 (스키마 이름을 포함 할 수도 있는) 인덱스 이름.
이름을 바꿀 새 인덱스 이름.
옮겨갈 새 테이블스페이스 이름.
이 인덱스와 관련 있는 확장 모듈 이름
변경할 인덱스 저장 옵션의 매개변수명.
인덱스 저장 옵션 매개변수의 값. 이 값은 해당 매개변수 값으로 사용할 수 있는 숫자이거나 문자열이여야한다.
이 작업들은 ALTER TABLE 명령에서도 가능하다. 내부적으로 보면, ALTER INDEX 명령은 ALTER TABLE 명령을 통한 인덱스 조작 명령의 별칭이다.
ALTER INDEX OWNER 명령도 사용될 수 있으나, 이 작업은 경고를 내면서 무시된다. 인덱스는 테이블 종속적이여서 인덱스의 소유주를 따로 지정할 수는 없다. 필요하다면, 테이블의 소유주를 변경할 수는 있다.
시스템 카탈로그 인덱스에 대해서는 어떠한 작업도 허용되지 않는다.