Dans la config par défaut, les roles postgres matchent les utilisateurs système sous Linux. Au départ, le seul super utilisateur est “postgres”, et à chaque fois qu’on veut lancer psql
pour faire de l’admin il faut se connecter avec ce user.
Pour se simplifier la vie en dev:
# on se log come "postgres" sudo -i -u postgres # sous les debian likes. sinon "su" marche aussi # on créé un utilisateur createuser --interactive # et on dit "oui" quand il demande de créer un super user # on créé une db à son nom createdb ton_username |
Et voilà, on peut utiliser psql
depuis son compte.
ca peut etre (ca devrait etre?) un user pas “systeme” et on fera
psql -U ce_user_dedie_a_ma_base ma_base
sinon
createuser -s foxmask
pour me faire superman ;)Bonjour
Désolé je ne valide pas. Ce serait comme revenir à dire “si vous voulez un second user avec les droits root, suffit de lui mettre le uid à 0 dans /etc/passwd” et ce serait totalement unsecure.
Il y a un admin pour la machine, c’est root. De même, il y a un admin pour Postgres et c’est postgres. Et celui qui veut se connecter à une bdd Postgres il tape
psql -U postgres
et (selon la config pg_hba.conf) il entre le mot de passe ou pas (perso je mets à trust pour la socket locale, trust pour localhost et md5 pour les accès réseaux que je peux affincer avec le masque)Surtout qu’il y a pg_ident.conf qui peut-être paramétré aussi pour associer des noms systèmes à des users postgres (y compris postgres s’il le faut)..
Désolé les gars, autant j’adore tout ce que vous écrivez, autant là ça reste très criticable.
Mais ne vous inquiétez pas, cette faiblesse ne compte pas face à vos 4 milliards d’excellence et sera vite oubliée…
PS (typo): # on se loggue (ou “on se connecte”) comme “postgres”..
C’est pour le dev en local, pas en prod.
@fred J’ai même iptables sur ma station alors je mets md5 partout , trust nobody ;) #parano mais serein
Salut
Je suis de l’avis de Fred je préconise :
# sudo -u postgres psql
ou au pire:
# alias psql="sudo -u postgres psql"
Avec ce qu’il faut dans le sudoers..