Em 8 de setembro de 2016 17:17, Guimarães Faria Corcete DUTRA, Leandro <l...@dutras.org> escreveu: > 2016-09-08 17:15 GMT-03:00 Fabrízio de Royes Mello <fabri...@timbira.com.br>: >> Um índice parcial é criado para agir em uma >> porção da tabela de acordo com o predicado definido (aka WHERE), então >> você pode criar um índice regular ou um "unique" que irá respeitar as >> tuplas envolvidas na porção definida pelo mesmo. > > Obrigado! Mas acho que ainda merece uma explicação ainda mais clara > para leigos.
Acontece muito em modelos onde há uma entidade, digamos, PESSOA, que possui vários, digamos, ENDERECO, mas somente 1 ENDERECO pode ser marcado como principal para cada PESSOA. Normalmente recorre-se à triggers para fazer essa validação em banco (eu, troglodita, faria isso), tendo que fazer um SELECT FOR UPDATE verificando se já existe um principal para permitir a alteração, o que foi solucionado simplesmente com um índice único parcial. ... nunca pensei nisso, diga-se de passagem. TIAGO J. ADAMI _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral