J'utilise Ubuntu. Quelques jours auparavant, j'avais installé la base de données Postgresql pour Ruby sur Rails. J'ai créé un superutilisateur pour le serveur de base de données et j'ai oublié le mot de passe du superutilisateur postgresql. Quelqu'un peut-il nous aider à réinitialiser le mot de passe du superutilisateur? Une chose que j’ai essayée, je l’ai désinstallée puis installée à nouveau, mais son super-utilisateur est conservé.
En supposant que vous soyez l'administrateur de la machine, Ubuntu vous a accordé le droit Sudo d'exécuter n'importe quelle commande en tant qu'utilisateur.
En supposant également que vous n’ayez pas restreint les droits dans le fichier pg_hba.conf
(Dans le répertoire /etc/postgresql/9.1/main
), Il devrait contenir cette ligne comme première règle:
# Database administrative login by Unix domain socket
local all postgres peer
(À propos de l'emplacement du fichier: 9.1
Est la version majeure de Postgres et main
le nom de votre "cluster". Il sera différent si vous utilisez une version plus récente de noms postgres ou non par défaut. Utilisez la commande pg_lsclusters
Pour obtenir cette information pour votre version/système).
Quoi qu'il en soit, si le fichier pg_hba.conf
Ne comporte pas cette ligne, modifiez-le, ajoutez-le et rechargez le service avec Sudo service postgresql reload
.
Ensuite, vous devriez pouvoir vous connecter avec psql
en tant que superutilisateur postgres avec cette commande Shell:
Sudo -u postgres psql
Une fois dans psql, lancez la commande SQL:
ALTER USER postgres PASSWORD 'newpassword';
Dans cette commande, postgres
est le nom d'un superutilisateur. Si l'utilisateur dont le mot de passe est oublié était ritesh
, la commande serait:
ALTER USER ritesh PASSWORD 'newpassword';
Références: Documentation de PostgreSQL 9.1.13, Chapitre 19. Authentification du client
N'oubliez pas que vous devez taper postgres avec un seul [~ # ~] s [~ # ~] à la fin