Este comando altera um índice, podendo mudar o nome, o tablespace e redefinir parâmetros do mesmo.
Dependendo da sintaxe, pode demandar um comando REINDEX para efetivar a alteração.
O tipo de índice (btree, hash, etc.) não pode ser alterado através do comando ALTER INDEX, assim como os campos indexados e outras características. Neste caso, o objeto índice deve ser excluído e recriado.
Sintaxe:
ALTER INDEX name RENAME TO new_name
ALTER INDEX name SET TABLESPACE tablespace_name
ALTER INDEX name SET ( storage_parameter = value [, ... ] )
ALTER INDEX name RESET ( storage_parameter [, ... ] )
Exemplo:
0 - Índices utilizados no teste.
create index tstdel_ind on tstdel (cod);
create index tstdel_ind_date on tstdel (date);
create index tstdel_ind_coddate on tstdel (cod, date);
1 - Alteração de nome.
ALTER INDEX tstdel_ind_coddate RENAME TO tstdel_ind_coddata;
ALTER INDEX tstdel_ind_date RENAME TO tstdel_ind_data;
2 - Alteração de tablespace.
ALTER INDEX tstdel_ind SET TABLESPACE pg_default;
3 - Alteração de parâmetro de armazenamento, seguida por um REINDEX.
ALTER INDEX tstdel_ind SET ( fillfactor = 80 );
REINDEX INDEX tstdel_ind;
4 - RESET de alterações de parâmetro de armazenamento, seguido por um REINDEX.
ALTER INDEX tstdel_ind RESET (fillfactor);
REINDEX INDEX tstdel_ind;
Nenhum comentário:
Postar um comentário