sql >> Database teknologi >  >> RDS >> PostgreSQL

Fremmednøgler + tabelarv i PostgreSQL?

Det er dækket i brugervejledningen .

Den korte version:du kan bruge fremmednøgler eller tabelarv, men ikke begge dele. Dette er ikke i sig selv umuligt, det er bare, at det teknisk set er ret svært at implementere unikke indekser, der spænder over nedarvede tabeller i PostgreSQL på en hurtig og pålidelig måde. Uden det kan du ikke have en nyttig fremmednøgle. Ingen har succesfuldt implementeret det godt nok til, at en patch, der tilføjer support, kan accepteres i PostgreSQL endnu.

En fremmednøgle kan pege på en tabel, der er en del af et arvehierarki, men den finder kun rækker i den tabel præcis . Ikke i nogen forældre- eller børnetabeller. For at se hvilke rækker fremmednøglen ser, skal du lave en SELECT * FROM ONLY thetable . KUN søgeord betyder "ignorering af arv", og det er, hvad opslaget på en fremmednøgle vil gøre.



  1. JBoss7 + PostgreSQL Nye manglende/utilfredse afhængigheder

  2. Spring Batch - Kan ikke oprette metadatatabeller på Postgres og indlæse faktiske data til mysql

  3. MySQL fejl #1005 (kode 150)

  4. hvordan man ændrer mysql sql-tilstand efter installation