wo denn?
koennen wir jetzt also davon ausgehen, dass du keine beispiele mehr bringst - oder links in die offizielle doku - um die gaengelung zu maximieren dein buch zu kaufen?
Geändert von symbiont (04.10.2009 um 16:41 Uhr)
Nein. Aber es ist Sonntag und ich überlasse das Anschauen der Beispiele dem geneigten Leser. Dafür gehe ich jetzt mit meinem Sohn spazieren.
Den Verweis auf die Dokumentation hättest du schon in deinem Beispiel als Link einfügen können, statt nur unvollständig ein Beispiel zu zitieren.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
Ich danke für die schnellen Antworten. Das Beispiel aus dem Buch wäre schon hilfreich
Die Beispiele aus der Doku beziehen sich entweder auf Trigger ohne Partitionierung oder auf Partitionierung und dann aber nur über Insert Rules bzw. Triggerfunktionen. Ich bräuchte eine Kombination aus beiden.
Was mir aufgefallen ist:
Ich habe ein Triggerfunktion, die in die entsprechende Partition verzweigen sll das löschen übernimmt. Diese wird über einen Trigger der Vatertabelle aufgerufen. Bei einem Löschvorgang der Vatertabelle, löst der Trigger aber nicht aus. PostgreSQL verzweigt schon ohne Trigger und Rule in die Partition.
Erstelle ich in dieser Partition einen Trigger, der die Funktion aufruft, dann feuert der Trigger, was aber dann in einer Endlosschleife endet.
Ist es überhaupt nötig für Löschvorgang und auch Update Rules bzw. Trigger zu definieren? Wie schon gesagt, finde Beispiele immer nur für den Insert.
mfg
Marcus
du solltest genau aufpassen wie du die partitionen erzeugst .. du kannst beim erzeugen einer tabelle angeben, ob diese funktinalitaet der master-table erbt .. auch wird generell nicht alles an funktionalitaet vererbt ..
also -> vererbung checken -> PostgreSQL: Documentation: Manuals: PostgreSQL 8.4: Inheritance
daraus folgt - du musst bei deinen triggern aufpassen auf welche der tabellen du diese erzeugst .. -> doku -> partitionierung
PostgreSQL: Documentation: Manuals: PostgreSQL 8.4: Partitioning
du kannst natuerlich auch handmade partitions erzeugen .. also auf die tools verzichten .. selbst die tabellen ohne vererbung erzeugen (das macht aber niemand wirklich)
..
alles in allem empfehle ich dir dabei auf rules zu verzichten - weil du ueber trigger die geschichte besser kontrollieren kannst ..
endlosschleifen (die sicher irgendwann in nem stack overflow enden) liegen sicher daran, dass du in dem trigger in eine tabelle updatest oder loeschst wo der trigger dann wieder aufgerufen wird ..
du kannst in triggern sehrwohl ueberpruefen in welchem kontext diese trigger aufgerufen werden .. also ob BEFORE oder AFTER welcher Operation .. welche Tabelle es betrifft usw ..
dazu doku -> http://www.postgresql.org/docs/8.4/i.../triggers.html und
http://www.postgresql.org/docs/8.4/i...l-trigger.html
Geändert von symbiont (04.10.2009 um 18:48 Uhr)
Ich danke dir vielmals. Glaube es klappt jetzt. Die endgültigen Tests werde ich die Tage auf Arbeit durchführen.
mfg
Marcus
Ich noch mal.
Würde ich jemanden gängeln wollen, mein Buch zu kaufen, hätte ich ihn bloß auf die ISBN verwiesen. Ich war vorhin lediglich zu faul, den exakten Link auf das Beispiel herauszusuchen. Selbiges kann man sich jedoch auch problemlos auf der Webseite anschauen, ohne dass man das Buch kauft.
Wo also ist dein Problem?
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen