Ràng buộc duy nhất trong PostgreSQL: một index B-tree đứng sau, và cái bẫy NULL ai cũng vấp
UNIQUE constraint và CREATE UNIQUE INDEX khác nhau ở đâu, vì sao ràng buộc duy nhất vừa cưỡng chế vừa tăng tốc đọc, và tại sao một cột UNIQUE vẫn cho nhiều dòng NULL — đo thật trên PostgreSQL 16 với lỗi duplicate key nguyên văn.