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
tapez \q.
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)
/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
Vous pouvez maintenant compiler et exécuter le programme. La base de données store est donnée juste pour tester le programme.
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
Qu'en pensez-vous ?
Partager