Drop Schema Postgres

Drop Schema Postgres
In diesem Artikel werden wir die Löschung des Schemas aus unserer Datenbank diskutieren. Datenbankschemata sind eine Gruppe von Objekten von Datenbanken, die fast jedes Element enthalten, das die Datenbank wie Trigger, Funktionen, Tabellen und vordefinierte Prozeduren haben sollte. In Postgresql kann nur der Eigentümer oder Superuser ein Schema entfernen. Es gibt mehrere Kontrollpunkte, die wir durchgehen müssen, wenn wir ein Schema löschen. Diese Überprüfungen werden in diesem Artikel weiter erörtert.

Syntax für das Drop -Schema in PostgreSQL

In PostgreSQL verwenden wir die folgende Abfrage zum Ablegen eines Schemas:

Drop Schema [falls existiert] name_of_schema
[Kaskade oder Einschränkung];

Wie Sie sehen können, beginnt der Befehl mit dem Schlüsselwort „Drop“, das in Postgres zum Löschen verwendet wird, und dann verwenden wir das Schlüsselwort „Schema“, das vorschlägt, ein Schema zu löschen. Anschließend folgt der Befehl „Wenn existieren“, der nach dem Schema in der Datenbank prüft. Nach dieser Überprüfung schreiben wir den Namen des Schemas, mit dem wir es in unserer Datenbank gespeichert haben. Dann werden wir zu einem anderen Satz von Schecks übergehen, die die "Kaskade" und "einschränken" sind.

Der Befehl „Kaskade“ bezieht sich auf das Löschen aller Objekte, die ein Schema hält, während der Befehl „Einschränkung“ den Benutzer daran hindert, ein Schema zu löschen, das einige Datenbankobjekte wie Tabellen oder Ansichten enthält. Dieser Befehl hat auch benutzerorientierte Berechtigungen, was bedeutet, dass nur der autorisierte Benutzer auf die Funktionalität dieses Befehls zugreifen kann.

Ablassen eines Schemas in Postgresql

Da wir mit der Syntax und Verwendung des Befehl „Drop -Schema“ vertraut sind, werden wir dies in der PostgreSQL -Umgebung implementieren. Erstens werden wir einige Schemas in unserer Datenbank erstellen, um sie später zu löschen. Um ein Schema in Ihrer Datenbank zu erstellen, öffnen Sie das PGADMIN -Fenster und geben Sie den folgenden Befehl im Abfrageditor ein:

>> Schema S1 erstellen;

Führen Sie die oben genannten aus, um dieses Ergebnis unten zu erhalten:

Eine weitere Möglichkeit, ein Schema zu erstellen.

Durch die rechte Klicken Sie mit der rechten Maustaste auf das „Erstellen“ und dann auf das Schema… “-Optionen im Browsermenü auf der linken Seite des Fensters.

Wir werden eine Tabelle in unserer Datenbank für das Schema "S1" erstellen, nachdem wir das Schema erstellt haben. Wir werden die angehängte Abfrage verwenden, um eine Tabelle in unserem Schema hinzuzufügen:

>> Erstellen Sie Tabelle S1.Tisch(
Id int nicht null,
Nennen Sie Varchar nicht null
);

Danach fügen wir der Tabelle auch einige Werte hinzu.

>> In S1 einfügen.Tabellenwerte
(01, 'Russel'),
(02, 'Alan'),
(03, 'Tim'),
(04, 'David'),
(05, 'Jason');
Wählen Sie * aus S1 aus.Tisch;

Nachdem wir Werte in die Tabelle unseres Schemas eingefügt haben, werden wir unser Schema aus der Datenbank löschen.

Wie wir wissen, dass die Syntax für das Drop -Schema in PostgreSQL verschiedene Überprüfungen hat, können wir dies auf verschiedene Weise implementieren. Diese Methoden sind unten angegeben:

  1. Das Drop -Schema -Abfrage ohne "wenn existieren", "Kaskade" und "Einschränkungs" -Fandte.
  2. Das Drop -Schema -Abfrage ohne "Kaskade" und "Einschränkungs" -Fandte.
  3. Das Drop -Schema -Abfrage ohne "wenn existieren" und "Einschränkungs" -Fandte.
  4. Das Drop -Schema -Abfrage mit den Befehlen „Wenn existieren“ und „einschränken“.
  5. Das Drop -Schema -Abfrage mit Befehlen „Wenn existieren“ und „Cascade“.

Das Drop -Schema -Abfrage ohne "wenn existieren", "Kaskade" und "Einschränkungs" -Fandte

