Melden Sie sich bei PostgreSQL an und authentifizieren Sie sich

David Mbochi Njonge 20 Juni 2023
  1. Verbindung zur Datenbank in PostgreSQL
  2. Verwenden Sie createuser und createdb in PostgreSQL
  3. Verwenden Sie die SQL-Verwaltungsbefehle und verbinden Sie sich mit einem Kennwort über TCP
Melden Sie sich bei PostgreSQL an und authentifizieren Sie sich

In diesem Artikel wird erläutert, wie Sie sich anmelden und authentifiziert werden, um auf eine bestimmte PostgreSQL-Datenbank zuzugreifen.

Verbindung zur Datenbank in PostgreSQL

Wenn Sie sich mit einer PostgreSQL-Datenbank verbinden, sollten Sie die Datenbank erstellen, mit der Sie sich verbinden möchten, die Hostadresse des Servers, die Portnummer und Ihren Benutzernamen. Die Parameter können mit den folgenden Befehlszeilenargumenten bereitgestellt werden.

david@david-HP-ProBook-6470b:~$ psql -h localhost -U postgres -p 5432

Es gibt Standardverbindungsparameter, die verwendet werden, wenn ein Argument weggelassen wird. Wenn wir den Benutzernamen und die Datenbank weglassen, verwendet der Server den Benutzernamen des Betriebssystems.

Die ausgewählte Datenbank hat auch denselben Namen wie das Betriebssystem, und wenn diese Parameter nicht vorhanden sind, tritt möglicherweise der folgende Fehler auf.

david@david-HP-ProBook-6470b:~$ psql
psql: error: FATAL:  role "david" does not exist

Im obigen Beispiel versucht der Server, mit dem nicht existierenden Benutzernamen david auf eine Datenbank namens david zuzugreifen.

Verwenden Sie createuser und createdb in PostgreSQL

Standardmäßig hat der PostgreSQL-Server einen Benutzer mit dem Benutzernamen postgres und eine Datenbank namens postgres. Verwenden Sie den folgenden Befehl, um einen Datenbankbenutzer mit demselben Namen wie unser Betriebssystem zu erstellen.

david@david-HP-ProBook-6470b:~$ sudo -u postgres createuser -s $USER

Erstellen Sie als nächstes eine Datenbank mit dem Befehl createdb für den neuen Benutzer david.

david@david-HP-ProBook-6470b:~$ createdb employee_db

Um zu überprüfen, ob wir uns jetzt mit PSQL anmelden können, müssen wir die Datenbank angeben, mit der wir uns verbinden möchten.

david@david-HP-ProBook-6470b:~$ psql -d employee_db

Ausgang:

psql (12.9 (Ubuntu 12.9-0ubuntu0.20.04.1))
Type "help" for help.

employee_db=# 

Angenommen, Sie möchten, dass Ihre Datenbank standardmäßig das Betriebssystem verwendet, d. h. in meinem Fall david. Verwenden Sie den Befehl createdb ohne das Argument -d, das nach einem Datenbanknamen fragt.

david@david-HP-ProBook-6470b:~$ createdb

Wenn Sie versuchen, sich mit PSQL beim PostgreSQL-Server anzumelden, ohne Parameter anzugeben, sind der Standardbenutzer und die Datenbank, die für die Anmeldung verwendet werden, david und david.

david@david-HP-ProBook-6470b:~$ psql

Ausgang:

psql (12.9 (Ubuntu 12.9-0ubuntu0.20.04.1))
Type "help" for help.

david=# 

Verwenden Sie die SQL-Verwaltungsbefehle und verbinden Sie sich mit einem Kennwort über TCP

SQL verfügt über Befehle, die wir nutzen können, um einen Benutzer und seine Datenbank in einer PostgreSQL-Datenbank zu erstellen. Mit dem folgenden Befehl melden Sie sich als Superuser beim PostgreSQL-Server an.

david@david-HP-ProBook-6470b:~$ sudo -u postgres psql postgres

Geben Sie das Passwort Ihres Betriebssystems ein und drücken Sie die Eingabetaste, wenn Sie zur Eingabe eines Passworts aufgefordert werden.

[sudo] password for david: 

Ausgang:

psql (12.9 (Ubuntu 12.9-0ubuntu0.20.04.1))
Type "help" for help.

postgres=#

Erstellen Sie in der PSQL-Shell einen Benutzer und eine Datenbank und ordnen Sie den Benutzer der erstellten Datenbank zu.

postgres=# CREATE ROLE john LOGIN PASSWORD 'john';
CREATE ROLE
postgres=# CREATE DATABASE products_db WITH OWNER = john;
CREATE DATABASE
postgres=# 

Schließlich gibt die Anmeldung mit dem PSQL-Befehl über TCP den Host, die Datenbank, den Benutzer und die Portnummer an. Die Standardportnummer des PostgreSQL-Servers ist 5432.

Der nächste Befehl überprüft, ob wir uns mit unserem neuen Benutzer über TCP anmelden können.

david@david-HP-ProBook-6470b:~$ psql -h localhost -d products_db -U john -p 5432

Wenn Sie nach einem Passwort gefragt werden, geben Sie das Passwort ein, das wir als john festgelegt haben, denselben Namen wie der Benutzername, und drücken Sie die Eingabetaste auf Ihrer Tastatur.

Password for user john: 

Ausgang:

psql (12.9 (Ubuntu 12.9-0ubuntu0.20.04.1))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.

products_db=> 
David Mbochi Njonge avatar David Mbochi Njonge avatar

David is a back end developer with a major in computer science. He loves to solve problems using technology, learning new things, and making new friends. David is currently a technical writer who enjoys making hard concepts easier for other developers to understand and his work has been published on multiple sites.

LinkedIn GitHub

Verwandter Artikel - PostgreSQL Database