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.
-
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
-
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.
- 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 quepostgres
. - 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 duSA
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. - 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.