GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren Sie einen PostgreSQL-Server unter Ubuntu 18.04

PostgreSQL ist eine weltweit unterstützte Open-Source-Datenbank. Mit über 30 Dienstjahren ist PostgreSQL dank der verschiedenen verfügbaren Add-ons für seine Robustheit, Skalierbarkeit und Leistung bekannt.

Verbinden Sie sich zunächst über eine SSH-Verbindung mit Ihrem Server. Wenn Sie dies noch nicht getan haben, wird empfohlen, unseren Leitfaden zu befolgen, um sich sicher mit SSH zu verbinden. Im Falle eines lokalen Servers gehen Sie zum nächsten Schritt und öffnen Sie das Terminal Ihres Servers.

Installation von PostgreSQL

Um mit der Installation von PostgreSQL fortzufahren, verwenden Sie den apt-Paketmanager. Stellen Sie sicher, dass Sie den Cache aktualisieren:

$ sudo apt update && sudo apt install postgresql postgresql-contrib

Sobald die Installation abgeschlossen ist, steht der Dienst sofort zur Verfügung. Überprüfen Sie die Protokolldatei in /var/log/postgresql/postgresql-10-main.log, nur um sicherzugehen

#  tail /var/log/postgresql/postgresql-10-main.log

...LOG:  database system is ready to accept connections

...

Wenn alles richtig funktioniert, steht der obige Text in den letzten Zeilen der Logdatei.

Installation überprüfen

Um die erfolgreiche Installation von PostgreSQL zu überprüfen, verwenden Sie den Befehlszeilen-Client namens psql. Verwenden Sie zunächst den vom Dienst installierten Standardbenutzer. Für den Zugriff auf die Datenbank verwendet der Authentifizierungsprozess der Standardkonfiguration von PostgreSQL dieselben Systembenutzer..

Um sich mit dem Standardbenutzer anzumelden, führen Sie von der Befehlszeile aus

aus
$ sudo -i -u postgres

Starten Sie jetzt den Client und verwenden Sie den Befehl \l, um die Liste der verfügbaren Datenbanken anzuzeigen:

$ sudo -i -u postgres

$ psql

postgres=# \l
                                                  List of databases

   Name    | Owner   | Encoding |   Collate | Ctype    | Access privileges

-----------+----------+----------+-------------+-------------+-----------------------

 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |

 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +

           |          | |             | | postgres=CTc/postgres

 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +

           |          | |             | | postgres=CTc/postgres

(3 rows)
                postgres=# \q

[email protected]:~$ exit

Sobald Sie fertig sind, verlassen Sie den Client mit dem Befehl \q und kehren Sie zum ursprünglichen Benutzer zurück, indem Sie „exit“ eingeben.

Benutzer und Berechtigungen verwalten

Wie bereits erwähnt, geht PostgreSQL davon aus, dass jeder Benutzer, der in seinem Dienst vorhanden ist, auch im System vorhanden ist. Um einen neuen Benutzer anzulegen, fügen Sie diesen zunächst über adduser:

dem System hinzu
$ sudo adduser tutorial

Adding user `tutorial' ...

Adding new group `tutorial' (1000) ...

Adding new user `tutorial' (1000) with group `tutorial' ...

Creating home directory `/home/tutorial' ...

Copying files from `/etc/skel' ...

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

Changing the user information for tutorial

Enter the new value, or press ENTER for the default

        Full Name []:

        Room Number []:

        Work Phone []:

        Home Phone []:

        Other []:

Is the information correct? [Y/n] y

Im folgenden Beispiel wird ein Benutzer mit dem Namen "tutorial" erstellt, ohne weitere Informationen wie den Namen oder die Telefonnummer anzugeben. Nach Abschluss kann der PostgreSQL-Benutzer erstellt werden. indem Sie sich zuerst mit dem Postgres-Benutzer anmelden:

$ sudo -i -u postgres
                $ createuser --interactive

Enter name of role to add: tutorial

Shall the new role be a superuser? (y/n) n

Shall the new role be allowed to create databases? (y/n) n

Shall the new role be allowed to create more new roles? (y/n) n

Nachdem Sie den Benutzer erstellt haben, legen Sie ein Passwort fest, melden Sie sich über das Superuser-Postgres an und ändern Sie den gerade erstellten Benutzer:

$ psql

postgres=# ALTER USER tutorial PASSWORD 'password'; ALTER ROLE;

