Codes sources PostgreSQL

Ajouter un nouvel élément

ang Exemple d'utilisation de la bibliothèque libpq

Licence : Autre 8 Ko
Ce code source a pour but de montrer comment utiliser la bibliothèque C libpq pour se connecter à une base de données 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 :
  1. Installer le RPM ou le DEB de la bibliothèque à l'aide du package manager propre à votre Distribution Linux.
  2. Installer PostgreSQL à partir de la source (http://www.postgresql.org/docs/8.4/static/installation.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) du compilateur gcc pour construire l'exécutable. Pour cela, vous devez installer le package postgresql-libs.

I. Changer la méthode d'authentification du serveur

Par défaut, la méthode d'authentification du serveur est 'trust'. Vous devez la changer en 'password'. Pour la changer, procédez comme suit :
  1. Ouvrir un terminal
  2. cd un_dir_propre_à_postgres
  3. su postgres
  4. /usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data >logfile 2>&1 & -- lancer le serveur en background
  5. /usr/local/pgsql/bin/psql -- psql is a terminal-based front-end to PostgreSQL
  6. ALTER USER postgres WITH PASSWORD 'admin'; -- assigner un password ('admin') au superuser (postgres)
  7. tapez \q
  8. /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 :
  1. su postgres
  2. /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data/ start >logfile 2>&1 &
  3. /usr/local/pgsql/bin/psql
  4. CREATE USER client1 PASSWORD 'client1'; -- créer un user (role + login) avec le password 'client1'
  5. \q
  6. /usr/local/pgsql/bin/createdb -T template0 store -- créer une db 'store' à partir du template 'template0'
  7. /usr/local/pgsql/bin/psql store < dbstore.txt -- restorer la db 'store' à partir du SQL dump 'dbstore.txt'.
  8. /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.
Téléchargement :
Compatibilité :
Linux  

ang Inverser une chaine

Licence : Autre
Inverse la chaine

Exempe : SELECT inverserchaine('postgresql');
lqsergtsop
Téléchargement :
Compatibilité :
 

ang Générateur de password

Licence : Autre
Crée un password aléatoirement avec différents caractères suivant l'option placé en paramètre (optx)
et suivant le nombre de caractères placés en paramètre (len) :

Exemple : SELECT create_pass('u', 6);
AHTCVE

SELECT create_pass('r',8)
Ght6Kr4g
Téléchargement :
Compatibilité :
 

ang Tester si le nombre est premier

Licence : Autre
Teste si le nombre passé en paramètre est premier

Exemple : SELECT estpremier(41047),estpremier(12322);
TRUE FALSE
Téléchargement :
Compatibilité :
 

ang Générer un nombre aléatoire paramétré

Licence : Autre
Fonction random surchargée
arguments : minimum
maximum
retourne une nombre aléatoire compris entre minimum et maximum

Exemple : SELECT random(30,50);
39
Téléchargement :
Compatibilité :
 

ang Fonction soundex francais

Licence : Autre
Fonction SOUNDEX francisé

Exemple : SELECT soundexfr('durand'),soundexfr('durhand'),soundexfr('durond'),soundexfr('dupond');
D653 D653 D653 D153
Téléchargement :
Compatibilité :
 

ang Encodage d'une chaine en base 64

Licence : Autre
Encodage en base 64

Exemple : SELECT encode64('Salut');
Ks5iTNG
Téléchargement :
Compatibilité :
 

ang Connaitre le nombre de jours dans l'année

Licence : Autre
Retourne le nombre de jours dans l'année
Exemple : SELECT nombrejoursannee('2005-08-29');
366
Téléchargement :
Compatibilité :
 

ang Verification d'un numéro de carte bancaire

Licence : Autre
Vérification d'un numéro de carte Bancaire
Utilise l'algorithme de LUHN

Exemple : SELECT verifcb('1234123412342');
true
Téléchargement :
Compatibilité :
 

ang Tester si un nombre est impair

Licence : Autre
Cette fonction retourne true (vrai) si le nombre passé en argument est impair
Téléchargement :
Compatibilité :
 

ang Convertir un nombre en lettre

Licence : Autre
Converti un nombre en lettre

Exemple : SELECT nombreenlettre(5423);
cinq mille quatre cent vingt trois
Téléchargement :
Compatibilité :
 

ang Fibonacci récursif

Licence : Autre
Algo de Fibonacci version récursive
La version récursive est vraiment trop lente
je la mets juste pour montrer comment faire.
Téléchargement :
Compatibilité :
 

ang Factoriel itératif

Licence : Autre
Factoriel version itérative
n! = n*(n-1)*(n-2)*(n-3)*...*2*1
1! = 1
0! = 1
Exemple: SELECT factoriel_ite(5)
120

Il existe l'opérateur : !
SELECT 5!
120
Téléchargement :
Compatibilité :
 

ang Déterminer si l'année est bissextile ou non

Licence : Autre
Teste si l'année est bissextile

Exemple : SELECT estbissextile(2004);
TRUE
Téléchargement :
Compatibilité :
 

ang Vérifier la validité d'un email

Licence : Autre
Teste si l'email passé en paramètre est valide ou non
Exemple : SELECT verifemail('toto@wanadoo.fr'),verifemail('totowanado.fr')
TRUE FALSE
Téléchargement :
Compatibilité :
 

ang Valider un numéro ISBN

Licence : Autre
Teste la validité d'un numéro ISBN

exemple : SELECT validisbn('2-7081-2829-9');
True
Téléchargement :
Compatibilité :
 

ang Calculer la distance orthodromique entre 2 points

Licence : Autre
Fonction permettant de calculer
une distance orthodromique en kilomètres
entre deux points A et B

Arguments : long_a (longitude du point a)
lat_a (latitude du point a)
long_b (longitude du point b)
lat_b (latitude du point b)

retourne le nombre de km entre les 2 points

Exemple : SELECT distancelonglat(2.266667,48.816667,2.30,48.75);
7.79883901763468
Il y 7.80 km entre Issy-les-Moulineaux et Antony
Téléchargement :
Compatibilité :
 

ang Compte le nombre d'occurence d'une souschaine dans une chaine

Licence : Autre
Compte le nombre d'occurrences d'une sous-chaine dans une chaine

Exemple : SELECT stroccurence('Ici un mot, et la un deuxieme mot','mot');
2
Téléchargement :
Compatibilité :
 

ang Extraire un email dans un texte

Licence : Autre
On extrait une adresse mail parmi un texte passé en paramètre

Exemple: SELECT extraireemail('Voici le mail de Toto : toto@wanadoo.fr Chut, il faut pas le dire');
toto@wanadoo.fr
Téléchargement :
Compatibilité :
 

ang Extraire un numero de telephone portable dans un texte

Licence : Autre
Extrait un numéro de portable (commençant par 06) à l'intérieur d'un texte

Exemple : SELECT extrairetelportable('Je te laisse mon tel : 06-99-97-96-95');
06-99-97-96-95
Téléchargement :
Compatibilité :
 

39 éléments

Connexion

Identifiant
Mot de passe
S'inscrireMot de passe oublié ?
 
 
 
 
Partenaires

Hébergement Web