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

Wie melde ich mich nach einer Neuinstallation bei Postgresql an und authentifiziere mich?

Es gibt zwei Methoden, die Sie verwenden können. Beide erfordern das Erstellen eines Benutzers und eine Datenbank.

Standardmäßig verbindet sich psql mit der Datenbank mit demselben Namen wie der Benutzer. Es gibt also eine Konvention, dies zur "Datenbank des Benutzers" zu machen . Und es gibt keinen Grund, diese Konvention zu brechen, wenn Ihr Benutzer nur eine Datenbank benötigt. Wir verwenden mydatabase als Beispieldatenbankname.

  1. Mit createuser und createdb , können wir den Datenbanknamen explizit angeben,

    $ sudo -u postgres createuser -s $USER
    $ createdb mydatabase
    $ psql -d mydatabase
    

    Sie sollten das wahrscheinlich ganz weglassen und stattdessen alle Befehle standardmäßig auf den Namen des Benutzers setzen lassen.

    $ sudo -u postgres createuser -s $USER
    $ createdb
    $ psql
    
  2. Verwendung der SQL-Administrationsbefehle und Verbindung mit einem Passwort über TCP

    $ sudo -u postgres psql postgres
    

    Und dann in der psql-Shell

    CREATE ROLE myuser LOGIN PASSWORD 'mypass';
    CREATE DATABASE mydatabase WITH OWNER = myuser;
    

    Dann können Sie sich einloggen,

    $ psql -h localhost -d mydatabase -U myuser -p <port>
    

    Wenn Sie den Port nicht kennen, können Sie ihn jederzeit abrufen, indem Sie Folgendes als postgres ausführen Benutzer,

    SHOW port;
    

    Oder,

    $ grep "port =" /etc/postgresql/*/main/postgresql.conf
    

Nebenbemerkung:das postgres Benutzer

Ich empfehle NICHT Ändern des postgres Benutzer.

  1. Es ist normalerweise vom Betriebssystem gesperrt. Niemand soll sich beim Betriebssystem als postgres "einloggen". . Sie sollten root haben, um sich als postgres zu authentifizieren .
  2. Es ist normalerweise nicht passwortgeschützt und delegiert an das Host-Betriebssystem. Das ist eine gute Sache . Dies bedeutet normalerweise, sich als postgres anzumelden Dies ist das PostgreSQL-Äquivalent von SA von SQL Server , müssen Sie Schreibzugriff auf die zugrunde liegenden Datendateien haben. Und das bedeutet, dass Sie normalerweise sowieso Chaos anrichten könnten.
  3. Indem Sie dies deaktiviert lassen, beseitigen Sie das Risiko eines Brute-Force-Angriffs durch einen benannten Superuser. Das Verbergen und Verschleiern des Namens des Superusers hat Vorteile.