Um nicht mehr benötigte Datensätze zu löschen, d.h. Sätze auf die nicht (mehr) referenziert wird, nutze ich zzt. SQL. Bei größeren Datenmengen und vielen Tabellen wird dies jedoch zunehmend inperformant.
Meine Überlegung ist, dass Postgres intern vermutlich weiß, ob bzw. wieviele Referenzen auf einen Datensatz bestehen (um die referenzielle Integrität zu bewahren). Wenn dies zutrifft, gibt es eine Möglichkeit diese Informationen abzufragen bzw. Postgres zu veranlassen, unreferenzierte Datensätze (aus einer bestimmten Tabelle) zu löschen?
Meine bisherige Suche hierzu war leider ergebnislos, vielleicht weiß hier jemand mehr. Oder bin ich mit meiner Idee völlig auf dem Holzweg?
MfG
Dr. Mabuse
P.S: Das unreferenzierte Sätze entstehen hat (gute) Gründe, die ich an dieser Stelle aber nicht diskutieren möchte.
Meine Überlegung ist, dass Postgres intern vermutlich weiß, ob bzw. wieviele Referenzen auf einen Datensatz bestehen (um die referenzielle Integrität zu bewahren).
Nein. Das ist auch nicht nötig. Referenzielle Integrität bestät auch, wenn zu einem Datensatz mit Primary Key = X kein Datensatz einer anderen Tabelle besteht, der X als Foreign Key hat.
Wenn dies zutrifft, gibt es eine Möglichkeit diese Informationen abzufragen bzw. Postgres zu veranlassen, unreferenzierte Datensätze (aus einer bestimmten Tabelle) zu löschen?
Meine bisherige Suche hierzu war leider ergebnislos, vielleicht weiß hier jemand mehr. Oder bin ich mit meiner Idee völlig auf dem Holzweg?
MfG
Dr. Mabuse
P.S: Das unreferenzierte Sätze entstehen hat (gute) Gründe, die ich an dieser Stelle aber nicht diskutieren möchte.
Die Möglichkeiten, mit regulären SQL solch Datensätze zu finden sind Dir ja bekannt. was bleibt, bei Bedarf diesen Weg zu optimieren.