Việc gán khóa ngoại cho thuộc tính json là không thể và không bao giờ có thể thực hiện được. Đó sẽ là một thay đổi lớn và khá phức tạp đối với việc thực thi khóa ngoại của PostgreSQL. Tôi không nghĩ là không thể làm được, nhưng sẽ gặp phải các vấn đề tương tự như những vấn đề mà bản vá khóa-to-mảng gặp phải.
Với 9.4, bạn sẽ có thể đặt toàn bộ đối tượng json thành khóa ngoại dưới dạng jsonb
hỗ trợ các bài kiểm tra bình đẳng. Trong 9.3 bạn thậm chí không thể làm điều đó.