Detta är det nuvarande beteendet för PostgreSQL. Unika index adresserar partitionen, inte tabellen som helhet. Du har några alternativ:
-
Om det är möjligt, partitionera dina tabeller så att nyckelområdena är exklusiva på något sätt. Med andra ord, partition på nyckeldata. Detta är det enklaste och mest problemfria tillvägagångssättet. Här partitionerar du på icke-nyckeldata vilket är ett problem.
-
Om det inte fungerar kan du lägga till partitionsvärdet på den andra sidan av anslutningen. Observera att du vid det här laget behöver anpassade fkey triggers.
-
Om du verkligen behöver kan du skapa en trigger-underhållen materialiserad vy av alla id:n och skapa ett unikt index över det.