En supposant que vous soyez l'administrateur de la machine, Ubuntu vous a accordé le droit à sudo d'exécuter n'importe quelle commande comme n'importe quel utilisateur.
En supposant également que vous n'ayez pas restreint les droits dans le pg_hba.conf
fichier (dans le /etc/postgresql/9.1/main
répertoire), 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 principale de postgres et main
le nom de votre "cluster". Il sera différent si vous utilisez une version plus récente de postgres ou des noms non par défaut. Utilisez la pg_lsclusters
commande pour obtenir ces informations pour votre version / système).
Quoi qu'il en soit, si le pg_hba.conf
fichier n'a pas cette ligne, modifiez le fichier, ajoutez-le et rechargez le service avec sudo service postgresql reload
.
Ensuite, vous devriez pouvoir vous connecter en psql
tant que superutilisateur postgres avec cette commande shell:
sudo -u postgres psql
Une fois dans psql, exécutez 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 PostgreSQL 9.1.13, Chapitre 19. Authentification du client
Gardez à l'esprit que vous devez taper postgres avec un seul S à la fin
ritesh
, changez le SQL ci-dessus enALTER USER ritesh PASSWORD 'newpassword'