Dette er den aktuelle adfærd for PostgreSQL. Unikke indekser adresserer partitionen, ikke tabellen som helhed. Du har et par muligheder:
-
Hvis det overhovedet er muligt, skal du opdele dine tabeller, så nøgleområderne på en eller anden måde er eksklusive. Med andre ord, partition på nøgledata. Dette er den nemmeste og mest problemfri tilgang. Her partitionerer du på ikke-nøgledata, hvilket er et problem.
-
Hvis det ikke virker, kan du tilføje partitionsværdien til den anden side af joinforbindelsen. Bemærk, at du på dette tidspunkt har brug for brugerdefinerede fkey-udløsere.
-
Hvis du virkelig har brug for det, kan du oprette en trigger-vedligeholdt materialiseret visning af alle id'er og oprette et unikt indeks over det.