Relationale Datenbanken spielen eine wichtige Rolle in verschiedenen Anwendungen und Websites, indem sie ein strukturiertes Framework für Datenspeicherung bieten. PostgreSQL steht als beliebte Open-Source-Alternative zu MySQL aus, bietet aber Kompatibilität mit einer Vielzahl von Betriebssystemen, einschließlich Unix-basierter Systeme. Diese Anleitung führt Sie durch die Installation von PostgreSQL auf Ubuntu 18.04 unter Verwendung des Standard-Repositorys von Ubuntu, gefolgt von wesentlicher Post-Installationskonfiguration, einschließlich Datenbankerstellung und Einrichtung von Benutzerrollen.
Hintergrund
PostgreSQL ist ein Open-Source-Relational-Datenbankmanagementsystem, das nahtloses Abfragen und Zugriff auf Daten ermöglicht. Der Installationsprozess verwendet die PostgreSQL-Pakete des Standard-Repositorys von Ubuntu, was eine einfache Einrichtung ermöglicht. Nach der Installation müssen Sie Benutzerrollen einrichten und Datenbanken erstellen, um eine optimale Funktionalität zu gewährleisten.
Voraussetzungen
- SSH-Zugang zu Ihrem Ubuntu 18.04 VPS
- Ein nicht-root-Benutzerkonto mit sudo-Berechtigungen
Wie man PostgreSQL installiert und konfiguriert
-
Schritt 1: Das Paketindex aktualisieren
Vor der Installation von PostgreSQL aktualisieren Sie Ihr lokales Paketindex, um sicherzustellen, dass Sie die neueste Version erhalten:
sudo apt update -
Schritt 2: PostgreSQL und contrib-Paket installieren
Installieren Sie PostgreSQL zusammen mit dem contrib-Paket, das zusätzliche Funktionen und Dienstprogramme bereitstellt:
sudo apt install postgresql postgresql-contribDieser Befehl startet die Installation von PostgreSQL. Nach der Installation werden die Dienste automatisch gestartet.
-
Schritt 3: Die Installation bestätigen
Bestätigen Sie, dass PostgreSQL korrekt installiert wurde, indem Sie die Serverversion überprüfen:
sudo -u postgres psql -c "SELECT version();"Melden Sie sich als Standardbenutzer "postgres" bei PostgreSQL an, indem Sie folgendes verwenden:
sudo su - postgres psqlUm den PostgreSQL-Prompt zu verlassen, geben Sie
\qein und drücken Sie Enter. -
Schritt 4: Eine neue Rolle erstellen
Melden Sie sich beim Konto "postgres" an und erstellen Sie eine neue Rolle mit dem interaktiven Befehl:
sudo -u postgres createuser --interactiveSie werden aufgefordert, die Rolle zu benennen und anzugeben, ob sie Superuser-Berechtigungen haben soll. Alternativ können Sie
createrole --interactiveinnerhalb der PostgreSQL-Konsole verwenden. -
Schritt 5: Eine Datenbank erstellen
Nach Konvention erwartet PostgreSQL, dass der Rollenname mit dem Datenbanknamen übereinstimmt. Wenn Sie eine Rolle namens "testPostgres" erstellt haben, erstellen Sie eine entsprechende Datenbank:
sudo -u postgres createdb testPostgresAlternativ können Sie innerhalb der PostgreSQL-Konsole folgendes verwenden:
createdb testPostgres -
Schritt 6: Ein entsprechender Linux-Benutzer erstellen
Erstellen Sie einen Linux-Benutzer mit dem gleichen Namen wie Ihre PostgreSQL-Rolle und -Datenbank:
sudo adduser testPostgresErsetzen Sie "testPostgres" durch Ihren gewünschten Benutzernamen.
-
Schritt 7: Mit der neuen Rolle an die Datenbank verbinden
Wechseln Sie zum neuen Benutzerkonto und stellen Sie eine Verbindung zur Datenbank her:
sudo -u testPostgres psqlUm sich mit einer anderen Datenbank zu verbinden, geben Sie den Datenbanknamen an:
psql -d sampleUserNach dem Anmelden überprüfen Sie Ihre aktuelle Verbindungsinformationen:
\conninfo
Basisoperationen mit PostgreSQL
PostgreSQL verwendet eine Syntax ähnlich zu anderen Datenbanken für grundlegende Operationen. Hier sind einige nützliche Befehle:
- Zum Beschreiben der Definition einer Tabelle:
\d <TableName> - Zum Anzeigen einer Tabelle ohne Sequenzen:
\dt <TableName> - Zum Auflisten aller Datenbanken:
\l - Zum Auflisten aller Rollen:
\du
Nächste Schritte
Sie haben nun eine funktionierende PostgreSQL-Installation auf Ubuntu 18.04 mit der grundlegenden Einrichtung für die Erstellung von Benutzern, Rollen und Datenbanken. Sie können damit beginnen, Tabellen zu erstellen, Daten einzufügen und Ihre Anwendungen unter Verwendung von PostgreSQL als Datenbank-Backend zu entwickeln.