Chciałbym utworzyć unikalny indeks lub ograniczenie dla określonych kluczy w kolumnie hstore, jeśli ten klucz istnieje. Miałam nadzieję, że odpowiedź będzie można znaleźć gdzieś w tej drugiej kwestii:unikalny indeks lub ograniczenie na kluczu hstore
Practical limitations of expression indexes in PostgreSQL
ale próbowałem wszystkich wersji składni mogę wymyślić i nic nie będzie działać.
obecnie mój stół jest
hstore_table
pole hstore jest hstore_value
i klucze Chciałbym wymusić być unikalne są „foo” i „bar” jeśli istnieją.
Moja wersja PostgreSQL to 8.4.13
Pracował PERFEKCYJNIE! – trex005
Dokumentacja stwierdza: "Każdy klucz w hstore jest unikalny." Nie rozumiem, dlaczego potrzebujemy dodać typ wyświetlanego indeksu. Czy czegoś brakuje? – IamIC
@ IamIC Oryginalny plakat chciał upewnić się, że dla dwóch różnych wierszy A i B pole h haseł "h" nie może zawierać tego samego klucza "k" o tej samej wartości między dwoma wierszami. tj. jeśli istnieje wiersz 'A.h {k = 1}' nie zezwalaj na wstawianie wiersza 'B.h {k = 1}', ale zezwól na wstawienie 'B.h {k = 2}' lub 'B.h {x = 1}'. Tak jak ograniczenie "UNIQUE", ale stosując wartość klucza hstore, a nie kolumnę jako całość. –