CREATE TABLE in einem Schema Postgres

Create Table In Einem Schema Postgres



PostgreSQL ist eines der beliebtesten objektrelationalen Datenbanksysteme. Es ist eine kostenlose Open-Source-Software, die die SQL-Sprache um zusätzliche Funktionen erweitert, um die komplexen Daten-Workloads zu bewältigen. Es kann mit verschiedenen Datentypen zuverlässig und sicher arbeiten. Erfahren Sie mehr über die Funktionen von PostgreSQL.

In diesem Leitfaden erfahren wir mehr über das Erstellen von Tabellen in einem Schema in PostgreSQL.







Schemas in PostgreSQL

Eine PostgreSQL-Datenbank kann ein oder mehrere benannte Schemas enthalten, wobei jedes Schema Tabellen enthält.



Derselbe Objektname kann konfliktfrei über mehrere Schemas hinweg zugewiesen werden. Beispielsweise ist der folgende Schema-/Tabellenbaum gültig:



  • schema_a
    • Tabelle 1
    • Tabelle 2
  • schema_b
    • Tabelle 1
    • Tabelle 2

Sie können sich Schemas wie Verzeichnisse auf Betriebssystemebene vorstellen. Der Unterschied besteht darin, dass es keine verschachtelten Schemas geben kann. Erfahren Sie mehr über das Schema auf PostgreSQL-Dokumentation .





Es kann mehrere Gründe geben, die Schemas zu implementieren:

  • Mehrere Benutzer, die dieselbe Datenbank verwenden, ohne miteinander in Konflikt zu geraten.
  • Bessere Organisation und Verwaltung von Datenbanken in logischen Gruppen.
  • Apps von Drittanbietern können ihr eindeutiges Schema erstellen, ohne mit den vorhandenen Schemas oder anderen Objekten zu kollidieren.

Tabellen in PostgreSQL

Jede relationale Datenbank besteht aus mehreren verknüpften Tabellen, die jeweils aus Zeilen und Spalten bestehen. PostgreSQL enthält mehrere integrierte Tabellen, die verschiedene Systeminformationen enthalten. Wir können jedoch auch neue Tabellen unter benutzerdefinierten Datenbanken und Schemas erstellen.



Voraussetzungen:

Um die in diesem Handbuch gezeigten Schritte auszuführen, benötigen Sie die folgenden Komponenten:

  • Ein richtig konfiguriertes Linux-System. Lerne mehr über Ubuntu in VirtualBox installieren .
  • Eine ordnungsgemäße Installation von PostgreSQL. Kasse Installation von PostgreSQL auf Ubuntu .
  • Zugriff auf ein PostgreSQL-Benutzer mit NUTZUNGSERlaubnis zu einer Datenbank.

Für den Zweck dieses Leitfadens verwenden wir postgr um alle Aktionen in PostgreSQL auszuführen.

Erstellen von Tabellen in einem Schema

Erstellen einer Demo-Datenbank

Wie bereits erwähnt, existieren Schemas unter einer Datenbank. Zu Demonstrationszwecken erstellen wir eine Dummy-Datenbank, um eine Unterbrechung einer bestehenden Datenbank zu vermeiden.

Greifen Sie auf die PostgreSQL-Shell zu als postgr :

$ sudo -i -u postgres psql

Erstellen Sie eine neue Datenbank demo_db:

$ DATENBANK ERSTELLEN demo_db;

Überprüfen Sie, ob die Datenbank erfolgreich erstellt wurde:

$\l

Verbinden Sie sich schließlich mit der neu erstellten Datenbank:

$ \connect demo_db;

Das öffentliche Schema

Jede neue Datenbank in PostgreSQL wird mit einem Standardschema geliefert – Öffentlichkeit . Wenn Sie versuchen, ein Objekt zu erstellen, ohne den Schemanamen anzugeben, wird standardmäßig das öffentliche Schema ausgewählt.

Der folgende Befehl druckt alle verfügbaren Schemas in der PostgreSQL-Datenbank:

$\dn

Alternativ können wir auch die folgende SQL-Abfrage verwenden:

$ SELECT * FROM pg_catalog.pg_namespace;

Erstellen eines neuen Schemas

Um ein neues Schema unter einer bestimmten Datenbank zu erstellen, sieht die Befehlsstruktur wie folgt aus:

$ SCHEMA ERSTELLEN ;

Lassen Sie uns gemäß der Regel ein neues Schema demo_schema erstellen:

$ SCHEMA ERSTELLEN demo_schema;

Überprüfen Sie die Schemaliste zur Überprüfung:

$\dn

Erstellen einer Tabelle in einem Schema

Nachdem wir nun das Zielschema erstellt haben, können wir es mit Tabellen füllen.

Die Syntax zum Erstellen einer Tabelle lautet wie folgt:

CREATE TABLE . (

...
)

Hier:

  • Schema : Dieses Feld gibt den Namen des Schemas an, in dem die Tabelle erstellt wird. Wenn kein Wert angegeben wird, wird die Tabelle unter erstellt Öffentlichkeit Schema.

