AVERTISSEMENT :trust
signifie exactement cela. Toute personne pouvant se connecter au serveur PostgreSQL peut le contrôler. Si vous définissez trust
mode qui autorise les super-utilisateurs comme l'utilisateur postgres
(ou all
utilisateurs) pour se connecter, ils obtiennent le contrôle total de votre PostgreSQL et peuvent probablement également exécuter des commandes shell. Vous ne devriez généralement l'utiliser que pour changer le mot de passe puis restaurez la configuration au mode d'authentification que vous utilisiez auparavant.
Si vous avez utilisé un script d'installation sans assistance, le mot de passe sera dans le script ou le fichier de configuration associé.
Sinon, traitez-le comme si vous aviez perdu/oublié le mot de passe plutôt que de ne jamais le savoir :
- Modifier
pg_hba.conf
, en définissant le mode d'authentification surtrust
au lieu dumd5
par défaut - Dans le panneau de configuration des services, redémarrez le service PostgreSQL
- Se connecter avec
psql
ou PgAdmin ou autre ALTER USER postgres PASSWORD 'mynewpassword';
- Modifier
pg_hba.conf
à nouveau et redéfinissez le mode d'authentification surmd5
- Redémarrez PostgreSQL à nouveau
pg_hba.conf
se trouve dans votre répertoire de données. Par défaut, ce sera %PROGRAMFILES%\PostgreSQL\9.3\data
.
Pour le modifier, vous devrez utiliser l'onglet de sécurité pour vous donner des autorisations de lecture/écriture (via une invite UAC). Cela peut nécessiter que vous vous définissiez comme propriétaire du fichier.
Sur les systèmes Unix, il est plus sûr d'ajouter un
local all all peer
ligne vers pg_hba.conf
puis sudo -u postgres psql
(en supposant que votre serveur PostgreSQL s'exécute en tant qu'utilisateur postgres
) pour obtenir un psql
interactif session sans utiliser de mot de passe. De cette façon, vous n'avez pas besoin d'utiliser trust
.