Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration PostgreSQL Discussion :

Installation sur Ubuntu


Sujet :

Administration PostgreSQL

  1. #1
    Membre à l'essai
    Installation sur Ubuntu
    Bonjour,
    je suis sur Ubuntu et j'essaie d'installer Postgresql.
    J'ai téléchargé l'archive tar que j'ai développé dans le dossier Postgresql que j'ai créé dans le dossier home.
    Puis j'ai lu la notice d'installation :


    Installation
    ------------

    - Copy this directory to contrib/ in your PostgreSQL source tree.

    - Run 'make; make install'

    - Edit your postgresql.conf file, and modify the shared_preload_libraries config
    option to look like:

    shared_preload_libraries = '$libdir/plugin_debugger'

    - Restart PostgreSQL for the new setting to take effect.

    - Run the following command in the database or databases that you wish to
    debug functions in:

    CREATE EXTENSION pldbgapi;
    Donc copier ce répertoire dans Contrib/
    Mais où est Contrib/ ; et je suppose que le répertoire est ce que je viens de développer ?
    in your PostgreSQL source tree
    Là encore où est cette arborescence source de Postgresql ?

    Je bute vraiment sur ces points.
    Merci à celui qui voudrait bien m'aider.

  2. #2
    Membre confirmé

    Si tu es sous Ubuntu, n'irais-tu pas plus vite à l'installer via apt ?
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    sudo apt install postgresql
    Merci d'ajouter un sur les tags qui vous ont aidé

  3. #3
    Membre à l'essai
    Bonjour,
    c'est ce que j'ai commencé par faire mais une fois installé comment se connecte-t-on ?
    car de faire Postgresql à la ligne de commande ne suffit pas !

    Je sais que pour mysql , il faut faire mysql -u roo -p. C'est peut-être quelque chose de semblable pour Postgresql.
    Merci

  4. #4
    Membre confirmé
    Je t'invite à suivre cette documentation

    En gros, par défaut postgreSQL attend l'utilisateur "postgres". Il faut donc que tu le crées. Le mot de passe par défaut dans la base est "psql" et la base par défaut "template1" (d'après ce que je lis sur la doc)
    Merci d'ajouter un sur les tags qui vous ont aidé

  5. #5
    Membre éprouvé
    mais PSQL c'est pas le mot de passe ici c'est Pour lancer l'invite de commande SQL de PostgreSQL

  6. #6
    Membre à l'essai
    Bonjour,
    Je remercie Kazh Du pour la https://guide.ubuntu-fr.org/server/postgresql.html#postgresql-configuration documentation qui m'a bien aidée.
    • j'ai donc installé PostgreSQL par la commande dans le shell apt install postgresql
    • puis j'ai pu modifier le fichier hba.conf pour rajouter une ligne me concernant
    • mais maintenant je bute sur la notion de "role". Comment créer un nouveau role associé à un mot de passe car je me rends compte que role et utilisateur sont deux choses différentes

    On a beau dire que d'installer PostgreSQL est facile, ce n'est quand même pas tout simple !!
    Je vous remercie pour toute votre aide.

  7. #7
    Membre éprouvé
    un user est un rôle qui peut se connecter (qui possède la clause LOGIN lors du create role)

    Pour crée un rôle
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    postgres=#CREATE ROLE *******  WITH LOGIN ENCRYPTED PASSWORD 'xxxxxxx';

  8. #8
    Membre à l'essai
    Bonjour,
    voici les difficultés que j'ai rencontrées ou les étapes par lesquelles je suis passé.

    je me suis mis dans la base de données template1 (car ça je sais faire) par la commande du shell
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    sudo -u postgres psql template1

    puis j'ai créé une base de données que je nomme bdd
    le mot de passe est mdp
    et l'utilisateur est utilisateur.
    puis je transforme l'utilisateur en role en lui adjoignant un mot de passe comme suit :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    template1=# create database bdd with owner = utilisateur encoding = 'UTF8' connection limit = -1;
    CREATE DATABASE
    template1=# alter user utilisateur with encrypted password 'mdp';
    ALTER ROLE
    template1=# \q

    enfin je quitte Postgresql (\q) pour revenir sur la base bdd comme ceci : (ceci dit en passant : comment changer de base sans sortir de Postgresql ?)
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ~$ sudo -u utilisateur mdp bdd
    sudo: mdp*: commande introuvable
    ~$ sudo -u utilisateur psql bdd
    Password: 
    psql: FATAL:  database "bdd" does not exist

    Comme mdp ne convient pas (car tu as dit que ce n'est pas la place du mot de passe, j'ai mis psql, et là il ne reconnaît pas la base bdd que je viens de créer !
    Alors je reprends les valeurs sûres en tapant la commande qui fonctionne :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ~$ sudo -u postgres psql template1
    psql (10.10 (Ubuntu 10.10-0ubuntu0.18.04.1))
    Type "help" for help.
     
    template1=# create database bdd with owner  = utilisateur encoding = 'UTF8' connection limit = -1;
    ERROR:  database "bdd" already exists

    Postgresql se moque de moi !! Donc je supprime la base bdd pour la recréer tout de suit après et je quitte :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    template1=# drop database bdd;
    DROP DATABASE
    template1=# create database bdd with owner = utilisateur encoding = 'UTF8' connection limit = -1;
    CREATE DATABASE
    template1=# \q

    J'essaie de me remettre sur la base bdd :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ~$ sudo -u utilisateur psql bdd
    Password: 
    psql: FATAL:  database "bdd" does not exist
    ~$ sudo -u postgres psql bdd
    psql: FATAL:  database "bdd" does not exist

    Enfin je tourne en rond !
    Question subsidiaire :
    comment affiche-t-on la liste des Bases de données dans Postgresql
    et la liste les tables dans une base de données ?
    Merci pour les bonnes réponses que vous pourrez me donner.

  9. #9
    Membre éprouvé
    c'est avec l'option -d vous spécifier votre base de donnée

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    sudo psql -U postgres -d xxxxx


    Pour changer la base cible une fois vous avez connectée

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    Se connecter à une base :
     
    \c MaBase


    Pour afficher liste des bases de données

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
     \l


    Pour afficher liste des tables d'une base de donnée spécifique


  10. #10
    Membre à l'essai
    Bonjour,
    j'ai trouvé hier la solution au problème : c'est que Postgresql a horreur des majuscules ! donc dans mon cas, j'ai créé la Base Bdd, mais lui l'a transformée immédiatement en bdd et quand j'ai voulu l'appeler en tapant Bdd, il m'a répondu qu'elle n'existait pas, évidemment. Donc j'ai appelé alors la base bdd par la commande :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    sudo -u utilisateur psql bdd

    et là il me demande un mot de passe requis par l'utilisateur, il me donne la connexion et tout va bien (les requêtes fonctionnent.)
    Merci à vous tous, Abdallah mehdoini et au chat noir (kazh du).