Einführung
PostgreSQL ist ein fortschrittliches Open-Source-Datenbankverwaltungssystem, das relational unterstützt (SQL) und nicht relational (JSON)-Abfrage.
Bei PostgreSQL liegt der Schwerpunkt hauptsächlich auf Erweiterbarkeit und SQL-Konformität, während ACID beibehalten wird Eigenschaften (Atomizität, Konsistenz, Isolation, Dauerhaftigkeit) in Transaktionen.
In diesem Tutorial erfahren Sie, wie Sie mit drei verschiedenen Methoden eine Datenbank in PostgreSQL erstellen.
Voraussetzungen
- PostgreSQL installiert und eingerichtet
- Administratorrechte
Erstellen Sie eine Datenbank in PostgreSQL über pgAdmin
Gehen Sie folgendermaßen vor, um eine Datenbank mit pgAdmin zu erstellen:
Schritt 1 :Öffnen Sie pgAdmin und geben Sie Ihr Passwort ein, um sich mit dem Datenbankserver zu verbinden.
Schritt 2 :Erweitern Sie im Browserbereich die Server und dann PostgreSQL Produkte. Klicken Sie mit der rechten Maustaste auf die Datenbanken Artikel. Klicken Sie auf Erstellen und Datenbank…
Schritt 3 :Es öffnet sich ein neues Fenster, in dem Sie den Datenbanknamen angeben, ggf. einen Kommentar hinzufügen und auf Speichern klicken müssen .
Die Datenbank wird in den Datenbanken angezeigt Objektbaum.
Der rechte Bereich des pgAdmin-Fensters enthält Registerkarten, die Datenbankstatistiken, SQL-Befehle zum Erstellen der Datenbank, Abhängigkeiten usw. anzeigen.
Erstellen Sie eine Datenbank in PostgreSQL über CREATE DATABASE
Eine andere Methode zum Erstellen einer PostgreSQL-Datenbank ist die Verwendung von CREATE DATABASE Befehl.
Befolgen Sie diese Schritte, um eine Datenbank zu erstellen:
Schritt 1 :Öffnen Sie die SQL-Shell (psql) App.
Schritt 2 :Verbinden Sie sich mit dem DB-Server, indem Sie ENTER drücken vier Mal. Geben Sie Ihr Master-Passwort ein, wenn Sie dazu aufgefordert werden. Wenn Sie kein Passwort eingerichtet haben, drücken Sie ENTER erneut, um eine Verbindung herzustellen.
Schritt 3 :Verwenden Sie die folgende Syntax, um eine neue Datenbank zu erstellen:
CREATE DATABASE [database_name]
Anstelle von [database_name]
, geben Sie einen Namen für Ihre Datenbank ein. Stellen Sie sicher, dass Sie einen eindeutigen Namen eingeben, da die Verwendung eines vorhandenen Datenbanknamens zu einem Fehler führt.
Zum Beispiel:
Beim Erstellen einer Datenbank ohne Angabe von Parametern werden die Parameter aus der Standardvorlagendatenbank übernommen. Siehe die verfügbaren Parameter im nächsten Abschnitt.
Schritt 4 :Verwenden Sie den folgenden Befehl, um alle Datenbanken in PostgreSQL aufzulisten:
\l
Die Ausgabe zeigt eine Liste der verfügbaren Datenbanken und ihrer Eigenschaften.
CREATE DATABASE-Parameter
Die verfügbaren Parameter zum Erstellen einer Datenbank sind:
[OWNER = role_name]
Der OWNER
-Parameter weist die Rolle des Datenbankbesitzers zu. Weglassen des OWNER
-Parameter bedeutet, dass der Datenbankbesitzer die Rolle ist, die zum Ausführen von CREATE DATABASE
verwendet wird Aussage.
[TEMPLATE = template]
Die TEMPLATE
Mit dem Parameter können Sie die Vorlagendatenbank angeben, aus der die neue Datenbank erstellt werden soll. Weglassen des TEMPLATE
Parametersätze template1 als Standard-Vorlagendatenbank.
[ENCODING = encoding]
Die ENCODING
Parameter bestimmt die Zeichensatzkodierung in der neuen Datenbank.
[LC_COLLATE = collate]
Der LC_COLLATE
Der Parameter gibt die Sortierreihenfolge der neuen Datenbank an. Dieser Parameter steuert die Sortierreihenfolge der Zeichenfolge in ORDER BY
Klausel. Der Effekt ist sichtbar, wenn ein Gebietsschema verwendet wird, das Sonderzeichen enthält .
Weglassen des LC_COLLATE
Parameter übernimmt die Einstellungen aus der Vorlagendatenbank.
[LC_CTYPE = ctype]
Der LC_CTYPE
Der Parameter gibt die in der neuen Datenbank verwendete Zeichenklassifikation an. Die Zeichenklassifizierung umfasst Kleinbuchstaben, Großbuchstaben und Ziffern. Weglassen des LC_CTYPE
Parameter übernimmt die Standardeinstellungen aus der Vorlagendatenbank.
[TABLESPACE = tablespace_name]
Verwenden Sie den TABLESPACE
-Parameter, um den Tablespace-Namen für die neue Datenbank anzugeben. Weglassen des TABLESPACE
Der Parameter nimmt den Tablespace-Namen der Vorlagendatenbank an.
[ALLOW_CONNECTIONS = true | false]
Die ALLOW_CONNECTIONS
Parameter kann TRUE
sein oder FALSE
. Geben Sie den Wert als FALSE
an verhindert, dass Sie sich mit der Datenbank verbinden.
[CONNECTION LIMIT = max_concurrent_connections]
Das CONNECTION LIMIT
Mit dem Parameter können Sie die maximale Anzahl gleichzeitiger Verbindungen zu einer PostgreSQL-Datenbank festlegen. Der Standardwert ist -1
, was unbegrenzte Verbindungen bedeutet.
[IS_TEMPLATE = true | false ]
Legen Sie IS_TEMPLATE
fest Parameter auf TRUE
oder FALSE
. Einstellen von IS_TEMPLATE
auf TRUE
erlaubt jedem Benutzer mit CREATEDB
Privileg zum Klonen der Datenbank. Andernfalls können nur Superuser oder der Eigentümer der Datenbank die Datenbank klonen.
Um eine Datenbank mit Parametern zu erstellen, fügen Sie das Schlüsselwort WITH
hinzu nach CREATE DATABASE
-Anweisung und listen Sie dann die gewünschten Parameter auf.
Zum Beispiel:
Dieses Beispiel zeigt, wie eine neue Datenbank so eingestellt wird, dass sie die UTF-8-Zeichenkodierung verwendet und maximal 200 gleichzeitige Verbindungen unterstützt.
Erstellen Sie eine Datenbank in PostgreSQL über den createdb-Befehl
Die createdb
Der Befehl ist die dritte Methode zum Erstellen einer Datenbank in PostgreSQL. Der einzige Unterschied zwischen createdb
und CREATE DATABASE
Befehl ist, dass Benutzer createdb
ausführen direkt von der Kommandozeile und einen Kommentar in die Datenbank hinzufügen, alles auf einmal.
Um eine Datenbank mit createdb
zu erstellen verwenden Sie die folgende Syntax:
createdb [argument] [database_name [comment]]
Die Parameter werden im folgenden Abschnitt besprochen.
createdb-Parameter
Die createdb
Syntaxparameter sind:
Parameter | Beschreibung |
---|---|
[argument] | Befehlszeilenargumente, die createdb akzeptiert. Wird im nächsten Abschnitt behandelt. |
[database_name] | Setzen Sie den Datenbanknamen anstelle von database_name Parameter. |
[comment] | Optionaler Kommentar, der der neuen Datenbank zugeordnet werden soll. |
createdb-Befehlszeilenargumente
Die verfügbare createdb
Argumente sind:
Argument | Beschreibung |
---|---|
-D | Gibt den Tablespace-Namen für die neue Datenbank an. |
-e | Zeigt die Befehle, die createdb an den Server sendet. |
-E | Gibt an, welche Zeichenkodierung in der Datenbank verwendet werden soll. |
-l | Gibt an, welches Gebietsschema in der Datenbank verwendet werden soll. |
-T | Gibt an, welche Datenbank als Vorlage für die neue Datenbank verwendet werden soll. |
--help | Hilfeseite zur createdb anzeigen Befehlszeilenargumente. |
-h | Zeigt den Hostnamen des Rechners an, auf dem der Server läuft. |
-p | Legt den TCP-Port oder die lokale Unix-Domain-Socket-Dateierweiterung fest, die der Server zum Abhören von Verbindungen verwendet. |
-U | Gibt an, welcher Benutzername für die Verbindung verwendet werden soll. |
-w | Instruiert createdb niemals eine Passwortabfrage auszugeben. |
-W | Instruiert createdb um eine Passwortabfrage auszugeben, bevor Sie sich mit einer Datenbank verbinden. |
Zum Beispiel:
Hier haben wir eine Datenbank namens mydatabase erstellt unter Verwendung des standardmäßigen Admin-Benutzers postgres . Wir haben den phoenixnap verwendet Datenbank als Vorlage und wies das Programm an, nicht nach einem Passwort zu fragen.
Häufige Fehler des createdb-Befehls
Es gibt einige häufige Fehler, auf die Benutzer bei der Verwendung von createdb stoßen können Befehl.
Siehe createdb
Fehlerliste unten:
Fehler | Beschreibung |
---|---|
createdb Befehl nicht gefunden. | Tritt auf, wenn PostgreSQL nicht richtig installiert wurde. Führen Sie createdb aus aus dem PostgreSQL-Installationspfad oder fügen Sie die psql.exe hinzu Pfad zum Abschnitt Systemvariablen in den erweiterten PC-Einstellungen. |
Keine solche Datei oder Verzeichnis Läuft der Server lokal und akzeptiert Verbindungen auf Unix-Domain-Socket ...? | Passiert, wenn der PostgreSQL-Server nicht richtig gestartet wurde oder gerade nicht läuft. |
Fatal:Rolle "Benutzername" existiert nicht. | Tritt auf, wenn Benutzer initdb ausführen mit einer Rolle ohne Superuser-Rechte. Um den Fehler zu beheben, erstellen Sie einen neuen Postgres-Benutzer mit --superuser Option oder melden Sie sich bei der Standard-Admin-Rolle postgres an . |
Datenbankerstellung fehlgeschlagen:FEHLER:Berechtigung zum Erstellen der Datenbank verweigert. | Erscheint beim Versuch, eine Datenbank mit einem Konto zu erstellen, das nicht über die erforderlichen Berechtigungen verfügt. Um den Fehler zu beheben, erteilen Sie der betreffenden Rolle Superuser-Berechtigungen. |