IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Contribuez PostgreSQL Discussion :

Exemple d'utilisation de la bibliothèque libpq


Sujet :

Contribuez PostgreSQL

  1. #1
    Invité
    Invité(e)
    Par défaut Exemple d'utilisation de la bibliothèque libpq
    Bonjour,

    Je vous propose un nouvel élément à utiliser : Exemple d'utilisation de la bibliothèque libpq

    Ce code source a pour but de montrer comment utiliser le langage C et la bibliothèque libpq pour se connecter à une base de donneés PostgreSQL sur un système GNU/Linux.



    Le seul fichier d'en-tête nécessaire pour compiler notre programme est le fichier : libpq-fe.h. Bien sûr, pour avoir ce fichier il faut installer la bibliothèque libpq(et non pq++) . Deux méthodes pour installer la bibliothèque :

    Installer le RPM ou le DEB de la bibliothèque à la'aide d'un package manager.

    Installer PostgreSQL à partir de la source (http://www.postgresql.org/docs/8.4/s...tallation.html) : Ainsi, la bibliothèque sera installée par défaut !!

    On va utiliser la deuxième méthode. Le serveur sera installé dans le répertoire : /usr/local/pgsql.

    Il faut ensuite installer la bibliothèque partagée libpq.so.5. Elle sera utilisée par l'éditeur de liens (ld) pour construire l'exécutable. Pour cela, vous devez installer le package postgresql-libs. Sur Fedora : yum install PostgreSQL-libs



    I. Changer la méthode d'authentification

    Par défaut, la méthode d'authentification du serveur est 'trust'. Vous devez le changer en 'password. Pour le changer, procédez comme suit :

    Ouvrir un terminal

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    cd un_dir_propre_à_postgres
     
    su postgres
     
    /usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data >logfile 2>&1 & -- lancer le serveur en background
     
    /usr/local/pgsql/bin/psql -- psql is a terminal-based front-end to PostgreSQL
     
    ALTER USER postgres WITH PASSWORD 'admin'; -- assigner un password ('admin') au superuser (postgres)
    tapez \q.

    /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data/ stop -- fermer le serveur
    Maintenant, ouvrir en tant-que root le fichier /data/pg_hba.conf et remplacez les mots 'trust' par 'password' .

    II. Créer la base des données :

    Le programme va se connecter à la base de donnée store. Vous devez le créer ! Suivez les étapes suivantes pour le créer rapidement :

    su postgres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data/ start >logfile 2>&1 &
     
    /usr/local/pgsql/bin/psql
     
    CREATE USER client1 PASSWORD 'client1'; -- créer un user (role + login) avec le password 'client1'
     
    \q
     
    /usr/local/pgsql/bin/createdb -T template0 store -- créer une db 'store' à partir du template 'template0'
     
    /usr/local/pgsql/bin/psql store < dbstore.txt -- restorer la db 'store' à partir du SQL dump 'dbstore.txt'.
     
    /usr/local/pgsql/bin/psql -U client1 store
    Vous pouvez maintenant compiler et exécuter le programme. La base de données store est donnée juste pour tester le programme.

    Qu'en pensez-vous ?
    Dernière modification par Chtulus ; 01/01/2013 à 16h11.

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/03/2011, 23h39
  2. Exemples d'utilisation de la Bibliothèque "PEAR"
    Par Jcpan dans le forum Langage
    Réponses: 1
    Dernier message: 26/01/2009, 17h13
  3. [XML]Exemples d'utilisation
    Par le Daoud dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 18/01/2006, 18h04
  4. Recherche des exemple d'utilisation
    Par lemme dans le forum Merise
    Réponses: 2
    Dernier message: 26/02/2003, 13h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo