2012-04-10 7 views
1

Ich habe eine Datenbank mit etwa 50 etwas Tabellen. Ich möchte den Bericht "Data Dictionary" auf jedem Tisch ausführen.Erzeugung aller 'Data Dictionary' Berichte unter jedem 'Objekt' in Postgres

Idealerweise möchte ich, dass alle in einem Bericht sind, zum Beispiel in PGAdminIII. Wenn ich mit der rechten Maustaste "Tabellen" wähle, erhalte ich einen Bericht über alle 'Objekte' und unter jedem einen Datenwörterbuchbericht .

Gibt es eine automatische Möglichkeit, dies zu tun, oder ein Plugin, das ich auf Postgres installieren kann? Oder gibt es etwas Analoges dazu?

+0

Was meinen Sie mit «Data Dictionary»? Können Sie ein Beispiel geben? – vyegorov

+1

Wenn Sie psql ausführen, suchen Sie möglicherweise nach: '\ d *' – kgrittn

+0

@vyegorov in pgadminiii gibt es eine Option zum Ausführen eines Berichts namens "Data Dictionary" –

Antwort

2

Wenn ich richtig verstanden habe, beziehen Sie sich auf die Fähigkeit, mit der rechten Maustaste auf eine Tabelle in PgAdminIII zu klicken und Berichte> Datenwörterbuchbericht auszuwählen?

Ich weiß nicht, wie man das von PgAdminIII aus macht. Sie könnten mit einem anderen Tool wie SchemaSpy arbeiten. Eine andere Option (wie von @kgrittn angedeutet) ist die Verwendung von psql \ d mit dem \ H-Flag, um eine HTML-Ausgabe zu erzeugen. My solution (da SchemaSpy nicht das getan hat, was ich brauchte, und ich brauchte die gleiche Ausgabe für Postgres und Oracle) war es, meine eigene mit Perl, DBD :: Pg und Template :: Toolkit zu rollen.

Aktualisierung: GitHub Link hinzugefügt.

+0

Nicht das, wonach ich ursprünglich gesucht habe, aber es macht, was ich sowieso besser wollte! –

1

Ich habe einen ziemlich einfachen Postgres Data Dictionary Generator in Python geschrieben, der alle Schemas und Tabellen innerhalb einer bestimmten Datenbank umfasst. Wenn es nicht genau das hat, was Sie wollen, wäre es ziemlich leicht zu modifizieren.

https://github.com/kylejmcintyre/pypostgreports