PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

So installieren Sie PostgreSQL 12 auf Ubuntu 20.04/18.04/16.04

In diesem Artikel zeigen wir Ihnen, wie Sie PostgreSQL 12 auf Ubuntu 20.04/18.04/16.04 installieren. PostgreSQL ist ein Open-Source-Datenbanksystem und genauso leistungsfähig wie andere relationale Datenbanksysteme.

Sie können die Release-Seite von postgreSQL 12 anzeigen. 

Schritte zur Installation von PostgreSQL 12 auf Ubuntu 

Schritt 1:Ubuntu-System aktualisieren

Es wird immer empfohlen, das System zu aktualisieren, bevor Sie PostgreSQL installieren.

sudo-apt-Update

Schritt 2:Erforderliches Paket installieren 

sudo apt -y install vim bash-completion wget

Wenn das Paket bereits installiert ist, erhalten Sie die folgende Ausgabe, die Sie ignorieren können.

Beispielausgabe:

root@PostgreSQL:~# sudo apt -y install vim bash-completion wgetPaketlisten lesen... DoneAbhängigkeitsbaum aufbauen Statusinformationen lesen... Donebash-completion ist bereits die neuste Version (1:2.11-2ubuntu1).vim ist bereits die neueste Version (2:8.2.0716-3ubuntu2).wget ist bereits die neueste Version (1.20.3-1ubuntu1).wget ist auf manuell installiert eingestellt.Folgendes Paket wurde automatisch installiert und wird nicht mehr benötigt:virtualbox-guest -utilsVerwenden Sie „sudo apt autoremove“, um es zu entfernen.0 aktualisiert, 0 neu installiert, 0 zu entfernen und 212 nicht aktualisiert.root@PostgreSQL:~# 

Schritt 3:PostgreSQL 12-Repository hinzufügen

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee  /etc/apt/sources.list.d/pgdg.list 

Schritt 4:PostgreSQL 12 auf Ubuntu installieren

sudo apt updatesudo apt -y install postgresql-12 postgresql-client-12

Beispielausgabe:

