Vorrei creare un indice univoco o un vincolo su una chiave specifica in una colonna di hstore se tale chiave esiste. Speravo che la risposta sarebbe stata trovata da qualche parte in questa altra domanda:indice univoco o vincolo sul tasto hstore
Practical limitations of expression indexes in PostgreSQL
Ma ho provato tutte le versioni della sintassi ho potuto venire con e niente avrebbe funzionato.
attualmente, il mio tavolo è
hstore_table
campo hstore è hstore_value
e chiavi vorrei forzare per essere unico sono 'foo' e 'bar' quando esistono.
La mia versione di PostgreSQL è 8.4.13
Ha funzionato PERFETTAMENTE! – trex005
La documentazione afferma "Ogni chiave in un hstore è unica." Non capisco perché dovremmo aggiungere il tipo di indice che mostri. Mi sto perdendo qualcosa? – IamIC
@IamIC Il poster originale desiderava garantire che per due diverse righe A e B, il campo h "h" non potesse contenere la stessa chiave "k" con lo stesso valore tra le due righe. Ad esempio, se esiste una riga 'A.h {k = 1}' non consentire l'inserimento della riga 'B.h {k = 1}' ma consentire l'inserimento di 'B.h {k = 2}' o 'B.h {x = 1}'. Come un vincolo "UNICO", ma applicando il valore della chiave dell'hstore, non la colonna nel suo complesso. –