Eine Datenbank für den neu erstellten Benutzer kann auch durch Ausführen des folgenden Befehls erstellt werden:

$ createdb tutorial

Wenn Sie fertig sind, melden Sie sich ab und versuchen Sie, sich mit dem neu erstellten Benutzer anzumelden:

$ sudo -i -u tutorial

[email protected]:~$ psql

psql (10.9 (Ubuntu 10.9-0ubuntu0.18.04.1))

Type "help" for help.
                tutorial=> \l

                                  List of databases

   Name    | Owner   | Encoding |   Collate | Ctype    | Access privileges

-----------+----------+----------+-------------+-------------+-----------------------

 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |

 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +

           |          | |             | | postgres=CTc/postgres

 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +

           |          | |             | | postgres=CTc/postgres

 tutorial  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |

(4 rows)

Zugriff für externe Clients ermöglichen

In manchen Fällen kann es notwendig sein, externen Clients (zB Ihrem Rechner) den Zugriff auf eine oder mehrere Datenbanken auf dem Server zu erlauben. Normalerweise ist PostgreSQL nicht so konfiguriert, dass es Verbindungen akzeptiert, die nicht lokal sind, also ändern Sie einige Konfigurationsdateien.

Die erste zu ändernde Datei ist die Hauptkonfigurationsdatei in /etc/postgresql/10/main/postgresql.conf.

Bearbeiten Sie unbedingt die folgende Zeile von:

listen_addresses = 'localhost'

Mit:

listen_addresses = '*'

Auf diese Weise teilen Sie PostgreSQL mit, eingehende Verbindungen von allen Netzwerkschnittstellen zu erwarten.

Stellen Sie sicher, dass Sie Ihre Änderung speichern. Fahren Sie nun mit der Bearbeitung der Datei fort, die die Serverzugriffsregeln in /etc/postgresql/10/main/pg_hba.conf verwaltet, indem Sie die folgende Zeile hinzufügen:

host    tutorial        tutorial 0.0.0.0/0               md5

Diese Modifikation erlaubt dem "Tutorial"-Benutzer von jedem Host aus auf seine Datenbank zuzugreifen. Die angegebenen Felder sind insbesondere:

  1. host:die Art der Verbindung, die Sie akzeptieren. Mögliche Werte sind:

    • lokal:Nicht-Netzwerkverbindungen vom System
    • Host:jede Art von TCP/IP-Verbindung
    • hostssl:TCP/IP-Verbindungen nur unter SSL-Protokoll
    • hostnossl:TCP/IP-Verbindungen NICHT unter SSL-Protokoll
  2. Tutorial:Name der Datenbank, um den Zugriff zu erlauben, verwenden Sie "all", um auf alle Datenbanken zu verweisen

  3. Tutorial:Benutzername zum Gewähren des Zugriffs

  4. 0.0.0.0/0:IP-Adresse, in Ihrem Fall autorisieren Sie den Zugriff auf jede IPv4-Adresse

  5. md5:Akzeptierte Authentifizierungsmethoden, einige der wichtigsten sind:

    • md5:Passwortauthentifizierung
    • Vertrauen:akzeptiert bedingungslos die Verbindung bedingungslos
    • Peer:verwendet den Systembenutzernamen, um sich nur mit der gleichnamigen Datenbank zu verbinden.

Weitere Informationen finden Sie unter der Adresse https://www.postgresql.org/docs/9.1/auth-pg-hba-conf.html oder im offiziellen PostgreSQL-Dokument.

Starten Sie den Dienst nach dem Beenden neu, um alle Änderungen zu übernehmen:

$ sudo systemctl restart postgresql

Linux
  1. So installieren Sie PostgreSQL und pgAdmin4 unter Ubuntu 20.04

  2. So installieren Sie auf einem Ubuntu-Server

  3. So installieren Sie VSFTPD auf einem Ubuntu Cloud-Server

  4. So installieren Sie MariaDB unter Ubuntu 22.04

  5. Wie installiere ich Ubuntu Server 15.10 auf Hyper-v?

So installieren Sie NGINX unter Ubuntu 20.04

So installieren Sie Ansible Server unter Ubuntu 18.04

So installieren Sie TimescaleDB unter Ubuntu 18.04

So installieren Sie XWiki unter Ubuntu 20.04

So installieren Sie ClickHouse unter Ubuntu 20.04

Wie installiere ich FTP auf Ubuntu 18.04?