root@PostgreSQL:~# sudo apt -y install postgresql-12 postgresql-client-12Paketlisten lesen... FertigAbhängigkeitsbaum erstellen Zustandsinformationen lesen... FertigDas folgende Paket wurde automatisch installiert und wird nicht mehr benötigt:virtualbox- guest-utilsVerwenden Sie „sudo apt autoremove“, um es zu entfernen. Die folgenden zusätzlichen Pakete werden installiert::postgresql-doc-12 isagDie folgenden NEUEN Pakete werden installiert:libcommon-sense-perl libjson-perl libjson-xs-perl libpq5libtypes-serialiser-perl pgdg-keyring postgresql-12 postgresql-client-12postgresql-client-common postgresql-common sysstat0 aktualisiert, 11 neu installiert, 0 zu entfernen und 212 nicht aktualisiert. Es müssen 17,5 MB an Archiven abgerufen werden. Nach diesem Vorgang werden 59,4 MB zusätzlicher Speicherplatz verwendet. Holen Sie sich:1 http://apt.postgresql.org/ pub/repos/apt groovy-pgdg/main amd64 libpq 5 amd64 13.3-1.pgdg20.10+1 [177 kB]Abrufen:2 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 libcommon-sense-perl amd64 3.75-1build2 [20,5 kB]Abrufen:3 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 libjson-perl alle 4.02000-2 [80,9 kB]Get:4 http://apt.postgresql.org/pub/repos/apt groovy-pgdg /main amd64 pgdg-keyring all 2018.2 [10.7 kB]Get:5 http://apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-client-common all 226.pgdg20.10+1 [ 90,6 kB]Get:6 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 libtypes-serialiser-perl all 1.0-1 [12,1 kB]Get:7 http://us.archive.ubuntu.com /ubuntu groovy/main amd64 libjson-xs-perl amd64 4.020-1build1 [83,7 kB]Get:8 http://apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-client-12 amd64 12.7 -1.pgdg20.10+1 [1.429 kB]Get:9 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 sysstat amd64 12.4.0-1 [471 kB]Get:10 http:// apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-common all 226.pgdg20.10+1 [2 46 kB]Get:11 http://apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-12 amd64 12.7-1.pgdg20.10+1 [14,9 MB]Abgerufen 17,5 MB in 15s ( 1.141 kB/s) Pakete vorkonfigurieren ... Vorher nicht ausgewähltes Paket libcommon-sense-perl auswählen. (Datenbank lesen ... 192977 Dateien und Verzeichnisse derzeit installiert.) Entpacken vorbereiten .../00-libcommon-sense-perl_3.75 -1build2_amd64.deb ... Entpacken von libcommon-sense-perl (3.75-1build2) ... Auswählen des zuvor nicht ausgewählten Pakets libjson-perl. Vorbereitung zum Entpacken .../01-libjson-perl_4.02000-2_all.deb ... Entpacken von libjson-perl (4.02000-2) ... Auswählen des zuvor nicht ausgewählten Pakets libtypes-serialiser-perl. perl (1.0-1) ...Zuvor nicht ausgewähltes Paket libjson-xs-perl auswählen.Vorbereitung zum Entpacken .../03-libjson-xs-perl_4.020-1build1_amd64.deb ...Entpacken von libjson-xs-perl (4.020 -1build1) ...Zuvor nicht ausgewähltes Paket libpq5:amd64.P auswählen Entpacken wird vorbereitet .../04-libpq5_13.3-1.pgdg20.10+1_amd64.deb ...Entpacken von libpq5:amd64 (13.3-1.pgdg20.10+1) ...Wählen des zuvor nicht ausgewählten Pakets pgdg-keyring .Vorbereitung zum Entpacken von .../05-pgdg-keyring_2018.2_all.deb ...Entpacken von pgdg-keyring (2018.2) ...Auswahl des zuvor nicht ausgewählten Pakets postgresql-client-common.Vorbereitung zum Entpacken von .../06-postgresql -client-common_226.pgdg20.10+1_all.deb ... Postgresql-client-common wird entpackt (226.pgdg20.10+1) ... Zuvor nicht ausgewähltes Paket postgresql-client-12 wird ausgewählt. Entpacken wird vorbereitet .../ 07-postgresql-client-12_12.7-1.pgdg20.10+1_amd64.deb ...Postgresql-client-12 (12.7-1.pgdg20.10+1) entpacken ...Zuvor nicht ausgewähltes Paket postgresql-common auswählen. Entpacken wird vorbereitet .../08-postgresql-common_226.pgdg20.10+1_all.deb ...Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common'Unpacking postgresql-common (226.pgdg20.10+1) ...Zuvor nicht ausgewähltes Paket postgresql-12 wird ausgewählt. Entpacken wird vorbereitet .../09-postgresql-12_12.7-1.pgdg20.10+1_amd64.deb ...Entpacken von postgresql-12 (12.7-1.pgdg20.10+1) ...Wählen des zuvor nicht ausgewählten Pakets sysstat.Preparing to entpacken .../10-sysstat_12.4.0-1_amd64.deb ... sysstat entpacken (12.4.0-1) ... pgdg-keyring einrichten (2018.2) ... apt.postgresql.org-Schlüssel von vertrauenswürdig entfernen. gpg:OKEinrichten von libpq5:amd64 (13.3-1.pgdg20.10+1) ...Einrichten von libcommon-sense-perl (3.75-1build2) ...Einrichten von libtypes-serialiser-perl (1.0-1) .. .Einrichten von libjson-perl (4.02000-2) ...Einrichten von sysstat (12.4.0-1) ...Erstellen der Konfigurationsdatei /etc/default/sysstat mit neuer VersionUpdate-Alternativen:Verwenden von /usr/bin/sar. sysstat zur Bereitstellung von /usr/bin/sar (sar) im Auto-ModusSymlink erstellt /etc/systemd/system/sysstat.service.wants/sysstat-collect.timer→ /lib/systemd/system/sysstat-collect.timer.Symlink erstellt /etc/systemd/system/sysstat.service.wants/sysstat-summary.timer→ /lib/systemd/system/sysstat-summary.timer.Symlink /etc/systemd/system/multi-user.target.wants/sys erstellt stat.service → /lib/systemd/system/sysstat.service.Einrichten von postgresql-client-common (226.pgdg20.10+1) ...Einrichten von libjson-xs-perl (4.020-1build1) ...Einstellung up postgresql-client-12 (12.7-1.pgdg20.10+1) ...update-alternatives:Verwendung von /usr/share/postgresql/12/man/man1/psql.1.gz zur Bereitstellung von /usr/share/ man/man1/psql.1.gz (psql.1.gz) im automatischen ModusEinrichten von postgresql-common (226.pgdg20.10+1) ...Hinzufügen des Benutzers postgres zur Gruppe ssl-certErstellen der Konfigurationsdatei /etc/postgresql- common/createcluster.conf mit neuer VersionPostgreSQL-Wörterbücher aus installierten myspell/hunspell-Paketen erstellen...en_usVeraltete Wörterbuchdateien entfernen:Symlink erstellt /etc/systemd/system/multi-user.target.wants/postgresql.service → /lib/systemd/ system/postgresql.service.Einrichten von postgresql-12 (12.7-1.pgdg20.10+1) ...Erstellen eines neuen PostgreSQL-Clusters 12/main .../usr/lib/postgresql/12/bin/initdb -D / var/lib/postgresql/12/main --auth-local peer --auth-host md5Die Dateien, die zu diesem Datenbanksystem gehören, werden Eigentum von sein Benutzer „postgres“. Dieser Benutzer muss auch Eigentümer des Serverprozesses sein. Der Datenbank-Cluster wird mit dem Gebietsschema „en_US.UTF-8“ initialisiert auf "english" gesetzt.Datenseiten-Prüfsummen sind deaktiviert.Berechtigungen für vorhandenes Verzeichnis /var/lib/postgresql/12/main behoben ... okUnterverzeichnisse erstellen ... okDynamische Shared-Memory-Implementierung auswählen ... posixStandard max_connections auswählen ... 100auswählen default shared_buffers ... 128 MB Standardzeitzone auswählen ... Amerika/New_York Konfigurationsdateien erstellen ... Bootstrap-Skript ausführen ... ok Post-Bootstrap-Initialisierung durchführen ... Daten auf Festplatte synchronisieren ... okErfolg. Sie können den Datenbankserver jetzt starten mit:pg_ctlcluster 12 main startVer Cluster Port Status Owner Data directory Log file12 main 5432 down postgres /var/lib/postgresql/12/main /var/log/postgresql/postgresql-12-main.logupdate- Alternativen:Verwendung von /usr/share/postgresql/12/man/man1/postmaster.1.gz zur Bereitstellung von /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) im automatischen ModusVerarbeitung von Triggern für systemd ( 246.6-1ubuntu1) ...Verarbeitung von Triggern für man-db (2.9.3-2) ...Verarbeitung von Triggern für libc-bin (2.32-0ubuntu3) ...root@PostgreSQL:~# 

