Hallo, leider habe ich erfahren als ich die pg_catalog Views selektiert habe, dass diese Daten, die in diesen Views sind, weit einfacher sind, als die Daten in den Oracle Dictionary Views.
Es ist sehr schade, deswegen suche ich nach einer Extention welche diese pg_catalog View-Sammlung ergänzt. Klar, nicht direkt in pg_catalog schema, weil man dort nichts tun kann, aber z.B. im Schema Public.
Ich wollte z.B. dieses Select: “select * from pg_catalog.pg_foreign_table;” liefert nur 3 Spalten:
Also es ist ein Witz…
CREATE TABLE pg_catalog.pg_foreign_table (
ftrelid oid NOT NULL,
ftserver oid NOT NULL,
ftoptions _text COLLATE “C” NULL,
CONSTRAINT pg_foreign_table_relid_index PRIMARY KEY (ftrelid)
);
Es gibt klar eine Method dass man viel mehr sehen kann, aber dazu muss ich viele solche Views joinen damit ich die relevanten Informationen sehen kann.
Frage: Gibt es schon irgendwo ein Set von solchen Views, die viel mehr darstellen als die built-in Views in PG? z.B. Extentions oder so was?
Sicher bin ich nicht der Erste und Einzige der so was braucht.
Besten Dank für Eure Hilfe im Voraus.
Gruss, David
Ja, z.B. dass ich die Tabellennamen direkt nicht sehen kann, also ich wollte schnell nach bestimmten Foreign-Tabellen suchen, aber das kann ich mit einem einfachem select * from diese view where nicht machen… ich müsste mit dem pg_class zuerst diese View joinen:
In oracle sehe ich in jeder View die Tabellennamen nicht nur die ID-s.
Ich kann nützliche Views selber erstellen, damit man kompletter die Daten sehen kann, aber sicher bin ich nicht der Erste mit diesem Wunsch also sicher gibt es vielleicht eine Extention zu pg wo man eine erweiterte Sicht von diesen Daten man bekommen kann.
pg_catalog entspricht eher Oracle’s internen V$ Views (die von DBA_XX und USER_XXX Views verwendet werden).
Die Tabellennamen sind in information_schema.foreign_tables enthalten. Für den Anfang ist es wohl einfacher wenn Du immer zuerst in im information_schema nachsiehst.
Ich möchte anmerken, daß es eine sehr schlechte Idee ist, Views auf Katalogtabellen anzulegen. Der Grund ist, daß solche Views die Verwendung von pg_upgrade unmöglich machen.
Klar, man kann die Views vor jedem Upgrade löschen. Aber besser ist es, statt Views Tabellenfunktionen zu verwenden (und dann vielleicht auf denen eine View anzulegen).