Jedes zentrale PostgreSQL-Schemaobjekt — Struktur, Tabellen, Sichten, Indizes, Typen, Identität, Routinen, Sicherheit und Replikation — in einer kompakten Referenz.
PostgreSQL speichert Daten in benannten Schemaobjekten. Jedes Objekt hat eine Aufgabe: Eine Tabelle hält Zeilen, ein Index beschleunigt Lookups, eine Routine hält Logik. Kenne jedes Objekt, bevor du entscheidest, welches du hinzufügst — und behandle Constraints und Policies als die Regeln, die die Daten ehrlich halten.
Referenztabelle · 45 Einträge
DatenbankobjekteExplained
45 of 45 rows
Struktur
Ein isolierter Katalog von Schemas innerhalb eines Clusters.
Anwendungen oder Umgebungen trennen, die keine Daten teilen dürfen.
Ein benannter Namensraum innerhalb einer Datenbank, der zusammengehörige Objekte gruppiert.
Objekte nach Feature oder Eigentümer organisieren und Namenskonflikte vermeiden.
Ein benannter Ort auf der Festplatte, an dem Tabellen- und Indexdateien abgelegt werden.
Heiße Tabellen auf schnellen Speicher lenken und kalte Daten auf günstigen Platten halten.
Die Einstellung, die entscheidet, zu welchen Schemas ein unqualifizierter Objektname auflöst.
Eine Sitzung auf das richtige Schema zeigen, damit Abfragen kurze Namen nutzen können.
Eine Beschreibung, die mit COMMENT ON auf jedem Datenbankobjekt gespeichert werden kann.
Tabellen und Spalten dort dokumentieren, wo die Autoren der nächsten Abfrage sie finden.
Tabellen & Sichten
Eine benannte Relation, die Zeilen in typisierten Spalten speichert.
Der primäre Behälter für persistente Daten.
Eine Tabelle, deren Zeilen am Ende der Sitzung oder Transaktion verschwinden.
Zwischen- oder gestufte Daten halten, die die Verbindung nicht überleben dürfen.
Eine Elterntabelle, die per deklariertem Schlüssel in Kindpartitionen aufgeteilt ist.
Sehr große Tabellen handhabbar halten, indem Zeilen über Partitionen verteilt werden.
Eine Tabelle, deren Zeilen in einem externen System leben, erreichbar über einen Foreign-Data-Wrapper.
Eine entfernte Datenbank oder Datei abfragen, als wäre sie eine lokale Tabelle.
Eine gespeicherte Abfrage, die als virtuelle Tabelle bereitgestellt wird.
Dieselben Zeilen durch verschiedene Filter oder Joins präsentieren.
Eine einfache Sicht, die INSERT, UPDATE und DELETE an ihre Basistabelle weiterleitet.
Ein gefiltertes oder gejointes Segment einer Tabelle bereitstellen, das schreibbar bleibt.
Eine Sicht, deren Ergebnismenge auf die Platte geschrieben und bei Bedarf aktualisiert wird.
Teure Aggregate oder Joins cachen und schnell lesen.
Eine Funktion, die eine Zeilenmenge zurückgibt, die überall passt, wo eine Tabelle passt.
Eine berechnete Menge an Ort und Stelle expandieren, so wie unnest ein Array in Zeilen verwandelt.
Indizes
Ein balancierter Baumindex für Gleichheits- und Bereichssuchen.
WHERE, JOIN und ORDER BY auf sortierbaren Spalten beschleunigen.
Ein Index, der doppelte Werte in seinem Schlüssel ablehnt.
Eindeutigkeit auf einer Spalte oder Spaltenkombination erzwingen.
Invertierte oder verallgemeinerte Suchbaum-Indizes für nicht-skalare Werte.
Arrays, JSONB, Volltext oder Geometriedaten indizieren.
Ein Index, der nur über Zeilen gebaut wird, die eine WHERE-Klausel erfüllen.
Die heiße Teilmenge indizieren und den Rest auslassen, um Platz zu sparen.
Typen & Erweiterungen
Ein benutzerdefinierter Typ, dessen Werte aus einer festen Liste von Labels stammen.
Eine Spalte auf eine geschlossene Menge einschränken, etwa Statuscodes.
Ein Basistyp plus Check-Constraint, benannt zur Wiederverwendung als Spaltentyp.
Eine validierte Definition, etwa einen nicht-leeren text, über viele Spalten hinweg teilen.
Ein Regelsatz, der definiert, wie Strings verglichen und sortiert werden.
Korrekte Reihenfolge für Groß-/Kleinschreibung, Akzente oder ein bestimmtes Locale erreichen.
Ein installierbares Paket, das einer Datenbank Funktionen, Typen oder Operatoren hinzufügt.
Bewährte Werkzeuge wie PostGIS oder pg_trgm in einem Schritt übernehmen.
Identität & Generiertes
Ein eigenständiges Zählerobjekt, das aufeinanderfolgende Ganzzahlen liefert.
Einen Serial-Schlüssel speisen, wenn mehrere Tabellen einen Generator teilen.
Eine Tabellenspalte, die von einer internen Sequenz getragen wird, gemäß SQL-Standard.
Moderner autoinkrementierender Primärschlüssel, gegenüber SERIAL bevorzugt.
Eine Spalte, deren Wert aus anderen Spalten derselben Zeile berechnet wird.
Einen abgeleiteten Wert speichern oder bereitstellen, ohne manuelle Schreibvorgänge.
Routinen
Ein benannter SQL-Block, der einen Wert oder Zeilen zurückgibt.
Wiederverwendbare Logik kapseln und sie innerhalb von Abfragen aufrufen.
Ein benannter Block, der Aktionen ausführt und seine eigene Transaktion steuert.
Mehrstufiges ETL, bei dem die Routine intern committet oder zurückrollt.
Eine Routine, die viele Eingabezeilen über Zustands- und Finalfunktionen zu einem Wert faltet.
Eigene Reduktionen definieren, etwa einen gewichteten Durchschnitt.
Ein Symbol, das an eine oder mehrere Funktionen für bestimmte Operandentypen gebunden ist.
Eigenen Typen natürliche Syntax geben, etwa a + b oder @>.
Ein deklarierter Konvertierungspfad von einem Typ in einen anderen.
Steuern, wie Werte den Typ wechseln, einschließlich welcher Konvertierungen implizit geschehen.
Eine Routine, die an ein Tabellenereignis gebunden ist und automatisch feuert.
Änderungen bei INSERT, UPDATE oder DELETE auditieren, validieren oder kaskadieren.
Ein Trigger, der auf Ereignisse auf Datenbankebene feuert, etwa DDL-Befehle.
Schemaänderungen in der ganzen Datenbank loggen, blockieren oder auditieren.
Eine geparste Abfrage, die für wiederholte Ausführung mit gebundenen Parametern vorgehalten wird.
Ein Parse und einen Plan über viele Ausführungen derselben Abfrage wiederverwenden.
Ein Handle, das eine Ergebnismenge für den zeilenweisen Abruf offen hält.
Durch große Ergebnisse blättern oder Zeilen innerhalb einer Routine durchlaufen.
Sicherheit & Regeln
Eine benannte Identität, die Privilegien hält; ein Benutzer ist eine Rolle, die sich anmelden kann.
Berechtigungen einmal bündeln und dann Personen, Diensten oder anderen Rollen gewähren.
Anweisungen, die Privilegien auf Objekte an Rollen vergeben oder entziehen.
Festlegen, welche Rolle jedes Objekt lesen, schreiben oder ausführen darf.
Die eingebauten Rechte des Erzeugers, ein Objekt zu ändern oder zu löschen — getrennt von Grants.
Die Rolle benennen, die für den Lebenszyklus eines Objekts verantwortlich ist.
Eine dauerhafte Anweisung, die Privilegien auf Objekte automatisch gewährt, die eine Rolle später anlegt.
Rechte vorbelegen, damit neue Tabellen keine manuellen Grants für die App-Rolle brauchen.
Eine Regel, die Schreibvorgänge ablehnt, die eine deklarierte Bedingung verletzen.
Die Garantien NOT NULL, CHECK, UNIQUE, PRIMARY KEY und FOREIGN KEY erzwingen.
Eine rollenbezogene Regel, die Zeilen versteckt, die die Sitzung nicht sehen darf.
Mandantentrennung oder Zugriff pro Benutzer, ohne Anwendungsabfragen umzuschreiben.
Ein Alias, der einen Namen auf ein Objekt an anderer Stelle auflöst; nativ in Oracle und SQL Server.
Schema-Layouts portieren; in PostgreSQL stattdessen search_path verwenden.
Eine Definition, welche Aktionen zur Überprüfung aufgezeichnet werden, über pgaudit oder Hersteller-Tools.
Belegen, wer was gelesen oder geändert hat, für Compliance und Untersuchungen.
Eine Anweisung, die eine eingehende Abfrage in einen anderen Befehl umschreibt.
Legacy-Umleitung von Schreibvorgängen; PostgreSQL bevorzugt heute Trigger oder aktualisierbare Sichten.
Replikation
Eine senderseitige Definition, welche Tabellen und Änderungstypen zu Replikas gestreamt werden.
Deklarieren, was eine Datenbank Abonnenten der logischen Replikation anbietet.
Ein Empfänger, der sich mit einer Publication verbindet und deren Änderungen auf lokale Tabellen anwendet.
Änderungen aus einer anderen PostgreSQL-Datenbank in diese hineinziehen.
Ein Marker, der den Primary veranlasst, WAL zurückzuhalten, bis ein Konsument ihn gelesen hat.
Garantieren, dass ein Standby oder Abonnent ohne Verlust von Änderungen fortfahren kann.