In dieser Abfrage schreiben wir eine sehr einfache Abfrage, um ein Schema ohne Überprüfungen in der PostgreSQL -Umgebung zu löschen. Wir werden versuchen, sowohl die Schemas "S1" als auch "S2" mit diesem Befehl zu löschen und das Ergebnis zu sehen.

>> Drop -Schema S2;

Die Ausgabe ist hier angebracht.

Führen Sie nun diese Abfrage aus.

>> Drop -Schema S1;

Das Schema "S2" wurde mit diesem Befehl gelöscht, aber das "S2" -Schema konnte nicht gelöscht werden. Dieser Befehl kann also nur leere Schemas löschen.

Das Drop -Schema -Abfrage ohne "Kaskade" und "Einschränkungs" -Fandte

In dieser Abfrage zum Löschen eines Schemas werden wir nur den Befehl „Wenn existieren“ verwenden, der vorher prüft, ob das Schema existiert oder nicht. Wir werden die folgende Abfrage verwenden, um diese Aufgabe auszuführen:

>> Drop -Schema, wenn s2 existiert;

Die Ausgabe ist hier angebracht.

Führen Sie nun diese Abfrage aus.

>> Drop -Schema, wenn s1 existiert;

Wie die Ausgabe angibt, ist dieser Befehl nur für ein leeres Schema geeignet, wie das „S2“ -Schema, das erfolgreich gelöscht wurde, jedoch konnte das „S1“ -Schema, das eine Tabelle hatte der Compiler für die Kaskadierung der Schemata.

Das Drop -Schema -Abfrage ohne "wenn existieren" und "Einschränkungs" -Fandte

In dieser Abfrage werden wir der ersten Abfrage, die wir ohne die Überprüfung „Wenn existieren“ verwendet, das Schlüsselwort „Kaskade“ hinzufügen. Wir beziehen uns auf die unten angegebene Abfrage:

>> Drop -Schema S2
KASKADE;

Die Ausgabe ist unten beigefügt.

Führen Sie nun die folgende aufgeführte Abfrage aus.

>> Drop -Schema S1
KASKADE;

Das Anwenden des Kaskadenbegriffs in dieser Abfrage weist die Abfrage an, das Schema unabhängig davon zu löschen, was es enthält. So konnten wir beide Schemas löschen, die leer und die andere, die einen Tisch hatten.

Das Drop -Schema -Abfrage mit den Befehlen „Wenn existieren“ und „einschränken“

Wenn wir das Schlüsselwort „Kaskade“ in unserer Abfrage verwenden, unterweisen wir es, das Schema zu löschen, unabhängig davon, was es enthält. Wir werden der folgenden Abfrage für diese Methode folgen:

>> Drop -Schema, wenn s2 existiert
BESCHRÄNKEN;

Die Ausgabe ist im angebotenen Bild angebracht.

Führen Sie nun die angegebene Anfrage aus.

>> Drop -Schema, wenn s1 existiert
BESCHRÄNKEN;

Die Ausgabe deutet darauf hin, dass wir das leere Schema löschen konnten, während das Schema „S1“, in dem eine Tabelle enthielt, nicht gelöscht werden konnte.

Das Drop -Schema -Abfrage mit Befehlen „Wenn existieren“ und „Cascade“

Jetzt werden wir versuchen, beide Schemas zu löschen, indem wir die Abfrage "Drop -Schema" sowohl mit den Schlüsselwörtern "If Exist" als auch mit "Kaskade" ausführen.

>> Drop -Schema, wenn s2 existiert
KASKADE;

Das Bild ist angehängt, das die Ausgabe widerspiegelt.

Führen Sie nun die angehängte Abfrage aus.

>> Drop -Schema, wenn s1 existiert
KASKADE;

Da wir das Schlüsselwort „Cascade“ in dieser Abfrage verwendet haben, konnten wir beide Schemata erfolgreich löschen. Diese Abfrage mit beiden Überprüfungen wird dringend empfohlen, da das Schlüsselwort „Einschränkung“ standardmäßig vorhanden ist und Sie mit dieser Abfrage sowohl leere als auch nicht leere Schemas löschen können.

Abschluss

In diesem Artikel haben wir die verschiedenen Methoden zum Löschen eines Schemas aus unserer Datenbank in der PostgreSQL -Umgebung erfahren. Zuerst haben wir das Konzept der Schemata und deren Verwendung in Postgres ausführlich ausgeführt. Später wechselten wir zu seiner Implementierung. Die Syntax des Befehls „Drop -Schema“ wurde in diesem Artikel ebenfalls erörtert. Dann wurden die verschiedenen Methoden zum Löschen eines Schemas ausgearbeitet und in der PostgreSQL -Umgebung implementiert.