Sichten in PostgreSQL
Mit Sichten können Sie die Abfrage-Reaktionszeiten verbessern, da sie die Anzahl der bei einer Datenabfrage durchsuchten Tabellen und Spalten reduzieren. Sie können Sichten erstellen, die von Client-Anwendungen als Feature-Classes oder nicht räumliche Tabellen erkannt werden. Eine ArcSDE-Sicht kann auf eine einzelne Tabelle oder Feature-Class verweisen, Sie können aber auch Sichten erstellen, die Daten aus mehreren Tabellen zusammenführen.
Für Sichten in PostgreSQL werden Regeln verwendet. Die Definitionsabfrage für die Sicht wird dem Regelsystem übergeben, das nach Regeln sucht, die mit der Sicht verknüpft sind. Falls vorhanden, werden diese Regeln an die Sicht angehängt, und die gesamte Abfrage einschließlich der Regeln wird dann an den sog. Planner übergeben, der einen Ausführungsplan erstellt und die Abfrage ausführt.
Jeder Benutzer, der die erforderlichen Berechtigungen hat, kann eine Sicht über SQL oder den ArcSDE-Befehl "sdetable" erstellen. Informationen zu den für das Erstellen von Sichten erforderlichen Berechtigungen finden Sie in der PostgreSQL-Dokumentation für Ihre Version.
Sichtdefinitionen in PostgreSQL können durch Abfragen der Systemsicht "pg_views" abgerufen werden.
Die Systemsicht "pg_views"
Wenn Sie in einer PostgreSQL-Datenbank Sichten erstellen, werden die Sichtinformationen in den PostgreSQL-Systemtabellen gespeichert. Statt jedoch die Systemtabellen abzufragen, fragen Sie die Systemsicht "pg_views" ab, um die Sichtdefinitionen anzuzeigen.
Feldname |
Datentyp |
Beschreibung |
---|---|---|
Schemaname |
Name |
Der Name des Schemas, in dem die Sicht gespeichert ist; verweist auf pg_namespace.nspname |
Sichtname |
Name |
Der Name der Sicht; verweist auf pg_class.relname |
Sichtbesitzer |
Name |
Der Name des Sichtsbesitzers; verweist auf pg_authid.rolname |
Definition |
Text |
Die rekonstruierte SELECT-Abfrage, die die Sicht definiert |