Ergebnis 1 bis 3 von 3

Thema: Metadaten rund um die Partitionierung

  1. #1
    helmutnn ist offline Benutzer
    Registriert seit
    08.07.2009
    Beiträge
    33

    Standard Metadaten rund um die Partitionierung

    Hallo zusammen,

    Ich möchte eine Applikation zur automatischen Partitionierung an PostgreSQL anpassen (sie existiert bereits für ein anderes DBMS). Um in jedem Zustand sauber wiederaufsetzen zu können muss Ich den aktuellen Ist-Stand der Partitionierung ermitteln können. Als Startpunkt kenne Ich alle Basis-Tabellen, zu denen Ich abgeleitete Partitionstabellen erwarte. Wie kann man ausgehend von den Basis-Tabellen folgendes herausfinden:

    - Alle Namen der von der Basistabelle abgeleiteten Tabellen
    - Die Check-Constraints dieser abgeleiteten Tabellen oder allgemeiner die Check-Constraints einer Tabelle
    - Die Trigger (mit Code) auf der Basistabelle
    - Die Indexe der abgeleiteten Tabelle bzw. allgemeiner einer Tabelle

    Zusätzlich muss Ich noch herausfinden, ob Funktionen mit bestimmten Namen existieren. Ich bin sicher nicht der erste der die Verwaltung und Änderung des Partitionierungsschemas per Programm durchführen will. Gibt es möglicherweise bereits öffentlich verfügbaren Code, der die Initialisierung aus den PostgreSQL Metadaten demonstriert?

  2. #2
    castorp ist offline Erfahrener Benutzer
    Registriert seit
    27.06.2009
    Beiträge
    493

    Standard

    Zitat Zitat von helmutnn Beitrag anzeigen
    - Alle Namen der von der Basistabelle abgeleiteten Tabellen
    Über pg_class und pg_inherits
    http://www.postgresql.org/docs/current/static/catalog-pg-class.html
    http://www.postgresql.org/docs/current/static/catalog-pg-inherits.html

    Die Check-Constraints dieser abgeleiteten Tabellen oder allgemeiner die Check-Constraints einer Tabelle
    Über pg_constraints
    http://www.postgresql.org/docs/current/static/catalog-pg-constraint.html

    Die Trigger (mit Code) auf der Basistabelle
    Über pg_class und pg_trigger
    http://www.postgresql.org/docs/current/static/catalog-pg-trigger.html

    Die Indexe der abgeleiteten Tabelle bzw. allgemeiner einer Tabelle
    Über pg_index
    http://www.postgresql.org/docs/current/static/catalog-pg-index.html

    Zusätzlich muss Ich noch herausfinden, ob Funktionen mit bestimmten Namen existieren.
    Über pg_proc
    http://www.postgresql.org/docs/current/static/catalog-pg-proc.html
    A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

  3. #3
    helmutnn ist offline Benutzer
    Registriert seit
    08.07.2009
    Beiträge
    33

    Standard Das sähe dann konkret so aus

    Danke für die Informationen. Die SQL-Statements sähen dann konkret so aus:

    Alle von einer Tabelle abgeleiteten Tabellen ermitteln:
    ----------------------------------------------------------
    select oid,relname from pg_class where oid in
    ( select inhrelid from pg_inherits where inhparent in
    ( select oid from pg_class where relname = 'test___'));

    Zu einer Tabelle alle darauf definierten Check-Constraints (mit Quelltext) ermitteln:

    select oid,consrc from pg_constraint where conrelid in
    ( select oid from pg_class where relname = 'test___2010')
    and contype = 'c';

    Alle auf einer Tabelle definierten Trigger und die Id der aufgerufenen Funktion ermitteln:

    select tgname,tgfoid from pg_trigger where tgrelid in
    (select oid from pg_class where relname = 'test___');

    Alle Indexe zu einer Tabelle ermitteln:

    select oid,relname from pg_class where oid in
    (select indexrelid from pg_index where indrelid in
    ( select oid from pg_class where relname = 'test___2010'));

    Informationen zu einer Funktion mit einem bestimmten Namen ermitteln:

    select * from pg_proc where proname = 'insert_procedure_test___';
    ----------------------------------------------------------

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum