Melden Sie sich bei PostgreSQL an und authentifizieren Sie sich
- Verbindung zur Datenbank in PostgreSQL
-
Verwenden Sie
createuser
undcreatedb
in PostgreSQL - Verwenden Sie die SQL-Verwaltungsbefehle und verbinden Sie sich mit einem Kennwort über TCP
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 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