Tabellendefinition in neue Tabelle schreiben

Hallo,

wir haben ein Programm, welches aus einer Tabellendefinition eine neue Tabelle in Postgres erstellt. In der Definition steht z.B. der Spaltennname, der Feldtyp und die Länge.

Jetzt habe ich eine Datenbank/Tabellen, welche ich gerne in die Tabellendefiniton schreiben möchte.

Gibt es eine Abfrage, um den Spaltennamen, Feldtyp und Länge abzufragen (Geht \d nur in der Console?) und das Ergebniss in eine neue Tabelle schreiben?

Müsste ja eine Art Update sein?

Kann ich diese Abfrage auf alle Tabellen in der DB anwenden (ohne php-Schleife)

Gruß Karl

Beispiel:
Ich habe eine Tabelle Haus. Die Definition soll in der Definitonstabelle stehen.

Haus
id_haus (serial), bewohner (varchar(20))

Definitionstabelle:
Haus – id_haus – serial – 0
Haus – bewohner – varchar – interger – 20

es gibt dafuer den catalog INFORMATION_SCHEMA … da kannst du mittels SQL alles moegliche abfragen

Warum erfindest Du das Rad neu?

Das, was Du suchst, steht in information_schema.columns für jede einzelne Tabelle, die existiert. Du kannst also diese abfragen und die dich interessierenden Dinge da herholen und woanders speichern. Nennt sich dann ‘Redundanz’ :wink:


Andreas

er moechte - so wie ich das verstehe - seine modellierungssoftware mit vorhandenen tabellen und deren spalten fuellen …



Gibt es eine Abfrage, um den Spaltennamen, Feldtyp und Länge abzufragen (Geht \d nur in der Console?) und das Ergebniss in eine neue Tabelle schreiben?

verstehe ich so, daß er das, was \d liefert, als SQL haben möchte. Ach ja, er kann auch psql mit -E starten …

Andreas

Das habe ich gesucht. Jetzt muss ich halt noch nen kleines bisschen rumbasteln.Es gibt ja ebenfalls zwei Defintionstabellen. Wie die zwei Sichten: columns und tables. cheers