Konzept des Schemas in PostgreSQL

8

Ich kann das Konzept und die Verwendung des Schemas in PostgreSQL nicht verstehen. Ich habe keine Ahnung, wie sich dies auf mein Datenbankdesign auswirken kann. Warum sollte ich es benutzen?

Kann es mich in Zukunft betreffen, wenn ich mich entscheide, jetzt nicht an sie zu denken und mich später um sie zu sorgen?

Erklärung mit einem Beispiel wird nett sein.

Codecool
quelle

Antworten:

13

Schemata in Postgres werden hauptsächlich für den Namespace und manchmal für die Sicherheit verwendet.

Namespacing, da zwei Objekte in verschiedenen Schemas denselben Namen haben können und dann durch schema.objectNotation referenziert werden - besonders nützlich in Verbindung mit search_path(viele Contrib-Module tun dies, z . B. xml2 ). Sicherheit, weil Sie jetzt tun können grant ... on all tables in schema.

Jack sagt, versuchen Sie es mit topanswers.xyz
quelle
3
Eines der sehr coolen Dinge, die Sie mit Schemas tun können, ist das Ersetzen von Standardobjekten aus anderen Projekten. Zum Beispiel verwenden wir Wikis in einzelnen Schemata und einer Ansicht, um die Integration von Wikimedia in unsere App bei der Arbeit zu ermöglichen. Für den Wikimedia-Code ist es nur normales altes Wikimedia in einem Schema, aber tatsächlich kommen die Benutzer und Gruppen aus unserer App und überschreiben, was Wikimedia erwarten würde. Auf diese Weise werden die Benutzer- / Gruppeninformationen nicht zweimal gespeichert, einmal in unserer App und einmal in Wikimedia, sondern nur in unserer App.
Scott Marlowe
Ich mag das :-)
Jack sagt, versuchen Sie es mit topanswers.xyz