Schritt 5:Status des PostgreSQL-Dienstes prüfen

Systemctl-Status postgresql.service 

Beispielausgabe:

root@PostgreSQL:~# systemctl status postgresql.service ● postgresql.service - PostgreSQL RDBMSLoaded:geladen (/lib/systemd/system/postgresql.service; aktiviert; Hersteller p>
Active:aktiv (beendet) seit Sun 2021- 16.05. 09:17:56 EDT; vor 1min 56sHaupt-PID:10932 (Code=beendet, Status=0/ERFOLG)Aufgaben:0 (Grenze:4648)Speicher:0BCGruppe:/system.slice/postgresql.service 16. Mai 09:17:56 PostgreSQL systemd[1]:Starte PostgreSQL RDBMS ... 16. Mai 09:17:56 PostgreSQL systemd[1]:Fertige PostgreSQL RDBMS.root@PostgreSQL:~#

Schritt 6:PostgreSQL verbinden 

sudo su - postgres

Schritt 7:Setzen Sie das PostgreSQL-Passwort zurück

Es wird empfohlen, das Passwort auf ein starkes Passwort zurückzusetzen

psql -c "Postgres des Benutzers mit Passwort 'StrongAdminP@ssw0rd' ändern"

Beispielausgabe:

root@PostgreSQL:~# sudo su - postgrespostgres@PostgreSQL:~$ postgres@PostgreSQL:~$ psql -c "Benutzer postgres mit Passwort 'StrongAdminP@ssw0rd' ändern"ALTER ROLEpostgres@PostgreSQL:~$

Schritt 8:PostgreSQL-Datenbank erstellen 

$ psql$ CREATE DATABASE firsttestdb;$ CREATE USER testuser1 MIT DEM VERSCHLÜSSELTEN PASSWORT 'MyDBP@ss0rd';$ GEWÄHRE ALLE PRIVILEGIEN AUF DATABASE firsttestdb an testuser1;

Listen Sie die PostgreSQL-Datenbank auf:

$\l

So stellen Sie eine Verbindung zur PostgreSQL-Datenbank her:

 \c firsttestdb

Beispielausgabe:

postgres=# \c firsttestdbSie sind jetzt als Benutzer "postgres".firsttestdb=#
mit der Datenbank "firsttestdb" verbunden

Jetzt werden wir sehen, wie man Remote-Verbindungen zur PostgreSQL-Datenbank zulässt.

Schritt 9:Remote-Verbindung zur PostgreSQL-Datenbank zulassen

sudo nano /etc/postgresql/12/main/postgresql.conf 

Entkommentieren Sie die Zeile „listen_addresses =‘*‘

Speichern Sie die Datei und starten Sie den PostgreSQL-Dienst neu

sudo systemctl restart postgresql 

Schritt 10:Überprüfen Sie die Listening-Adresse

 netstat  -tunelp | grep 5432

Beispielausgabe:

root@PostgreSQL:~# netstat -antple | grep 5432tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 135 253939 13850/postgres tcp6 0 0 :::5432 :::* LISTEN 135 253940 13850/postgres root@PostgreSQL:~#

Am Ende des Artikels haben wir gesehen, wie man PostgreSQL 12 auf Ubuntu 20.04/18.04/16.04 installiert.