207 votes

Comment configurer postgresql pour la première fois ?

Je viens d’installer postgresql et j’ai bien précisé mot de passe x lors de l’installation. Quand j’ai essayer de faire `` et spécifier un mot de passe je reçois le message :

CreateDB : connexion impossible à la base de données postgres : FATAL : échec de l’authentification de mot de passe pour l’utilisateur

Idem pour `` .

Comment dois-je commencer ? Je peux ajouter moi-même, en tant qu’utilisateur à la base de données ?

343voto

Manur Points 2652

Les autres réponses ne sont pas complètement satisfaisant pour moi. Voici ce qui a fonctionné pour postgresql-9.1 sur Xubuntu 12.04.1 LTS.

  1. Se connecter à la base de données par défaut de l'utilisateur postgres :

    sudo -u postgres psql template1

  2. Définir le mot de passe pour l'utilisateur postgres, puis la sortie de psql (Ctrl-D) :

    ALTER USER postgres avec mot de passe crypté 'xxxxxxx';

  3. Modifier l' pg_hba.conf le fichier :

    sudo vim /etc/postgresql/9.1/main/pg_hba.conf

    Et le changement "par les pairs" pour "md5" sur la ligne concernant postgres :

    local tous les postgres par les pairs md5

  4. Redémarrez la base de données :

    sudo /etc/init.d/postgresql restart

    (Vous pouvez vérifier ici il a travaillé avec d' psql -U postgres.)

  5. Créer un utilisateur ayant le même nom que vous (pour la trouver, vous pouvez taper whoami) :

    createuser -U postgres -d-e -F-l-P -r -s <my_name>

    Les options dites postgresql pour créer un utilisateur qui peut se connecter, créer des bases de données, de créer de nouveaux rôles, c'est un super-utilisateur, et aura un mot de passe crypté. Ce qui est vraiment important sont -P -E, de sorte que vous êtes invité à saisir le mot de passe sera crypté, et-d, de sorte que vous pouvez faire un createdb.

    Méfiez-vous des mots de passe : il va d'abord vous demander deux fois le nouveau mot de passe pour le nouvel utilisateur), répété, et puis une fois le mot de passe de postgres (celui spécifié à l'étape 2).

  6. De nouveau, modifier l' pg_hba.conf le fichier (voir l'étape 3 ci-dessus), et le changement "par les pairs" pour "md5" sur la ligne concernant "tous" les autres utilisateurs :

    local tous les tous les par les pairs md5

  7. Redémarrer (comme dans l'étape 4), et vérifiez que vous pouvez vous connecter sans -U postgres :

    psql template1

    Notez que si vous faites un simple psql, ce sera un échec, car il va essayer de vous connecter à une base de données par défaut ayant le même nom que vous (ie. whoami). template1 est l'administrateur de la base de données qui est ici depuis le début.

  8. Maintenant, createdb <dbname> devrait fonctionner.

59voto

Oliver Weichhold Points 4600

Sous Linux, PostgresQL est généralement configuré pour permettre à l'utilisateur root pour vous connecter en tant que super-utilisateur postgres postgres de la coquille (console ou ssh).

$ psql -U postgres

Ensuite, vous créez simplement une nouvelle base de données comme d'habitude:

CREATE ROLE myuser LOGIN password 'secret';
CREATE DATABASE mydatabase ENCODING 'UTF8' OWNER myuser;

Cela devrait fonctionner sans la toucher, pg_hba.conf. Si vous voulez être en mesure de faire cela en utilisant certains outil graphique sur le réseau, alors vous auriez besoin de jouer avec pg_hba.conf.

23voto

Admdebian Points 121

Il s’agit de ma solution :

3voto

Neall Points 12075

Vous devrez probablement mettre à jour votre `` fichier. Ce fichier détermine quels utilisateurs peuvent se de quelles adresses IP. Je pense que l’utilisateur postgres est assez verrouillé par défaut.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X