Postgres ist eine relationale Open-Source-Datenbank. Es verfügt über viele erweiterte Funktionen wie Leistung der Enterprise-Klasse, Trigger, Atomizität, Konsistenz, Isolation, Haltbarkeit und viele andere Funktionen, die Postgres zu einer guten Wahl für viele komplexe Anwendungen machen.
PostgreSQL-Installation:
In diesem Tutorial laden wir die neueste Version von Postgres von der offiziellen PostgreSQL-Website https://www.postgresql.org/download/linux/ubuntu/
herunterPostgreSQL ist standardmäßig auch im Ubuntu-Repository verfügbar. Durch die Verwendung des PostgreSQL-apt-Repositorys von der offiziellen Website können wir eine bestimmte Version unserer Wahl installieren.
Folgen Sie diesen Schritten, um das apt-Repository zu verwenden:
Wählen Sie Ihre Ubuntu-Version
Meine Ubuntu-Version ist Bionic (18.04)
Erstellen Sie das Datei-PostgreSQL-Repository.
nano /etc/apt/sources.list.d/pgdg.list
und fügen Sie eine Zeile für das Repository in pgdg.list
hinzudeb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main
Wenn Sie eine andere Ubuntu-Version als 18.04 (Bionic) verwenden, ersetzen Sie das Wort „bionic“ durch den Namen der verwendeten Ubuntu-Version. Importieren Sie den Repository-Signaturschlüssel und aktualisieren Sie die Paketlisten
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
Installieren Sie nun den neuesten PostgreSQL-Server in unserem Ubuntu-System mit den folgenden Befehlen.
sudo apt-get install postgresql postgresql-contrib
Nach der Installation wird der PostgreSQL-Server automatisch gestartet.
Überprüfen Sie den Status des PostgreSQL-Dienstes
systemctl status postgresql
Überprüfen Sie jetzt die PostgreSQL-Verbindung und die PostgreSQL-Serverversion.
sudo -u postgres psql -c "SELECT version();"
Dadurch wird über psql eine Verbindung zu PostgreSQL hergestellt und die Serverversion angegeben
version
-----------------------------------------------------------------------------------------------------------------------------------
PostgreSQL 11.4 (Ubuntu 11.4-1.pgdg18.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0, 64-bit
Verwenden von PostgreSQL-Rollen und Authentifizierungsmethoden
PostgreSQL verwendet das Konzept der Rolle der Datenbankzugriffsberechtigung. Eine Rolle kann einem Datenbankbenutzer oder einer Gruppe von Datenbankbenutzern zugewiesen werden.
PostgreSQL unterstützt mehrere Authentifizierungsmethoden.
Im Folgenden sind die am häufigsten verwendeten Authentifizierungsmethoden von PostgreSQL aufgeführt.
1.Vertrauen
Vertrauensauthentifizierungsmethoden können in pg_hba.conf definiert werden, mit dieser Methode kann sich die Rolle ohne Passwort mit einer Datenbank verbinden.
2.Passwort
Eine Rolle kann sich mit der Datenbank verbinden, indem sie das Passwort bestätigt.
3.Ident
Ident-Authentifizierungsmethoden funktionieren nur bei TCP/IP-Verbindungen.
4. Peer
Peer-Authentifizierungsmethoden, die nur für lokale Verbindungen verwendet werden.
Die Datei pg_hba.conf definiert Client-Authentifizierungsmethoden. Wir können die Authentifizierungsmethoden ändern, indem wir die folgenden Dateien bearbeiten.
nano /etc/postgresql/11/main/pg_hba.conf
In dieser Datei verwendet PostgreSQL standardmäßig die Peer-Authentifizierungsmethode. Wir können die Authentifizierungsmethoden ändern, indem wir Peer zu anderen Methoden ändern.
Zum Zeitpunkt der PostgreSQL-Installation wird standardmäßig der Postgres-Benutzer erstellt, Postgres ist der Superuser der PostgreSQL-Datenbank, ebenso der Root-Benutzer auf dem MYSQL-Datenbankserver. dieser 'postgres'-Benutzer erstellt auch in Ubuntu.
Mit PostgreSQL verbinden
Der folgende Befehl zum Herstellen einer Verbindung mit PostgreSQL.
sudo -i -u postgres
Jetzt können wir eine Verbindung zu einer Postgres-Eingabeaufforderung wie MySQL herstellen, indem wir den folgenden Befehl eingeben.
psql
Wir erhalten die folgende Eingabeaufforderung und sind bereit, PostgreSQL-Abfragen darauf auszuführen.
Bitte beachten Sie, dass wir uns direkt mit dem Datenbankserver verbinden können, indem Sie einfach den folgenden Befehl eingeben.
sudo -u postgres psql
Rollen und Datenbank in PostgreSQL erstellen
Wir haben bereits die Postgres-Rolle in der Datenbank, jetzt erstellen wir eine neue Rolle mit den folgenden Befehlen.
[email protected]:/home# sudo -u postgres createuser --interactive
Enter name of role to add: sohan
Shall the new role be a superuser? (y/n) y
Mit dem folgenden Befehl können wir vorhandene Benutzerrollen auflisten.
postgres=# \du
oder führen Sie den folgenden Befehl an der Postgres-Eingabeaufforderung aus.
SELECT rolname FROM pg_roles;
Wir können jede vorhandene Benutzerrolle mit dem Befehl DROP ROLE löschen.
postgres=# DROP ROLE sohan;
DROP ROLE
Erstellen einer PostgreSQL-Datenbank
Hier können wir uns als Postgres-Konto anmelden und den folgenden Befehl ausführen.
[email protected]:~$ createdb dummu
oder wir können einfach die folgenden Befehle mit normalen Ubuntu-Benutzern ausführen.
sudo -u postgres createdb dummu
Melden Sie sich mit der neuen Rolle bei der Postgres-Eingabeaufforderung an
direkt von Ihrem Systemterminal ausführen, um einen neuen Benutzer zu erstellen.
sudo adduser sohan
Nachdem Sie einen neuen Benutzer im System erstellt haben, führen Sie einfach
aussudo -u sohan psql
oder geben Sie den folgenden Befehl ein
sudo -i -u sohan
psql
Wir können eine Verbindung zu einer anderen Datenbank herstellen, indem wir einfach einen Datenbanknamen wie
angebenpsql -d dummu
Nachdem wir uns mit der obigen Datenbank verbunden haben, können wir diese Datenbankinformationen mit einem einfachen Befehl abrufen
dummu=> \conninfo
output
You are connected to database "dummu" as user "sohan" via socket in "/var/run/postgresql" at port "5432"UPDATE dummu SET password = 'postgres' where username = 'sohan';
Tabellen in PostgreSQL erstellen
Nachdem wir Rollen und Datenbank erstellt und eine Verbindung mit dem Datenbankserver hergestellt haben, erstellen wir jetzt eine Tabelle.
CREATE TABLE dummu(user_id serial PRIMARY KEY,username VARCHAR (50) UNIQUE NOT NULL, password VARCHAR (50) NOT NULL, email VARCHAR (355) UNIQUE NOT NULL, created_on TIMESTAMP NOT NULL, last_login TIMESTAMP);
Der obige Befehl erstellt einen neuen Tabellendummy, genau wie MySQL, wir können diese neue Tabelle überprüfen, indem wir
eingeben\d
Hier sehen wir auch die Tabelle dummu_user_id_seq, die die nächste Nummer in der Sequenz verfolgt.
Wenn wir nur den Tabellennamen ohne die Sequenz anzeigen möchten, führen Sie den folgenden Befehl aus.
\dt
Dadurch wird nur eine Dummy-Tabelle angezeigt
sohan=> \dt
Output
List of relations
Schema | Na | Type | Owner
--------+------------+-------+-------
public | dummu | table | soha
Hinzufügen von Daten zur Tabelle
Jetzt fügen wir Daten in die Dummy-Tabelle ein, indem wir
eingebenInsert into dummu(user_id,username,password,email,created_on,last_login) values (1,'sohan','123456','[email protected]','2019-06-24 11:11:11','2019-06-24 11:11:11');
Jetzt holen wir Daten aus der Dummy-Tabelle,
SELECT * FROM dummu;
Spalte aus Tabelle löschen
Lassen Sie uns nun Daten aus dieser Tabelle löschen
DELETE FROM dummu WHERE email = '[email protected]';
PostgreSQL-Tabelle ändern
Auf ähnliche Weise können wir die Tabelle ändern, indem wir alter query as
verwendenALTER TABLE dummu DROP email;
Dadurch wird das E-Mail-Feld aus der Dummy-Tabelle entfernt.
verifizieren Sie es mit
SELECT * FROM dummu;
output:-
user_id | username | password | created_on | last_login
---------+----------+----------+---------------------+---------------------
1 | sohan | 123456 | 2019-06-24 11:11:11 | 2019-06-24 11:11:11
Aktualisieren von Daten in einer Tabelle
Jetzt werden wir sehen, wie Daten in eine Tabelle aktualisiert werden
Führen Sie den folgenden Befehl aus, um das Passwort in der Dummy-Tabelle zu aktualisieren
UPDATE dummu SET password = 'postgres' where username = 'sohan';
überprüfen Sie Änderungen, indem Sie einfach
eingebenSELECT * FROM dummu;
output
user_id | username | password | created_on | last_login
---------+----------+----------+---------------------+---------------------
1 | sohan | postgres | 2019-06-24 11:11:11 | 2019-06-24 11:11:11
Kurz gesagt, in diesem Tutorial lernen wir, wie man PostgreSQL installiert, Rollen und Datenbanken und grundlegende Datenbankbefehle erstellt.