PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment puis-je me connecter et m'authentifier auprès de Postgresql après une nouvelle installation ?

Il existe deux méthodes que vous pouvez utiliser. Les deux nécessitent la création d'un utilisateur et une base de données.

Par défaut, psql se connecte à la base de données avec le même nom que l'utilisateur. Il existe donc une convention pour en faire la "base de données de l'utilisateur" . Et il n'y a aucune raison de briser cette convention si votre utilisateur n'a besoin que d'une seule base de données. Nous utiliserons mydatabase comme exemple de nom de base de données.

  1. Utilisation de createuser et createdb , on peut être explicite sur le nom de la base,

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

    Vous devriez probablement omettre cela entièrement et laisser toutes les commandes par défaut au nom de l'utilisateur à la place.

    $ sudo -u postgres createuser -s $USER
    $ createdb
    $ psql
    
  2. Utilisation des commandes d'administration SQL et connexion avec un mot de passe sur TCP

    $ sudo -u postgres psql postgres
    

    Et puis dans le shell psql

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

    Ensuite, vous pouvez vous connecter,

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

    Si vous ne connaissez pas le port, vous pouvez toujours l'obtenir en exécutant ce qui suit, comme postgres utilisateur,

    SHOW port;
    

    Ou,

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

Note complémentaire :le postgres utilisateur

Je suggère PAS modifier le postgres utilisateur.

  1. Il est normalement verrouillé depuis le système d'exploitation. Personne n'est censé se "connecter" au système d'exploitation en tant que postgres . Vous êtes censé avoir root pour vous authentifier en tant que postgres .
  2. Il n'est normalement pas protégé par un mot de passe et délègue au système d'exploitation hôte. C'est une bonne chose . Cela signifie normalement pour se connecter en tant que postgres qui est l'équivalent PostgreSQL du SA de SQL Server , vous devez disposer d'un accès en écriture aux fichiers de données sous-jacents. Et cela signifie que vous pourriez normalement faire des ravages de toute façon.
  3. En gardant cette option désactivée, vous supprimez le risque d'une attaque par force brute via un super-utilisateur nommé. Masquer et masquer le nom du superutilisateur présente des avantages.