Chcę uzyskać unikalną wielkość liter w kolumnie varchar. Ale w Postgresie nie ma typu danych tekstowych niewrażliwych na wielkość liter. Ponieważ oryginalny przypadek tekstu nie jest ważny, dobrze jest przekonwertować wszystkie na małe/wielkie litery przed wstawieniem do kolumny z ograniczeniem UNIQUE. Ponadto będzie wymagać jednego INDEX do szybkiego wyszukiwania.Postgresql: tekst pisany małymi literami podczas (lub wcześniejszego) wstawiania do kolumny
Czy w Postgres jest jakiś sposób manipulowania danymi przed wstawieniem?
Spojrzałem na to inne pytanie: How to automatically convert a MySQL column to lowercase. Sugeruje użycie wyzwalaczy przy wstawianiu/aktualizacji do tekstu pisanego małymi literami lub używania widoków z tekstem pisanym małymi literami. Jednak żadna z sugerowanych metod nie zapewnia wyjątkowości.
Ponadto, ponieważ dane te będą odczytywane/zapisywane przez różne aplikacje, obniżenie danych w każdej indywidualnej aplikacji nie jest dobrym pomysłem.
Żadna z bieżących odpowiedzi nie będzie faktycznie zawierała małych liter przed wstawieniem, czyli o to, co jest zadawane. Zobacz http://stackoverflow.com/questions/18807709/create-a-postgres-rule-l-trigger-to-automatically-convert-a-column-to-lowercase. –