Remover a unicidade do índice no PostgreSQL
Na minha base de dados PostgreSQL tenho um índice único criado desta forma:
CREATE UNIQUE INDEX my_index ON my_table USING btree (my_column)
Há alguma maneira de alterar o índice para remover a restrição única? Procurei por thorugh, alterei a documentação do índice, mas não parece fazer o que preciso.
Eu sei que posso remover o índice e criar outro, mas gostaria de encontrar uma maneira melhor se ele existir. 32
Author: vallismortis, 2013-08-29
3 answers
Você pode ser capaz de remover o único {[[0]}, e não o INDEX
em si.
Verifique o seu CONSTRAINTS
via select * from information_schema.table_constraints;
Então, se encontrares um, deves conseguir largá-lo como:
ALTER TABLE "my_table" DROP CONSTRAINT "unique_something"
Editar: uma edição relacionada está descrita em esta questão
47
Author: Community, 2017-05-23 11:47:29
Assume que tens o seguinte:
Indexes:
"feature_pkey" PRIMARY KEY, btree (id, f_id)
"feature_unique" UNIQUE, btree (feature, f_class)
"feature_constraint" UNIQUE CONSTRAINT, btree (feature, f_class)
Para largar a restrição única, você iria usar alterar a tabela:
ALTER TABLE feature DROP CONSTRAINT feature_constraint;
Para largar o único [índice], você usaria O índice de queda:
DROP INDEX feature_unique;
9
Author: vallismortis, 2018-02-09 14:05:42
Acho que não é possível... mesmo no pgAdmin III UI, se você tentar editar uma restrição criada com a sua declaração, a caixa" única " está acinzentada; você não pode alterá-la através da UI. Combinado com a sua pesquisa sobre os documentos do ALTER INDEX, diria que não pode ser feito.
4
Author: dcsohl, 2013-08-29 15:25:57