Zur Demonstration erstellen wir eine einfache Tabelle:

TABELLE ERSTELLEN demo_schema.demo_table (

NAME ZEICHEN(64),

ID INT NICHT NULL

);

Hier:

  • Das Feld NAME wird angegeben, um eine Zeichenfolge mit 64 Zeichen zu speichern.
  • Das Feld ICH WÜRDE enthält die ganzzahligen Werte. Der Begriff ' NICHT NULL ' zeigt an, dass ICH WÜRDE kann nicht leer oder null sein.

Wir können die Existenz der Tabelle mit der folgenden Abfrage überprüfen:

$ SELECT * FROM demo_schema.demo_table;

Einfügen von Daten in die Tabelle

Mit der vorhandenen Tabelle können wir nun einige Werte einfügen:

INSERT INTO demo_schema.demo_table (NAME, ID)

WERTE

('PQR', 45),

('IJK', 99)

;

Überprüfen Sie den Inhalt der Tabelle:

$ SELECT * FROM demo_schema.demo_table;

Schemaverwaltung

Schemaberechtigungen

Mithilfe der Schemaberechtigung können wir verwalten, welche Rolle welche Aktion für ein bestimmtes Schema ausführen kann. Von allen möglichen Privilegien werden nur Schemas unterstützt ERSTELLEN und VERWENDEN.

Um die Schemaberechtigung für eine bestimmte Rolle zu aktualisieren, sieht die Befehlsstruktur wie folgt aus:

$ GRANT ON SCHEMA TO ;

Um die Schemaberechtigung für eine bestimmte Rolle zu widerrufen, sieht die Befehlsstruktur wie folgt aus:

$ REVOKE ON SCHEMA TO ;

Überprüfen Sie die Änderung mit dem folgenden Befehl:

$\dn+

Schemaeigenschaften ändern

Mit Hilfe der SCHEMA ÄNDERN -Anweisung können wir die verschiedenen Eigenschaften eines Schemas ändern. Zum Beispiel: Besitz, Schemaname usw.

Um den Schemanamen zu ändern, verwenden Sie die folgende Abfrage:

$ ALTER SCHEMA RENAME TO ;

Um den Besitz eines Schemas zu ändern, verwenden Sie die folgende Abfrage:

$ ALTER SCHEMA OWNER TO ;

Beachten Sie, dass der aktuelle Benutzer die besitzen muss, um den Besitz zu ändern SCHAFFEN Berechtigung für das Schema.

Löschen eines Schemas

Wenn ein Schema nicht mehr benötigt wird, können wir es mit löschen FALLEN Anfrage:

$ DROP SCHEMA

Wenn das Schema ein beliebiges Objekt enthält, benötigen wir die KASKADE Modifikator:

$ DROP SCHEMA CASCADE;

Tabellenverwaltung

Tabellenberechtigungen

Wie das Schema verfügt auch jede Tabelle über eine Berechtigungsverwaltung, die definiert, welche Aktion eine Rolle für die Tabelle ausführen kann.

Um die Berechtigungen einer Tabelle zu überprüfen, verwenden Sie den folgenden Befehl in psql:

$ \dp

Tabelleneigenschaften ändern

Mit Hilfe der TABELLE ÄNDERN -Anweisung können wir die zahlreichen Aspekte einer bereits vorhandenen Tabelle ändern.

Um beispielsweise eine Spalte zu löschen, sieht die Abfrage folgendermaßen aus:

$ ALTER TABLE DROP COLUMN ;

Um eine neue Spalte hinzuzufügen, können wir die folgende Abfrage verwenden:

$ ALTER TABLE ADD COLUMN ;

Wir können auch die Komprimierung für eine bestimmte Spalte festlegen:

$ ALTER COLUMN SET COMPRESSION ;

Löschen einer Tabelle

Um eine Tabelle aus einem Schema zu löschen, können wir die verwenden DROP-TABELLE Anfrage:

$ DROP TABLE ;

Beachten Sie, dass im Gegensatz zu Schemas die DROP-TABELLE Die Abfrage erzeugt keinen Fehler, unabhängig davon, ob die Tabelle leer ist oder nicht.

Fazit

In diesem Handbuch haben wir gezeigt, wie Sie die Tabellen in einem Schema in PostgreSQL erstellen. Wir haben ein Dummy-Schema innerhalb einer Dummy-Datenbank erstellt und eine Tabelle innerhalb des Schemas erstellt. In diesem Handbuch wird auch gezeigt, wie die verschiedenen Eigenschaften von Schemas und Tabellen verwaltet werden.

Für eine bessere Datenintegrität können Sie a konfigurieren logische PostgreSQL-Replikation . Um die PostgreSQL-Datenbank fehlerfrei zu halten, können Sie die Autovakuum um die toten Tupel zu bereinigen, die von den gelöschten Datensätzen übrig bleiben.

Weitere PostgreSQL-Anleitungen finden Sie unter PostgreSQL-Unterkategorie .