PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

J'ai oublié le mot de passe que j'ai entré lors de l'installation de postgres

  1. trouver le fichier pg_hba.conf - il peut se trouver, par exemple, dans /etc/postgresql-9.1/pg_hba.conf .

    cd /etc/postgresql-9.1/

  2. Sauvegardez-le

    cp pg_hba.conf pg_hba.conf-backup

  3. placez la ligne suivante (soit comme première ligne non commentée, soit comme seule) :

Pour toutes les occurrences ci-dessous (locales et hôtes), sauf la section de réplication si vous n'en avez pas, elle doit être modifiée comme suit, aucune authentification MD5 ou Peer ne doit être présente.

local  all   all   trust
  1. redémarrez votre serveur PostgreSQL (par exemple, sous Linux :)

    sudo /etc/init.d/postgresql restart

    Si le service (démon) ne commence pas à générer des rapports dans le fichier journal :

    les connexions locales ne sont pas prises en charge par cette version

    vous devriez changer

    local all all trust

    à

    host all all 127.0.0.1/32 trust

  2. vous pouvez maintenant vous connecter comme n'importe quel utilisateur. Connectez-vous en tant que superutilisateur postgres (Remarque, le nom du superutilisateur peut être différent dans votre installation. Dans certains systèmes, il s'appelle pgsql , par exemple. )

    psql -U postgres

    ou

    psql -h 127.0.0.1 -U postgres

    (notez qu'avec la première commande, vous ne serez pas toujours connecté à l'hôte local)

  3. Réinitialiser le mot de passe ('remplacez my_user_name par postgres puisque vous réinitialisez postgres utilisateur)

    ALTER USER my_user_name with password 'my_secure_password';

  4. Restaurer l'ancien pg_hba.conf car c'est très dangereux à garder autour

    cp pg_hba.conf-backup pg_hba.conf

  5. redémarrer le serveur, afin de s'exécuter avec le safe pg_hba.conf

    sudo /etc/init.d/postgresql restart

Autres lectures à propos de ce fichier pg_hba :http://www.postgresql.org/docs/9.1/static/auth-pg-hba-conf.html