Tôi muốn đạt được tính đơn nhất không phân biệt chữ hoa chữ thường trong cột VARCHAR. Tuy nhiên, không có kiểu dữ liệu văn bản không phân biệt dạng chữ trong Postgres. Vì trường hợp văn bản gốc không quan trọng, nên chuyển đổi tất cả thành chữ thường/chữ hoa trước khi chèn vào một cột có ràng buộc UNIQUE. Ngoài ra, nó sẽ yêu cầu một INDEX để tìm kiếm nhanh.Postgresql: văn bản chữ thường tự động trong khi (hoặc trước) chèn vào cột
Có cách nào trong Postgres thao tác dữ liệu trước khi chèn không?
Tôi đã xem câu hỏi khác này: How to automatically convert a MySQL column to lowercase. Điều này gợi ý sử dụng trình kích hoạt khi chèn/cập nhật vào văn bản chữ thường hoặc sử dụng chế độ xem với văn bản thấp hơn. Nhưng, không có phương pháp được đề xuất nào đảm bảo tính duy nhất.
Ngoài ra, vì dữ liệu này sẽ được đọc/ghi bởi các ứng dụng khác nhau, nên việc giảm bớt dữ liệu trong mỗi ứng dụng riêng lẻ không phải là một ý tưởng hay.
Không có câu trả lời hiện tại nào thực sự viết thường dữ liệu trước khi chèn, đó là những gì được hỏi. Xem http://stackoverflow.com/questions/18807709/create-a-postgres-rule-or-trigger-to-automatically-convert-a-column-to-lowercase. –