Comment changer le mot de passe de l'utilisateur PostgreSQL?
996
Comment changer le mot de passe de l'utilisateur PostgreSQL?
Pour un mot de passe sans connexion:
sudo -u user_name psql db_name
Pour réinitialiser le mot de passe si vous avez oublié:
ALTER USER user_name WITH PASSWORD 'new_password';
rm ~/.psql_history
ALTER USER myuser RENAME TO newname;
... pour une raison quelconque, google me pointait ici quand je cherchais ça :)Tapez ensuite:
Alors:
Puis pour quitter
psql
:Si cela ne fonctionne pas, reconfigurez l'authentification.
Editez
/etc/postgresql/9.1/main/pg_hba.conf
(le chemin sera différent) et changez:à:
Redémarrez ensuite le serveur:
la source
\p
, cela me donne le mot de passe; si je tape,\password postgres
il donne le mot de passe, puis des avertissements\p extra argument "assword" ignored; \p extra argument "postgres" ignored
sudo passwd postgres
Vous pouvez et devez avoir le mot de passe des utilisateurs crypté:
la source
The password is always stored encrypted in the system catalogs. The ENCRYPTED keyword has no effect, but is accepted for backwards compatibility.
Je crois que la meilleure façon de changer le mot de passe est simplement d'utiliser:
dans la console Postgres.
La source:
depuis https://www.postgresql.org/docs/9.0/static/sql-alterrole.html .
la source
\password username
Pour modifier le mot de passe à l'aide de la ligne de commande Linux, utilisez:
la source
Pour changer le mot de passe
puis
maintenant entrez un nouveau mot de passe et confirmez
puis
\q
sortirla source
Accédez à votre configuration Postgresql et modifiez pg_hba.conf
sudo vim /etc/postgresql/9.3/main/pg_hba.conf
Puis changez cette ligne:
à :
puis redémarrez le service PostgreSQL via la commande SUDO puis
Vous serez maintenant inscrit et verrez le terminal Postgresql
puis entrez
et entrez le NOUVEAU mot de passe pour l'utilisateur par défaut de Postgres.
maintenant vous serez connecté en tant que
avec votre nouveau mot de passe.
Faites-moi savoir si vous y trouvez tous des problèmes.
la source
user@user-NC10:~$ psql -U postgres psql: FATAL: Peer authentication failed for user "postgres"
$version,' /usr/bin/psql: psql: line 26:
my ($ version, $ cluster, $ db, $ port , $ host); ' Merci de votre aide!Pour demander un nouveau mot de passe pour l' utilisateur postgres (sans l'afficher dans la commande):
la source
La configuration que j'ai sur mon serveur a été beaucoup personnalisée et j'ai réussi à changer de mot de passe uniquement après avoir défini l' authentification de confiance dans le
pg_hba.conf
fichier :N'oubliez pas de le changer en mot de passe ou md5
la source
sudo systemctl restart postgresql.service
Ce fut le premier résultat sur google, quand je cherchais comment renommer un utilisateur, donc:
Quelques autres commandes utiles pour la gestion des utilisateurs:
Déplacer l'utilisateur vers un autre groupe
la source
Pour mon cas sur Ubuntu 14.04 installé avec postgres 10.3. Je dois suivre les étapes suivantes
su - postgres
pour basculer l'utilisateur verspostgres
psql
entrer dans le shell postgres\password
puis entrez votre mot de passe\q
pour quitter la session shellEnsuite, vous revenez à root en exécutant
exit
et en configurant votrepg_hba.conf
(le mien est à/etc/postgresql/10/main/pg_hba.conf
) en vous assurant d'avoir la ligne suivantelocal all postgres md5
service postgresql restart
postgres
utilisateur et entrez à nouveau le shell postgres. Il vous demandera un mot de passe.la source
utilisez ceci:
entrez le nouveau mot de passe que vous souhaitez pour cet utilisateur, puis confirmez-le. Si vous ne vous souvenez pas du mot de passe et que vous souhaitez le modifier, vous pouvez vous connecter en tant que postgres, puis utiliser ceci:
la source
Semblable à d'autres réponses en syntaxe, mais il faut savoir que vous pouvez également transmettre un md5 du mot de passe afin de ne pas transmettre de mot de passe en texte brut.
Voici quelques scénarios de conséquences imprévues de la modification du mot de passe d'un utilisateur en texte brut.
log_statement = ddl
ou une version ultérieure, votre mot de passe en texte brut apparaîtra dans vos journaux d'erreurs.Cela dit, voici comment modifier le mot de passe d'un utilisateur en créant un md5 du mot de passe.
En bash:
ALTER USER
commande ressemblerala source
En général, utilisez simplement l'interface d'administration pg pour effectuer des activités liées à db.
Si, au contraire, vous vous concentrez davantage sur l'automatisation de la configuration de la base de données pour votre développement local, ou CI, etc.
Par exemple, vous pouvez utiliser un combo simple comme celui-ci.
(a) Créez un super utilisateur factice via jenkins avec une commande similaire à celle-ci:
cela créera un super utilisateur appelé experiment001 dans votre postgres db.
(b) Donnez à cet utilisateur un mot de passe en exécutant une commande NON-Interactive SQL.
Postgres est probablement la meilleure base de données disponible pour les outils de ligne de commande (non interactifs). Création d'utilisateurs, exécution de SQL, sauvegarde de la base de données, etc. En général, tout cela est assez basique avec postgres et il est globalement assez trivial de l'intégrer dans vos scripts de configuration de développement ou dans la configuration CI automatisée.
la source
et la manière entièrement automatisée avec bash et expect ( dans cet exemple, nous provisionnons un nouvel administrateur postgres avec le postgres pw nouvellement provisionné à la fois sur le système d'exploitation et le niveau d'exécution de postgres)
la source
TLDR:
Sur de nombreux systèmes, le compte d'un utilisateur contient souvent un point ou une sorte de fonction (utilisateur: john.smith, horise.johnson). Dans ces cas, une modification devra être apportée à la réponse acceptée ci-dessus. Le changement nécessite que le nom d'utilisateur soit entre guillemets.
Rationnel:
Postgres est assez pointilleux sur le moment d'utiliser un «guillemet double» et quand utiliser un «guillemet simple». En règle générale, lorsque vous fournissez une chaîne, vous utilisez un guillemet simple.
la source