PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Indice univoco sulle partizioni postgresql

Questo è il comportamento corrente di PostgreSQL. Gli indici univoci indirizzano la partizione, non la tabella nel suo insieme. Hai alcune opzioni:

  1. Se possibile, partiziona le tabelle in modo che gli intervalli di chiavi siano in qualche modo esclusivi. In altre parole, partizionare i dati chiave. Questo è l'approccio più semplice e senza problemi. Qui stai partizionando su dati non chiave, il che è un problema.

  2. Se ciò non funziona, puoi aggiungere il valore della partizione sull'altro lato del join. Nota che a questo punto hai bisogno di trigger fkey personalizzati.

  3. Se ne hai davvero bisogno, puoi creare una vista materializzata mantenuta dal trigger di tutti gli ID e creare un indice univoco su questo.