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

PostgreSQL Discussion :

[procédures stockées en C] postgresql 8.4


Sujet :

PostgreSQL

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur TIC
    Inscrit en
    Mars 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur TIC
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2010
    Messages : 93
    Points : 97
    Points
    97
    Par défaut [procédures stockées en C] postgresql 8.4
    Bonjour,

    je viens de commencer actuellement à travailler sur des procédures stockées en langage C sous windows xp, et je rencontre un problème lors de l'appel de mon fichier so via un procédures pl/pgsql/.

    voici le petit code d'essai de ma fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    int projet(int);
     
    int projet(int a) {
     
                     return a;
     
                          }

    et voici le code d'appel de mon fichier.so

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    CREATE FUNCTION projet( int ) RETURNS int 
     AS 'c:\\projet.so' 
     LANGUAGE 'C';
    et voici l'erreur retournée:


    ATTENTION: utilisation non standard de \\ dans une chaîne littérale
    LINE 2: AS 'c:\\projet.so'
    ^
    HINT: Utilisez la syntaxe de chaîne d'échappement pour les antislashs, c'est-à-dire E'\\'.


    ERREUR: bibliothèque « c:\projet.so » incompatible : bloc magique manquant
    HINT: Les bibliothèques étendues nécessitent l'utilisation de la macro
    PG_MODULE_MAGIC.

    ********** Erreur **********

    ERREUR: bibliothèque « c:\projet.so » incompatible : bloc magique manquant
    État SQL :XX000
    Astuce : Les bibliothèques étendues nécessitent l'utilisation de la macro
    PG_MODULE_MAGIC.
    merci d'avance et bonne journée.

  2. #2
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    Bonjour
    Pour l'O/S Microsoft regardez dans ce lien
    http://www.scribd.com/doc/40725510/B...ons-on-Windows
    Cordialement

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur TIC
    Inscrit en
    Mars 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur TIC
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2010
    Messages : 93
    Points : 97
    Points
    97
    Par défaut
    Bonjour bustaf,

    Merci pour le lien, il s'est avéré très intéressant, mais Windows m'a agacé la vie, donc je re à mon linux, le problème c'est que dans la même situation telle que j'avais décrit au départ il m'affiche l'erreur suivante:
    ERROR: incompatible library "chemin de ma lib partagé": missing magic block
    SQL state: XX000
    Hint: Extension libraries are required to use the PG_MODULE_MAGIC macro.
    et ce sachant que j'ai précédé le début du code c par la définition du PG_Module_MAGIC macro.

  4. #4
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    Bonjour ratata

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    #include "/usr/local/pgsql/include/server/postgres.h"
    #include <string.h>
    #include "/usr/local/pgsql/include/server/utils/geo_decls.h"
    #include"/usr/local/pgsql/include/server/utils/errcodes.h"
    #include "/usr/local/pgsql/include/server/fmgr.h"
    PG_MODULE_MAGIC;
    
    int projet(int arg)
    {
      return arg + 1;
    }
    //ou autrement 
    
    /*PG_FUNCTION_INFO_V1(projet);
    Datum projet(PG_FUNCTION_ARGS)
    {
    int32   arg = PG_GETARG_INT32(0);
    PG_RETURN_INT32(arg + 1);
    } */
    
    // POUR COMILER
    // gcc -fPIC -c projet.c
    // gcc -shared -o projet.so projet.o
    // cp projet.so projet.o /usr/lib
    // ldconfig
    
    //COMMANDE ET RESULTAT
    //base=# CREATE FUNCTION projet(integer) RETURNS integer   AS '/usr/lib/projet', 'projet'   LANGUAGE C STRICT;
    //CREATE FUNCTION
    //base=# 
    (Il ne faut pas utiliser c++ (g++)
    Cordialement

  5. #5
    Membre régulier
    Homme Profil pro
    Ingénieur TIC
    Inscrit en
    Mars 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur TIC
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2010
    Messages : 93
    Points : 97
    Points
    97
    Par défaut
    Bonjour Bustaf,

    Merci pour ta réponse, alors à ce qui paraît, j'ai une arborescence un peu différente, vu que mes include n'existent pas dans les chemins que vous m'avez cités aussi, je n'ai pas les fichiers "fmgr.h" et "geo_decls.h", mais en cherchant par-ci par-là, j'ai trouvé que "postgres.h" suffirait, ainsi que elog.h et errcodes.h,mais au moment de la compilation:

    gcc -shared projet.c -o projet.so (j'ai aussi essayé la commande que vous m'avez proposée )
    ça me donne ce qui est en-dessous, je rappelle juste que je suis sur postgresql 9.0

    In file included from /usr/include/postgresql/postgres.h:48,
    from projet.c:1:
    /usr/include/postgresql/utils/elog.h:69:28: error: utils/errcodes.h: No such file or directory

  6. #6
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    Bonjour ratata
    Les chemins que je donne dans l'exemple sont les chemins par défaut
    avec des sources postgresql compilées sans un flag (--prefix) défini

    tapez au shell (en root)
    find / -name errcodes.h -print

    vous devez trouver un répertoire include/server/utils qui contient également palloc.h etc ...
    Si ces fichiers sont absents, il faut compiler les sources pour générer une installation complète standard.

    Je peux vous aider pour cette tâche si vous me donnez les infos suivantes

    1] Votre distribution Linux ?
    2] gcc -v ?
    3] cat /proc/cpuinfo (ou dmidecode -t4) ?
    Cordialement

  7. #7
    Membre régulier
    Homme Profil pro
    Ingénieur TIC
    Inscrit en
    Mars 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur TIC
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2010
    Messages : 93
    Points : 97
    Points
    97
    Par défaut
    reBonjour Bustaf,

    Tous mes fichiers d'extension "h" sont contenus dans /usr/include/potgresql,dans lequel sont localisés des dossiers (dont utils fait partie et absence de server et des fichier dont postgres.h ).

    Pour errcodes et palloc, ils sont contenus dans /usr/include/postgresql/utils/

    Pour les informations que vous m'avez demandées:

    je suis sur la distribution ubuntu 10.04 LTS.

    ma version du compilateur gcc est 4.4.3

    pour mon processeur : c'est un Core 2 DUO

    LE PREMIER

    processor : 0
    vendor_id : GenuineIntel
    cpu family : 6
    model : 15
    model name : Intel(R) Core(TM)2 Duo CPU E4500 @ 2.20GHz
    stepping : 13
    cpu MHz : 1200.000
    cache size : 2048 KB
    physical id : 0
    siblings : 2
    core id : 0
    cpu cores : 2
    apicid : 0
    initial apicid : 0
    fdiv_bug : no
    hlt_bug : no
    f00f_bug : no
    coma_bug : no
    fpu : yes
    fpu_exception : yes
    cpuid level : 10
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm
    bogomips : 4389.72
    clflush size : 64
    cache_alignment : 64
    address sizes : 36 bits physical, 48 bits virtual

    LE DEUXIÈME

    processor : 1
    vendor_id : GenuineIntel
    cpu family : 6
    model : 15
    model name : Intel(R) Core(TM)2 Duo CPU E4500 @ 2.20GHz
    stepping : 13
    cpu MHz : 1200.000
    cache size : 2048 KB
    physical id : 0
    siblings : 2
    core id : 1
    cpu cores : 2
    apicid : 1
    initial apicid : 1
    fdiv_bug : no
    hlt_bug : no
    f00f_bug : no
    coma_bug : no
    fpu : yes
    fpu_exception : yes
    cpuid level : 10
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm
    bogomips : 4388.96
    clflush size : 64
    cache_alignment : 64
    address sizes : 36 bits physical, 48 bits virtual
    s'il est objet de changer certains softwares ou carrément de système , j'y serais prêt , juste atteindre les performances que je me suis fixées au départ en passant par le langage C sera mon grand plaisir.
    Merci encore une fois Bustaf, et passez une agréable fin de journée.

  8. #8
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    Re bonjour
    Changez le path qui est dans postgres.h ligne 48 et 49
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include "utils/elog.h"
    #include "utils/palloc.h"
    par votre (path) complet..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #include "/usr/include/postgres/utils/elog.h"
    #include "/usr/include/postgres/utils/palloc.h"

    (ldconfig c'est pour informer le cache d'une nouvelle librairie)
    (la copie du so dans /usr/lib c'est pour qu'il trouve la lib)
    la copie optionnelle de l'objet *.o c'est pour retrouver l'objet natif.


    Votre configuration machine est parfaitement appropriée à un serveur Postgresql
    http://ark.intel.com/Product.aspx?id=30781
    Vote O/S Linux est installé en 32 ou en 64 ?
    Si on compile une deuxième instance postgresql en parallèle cela ne change absolument rien à votre ensemble pré-existant...

    Cordialement

  9. #9
    Membre régulier
    Homme Profil pro
    Ingénieur TIC
    Inscrit en
    Mars 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur TIC
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2010
    Messages : 93
    Points : 97
    Points
    97
    Par défaut
    Bonjour,

    Merci beaucoup pour votre feedback, mon linux est installé en 32 bits.
    Donc je recompile une deuxième instance de postgresql et je réalise les rectifications et je vous tiens en courant des nouveautés.

    Excellente journée.

  10. #10
    Membre régulier
    Homme Profil pro
    Ingénieur TIC
    Inscrit en
    Mars 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur TIC
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2010
    Messages : 93
    Points : 97
    Points
    97
    Par défaut
    Bonjour Bustaf,

    vous êtes vraiment une perle, merci beaucoup d'avoir pris la peine et aussi d'avoir consacré le temps pour résoudre la problématique, effectivement j'ai compilé et installé une nouvelle instance de postgreSQL à partir du code source, aussi pour tous les includes qui existent dans mes fichier ".h" il a fallu mettre la totalité du chemin (depuis la racine).

    Un conseil aux personnes qui liront ce post et qui utilisent le SGBD postgreSQL, mieux vaut compiler et installer vous-même votre SGBD à partir du code source que de suivre la méthode standard d'installation , comme ça vous êtes connaisseur de votre arborescence système et du fait qu'il ne lui manque absolument rien, puisque vous faites tout par vos propres mains, et non pas la machine.

    Merci encore bustaf, et bonne journée.

  11. #11
    Membre régulier
    Homme Profil pro
    Ingénieur TIC
    Inscrit en
    Mars 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur TIC
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2010
    Messages : 93
    Points : 97
    Points
    97
    Par défaut
    Re bonjour,

    le seul soucis qui reste, c'est qu'il faut passer par tous les fichier ".h" pour modifier les chemins de leurs include, par contre je crois avoir déjà vu quelque part qu'on peut préciser au moment de la compilation le chemin des librairies , comme ça ce souci ne se présentera plus, il faut juste que je retrouve la syntaxe (je m'en rappelle plus), sinon si tu l'as entre les mains bustaf je t'en remercierais infiniment, entre temps je vais la chercher.

    bonne journée.

  12. #12
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    bonjour ratata

    Pour les .h
    le flag gcc est -I (majuscule)
    pour les .a ou .so
    le flag gcc est -L (majuscule)

    Si ça ne marche pas ne vous prenez pas la tête,
    patientez juste un petit moment je vais installer une Ubuntu en 32 pour voir ce qui ne va pas.
    j'utilise une Debian 6 , normalement Ubuntu c'est la même base .

    Cordialement

  13. #13
    Membre régulier
    Homme Profil pro
    Ingénieur TIC
    Inscrit en
    Mars 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur TIC
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2010
    Messages : 93
    Points : 97
    Points
    97
    Par défaut
    Bonjour Bustaf,

    effectivement, j'avais testé hier cette commande avec cette option, mais ça donne toujours le même soucis j'ai utilisé comme PATH : /user/local/pgsql/include.

    pour Ubuntu c'est une distribution de la famille Debian ??

    Excellente journée.

  14. #14
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    Bonjour ratata
    Oui Ubuntu est générée à partir d'une base Debian
    C'est une distribution de très grande qualité qui est
    gérée par une équipe très sérieuse et très compétente.
    Cordialement

  15. #15
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    Bonjour ratata
    J'ai installé une Unbuntu 10.04 (32)
    ça fonctionne parfaitement comme sous Debian
    postgres@bustaf-desktop:/usr/local/pgsql/bin$ ./psql base
    psql (9.0.4)
    Type "help" for help.

    base=# CREATE FUNCTION projet(integer) RETURNS integer AS '/usr/lib/projet', 'projet' LANGUAGE C STRICT;
    CREATE FUNCTION
    base=#


    Le compilateur GNU d'origine (Ubuntu 10.04)
    root@bustaf-desktop:/usr/local/pgsql/bin# gcc -v
    Using built-in specs.
    Target: i486-linux-gnu
    Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.3-4ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
    Thread model: posix
    gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
    root@bustaf-desktop:/usr/local/pgsql/bin#


    dans /usr/local/pgsql/include/server/utils/elog.h
    ligne 69 vous désactivez //#include "utils/errcodes.h"
    Dans la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include "/usr/local/pgsql/include/server/postgres.h"
    #include <string.h>
    #include "/usr/local/pgsql/include/server/fmgr.h"
    uniquement
    (je termine les explications ce soir) j'ai du TAF .....

    (la suite .....)
    Avec une Unbuntu 10.04 (32)
    Menu Applications -> accessoires-> terminal
    sudo -s (votre password est demandé pour passer en root)
    aptitude install libreadline-dev libreadline6 libreadline6-dev flex
    zlib1g-dev zlib1g sed automake
    téléchargez les sources de pg 9.0.4
    http://wwwmaster.postgresql.org/redi...l-9.0.4.tar.gz
    mkdir /usr/src/download (création d'un répertoire pour compiler)
    chmod -R 777 /usr/src/download (ouverture complète des droits sur ce repertoire)
    cp votre_rep_de_telechargemnet/postgresql-9.0.4.tar.gz /usr/src/download
    cd/usr/src/download
    tar xvfz postgresql-9.0.4.tar.gz (décompression de l'archive)
    cd postgresql-9.0.4
    ./configure (il n' y a pas d'erreurs logiquement)
    make --jobs=2 (compilation avec 2 forks)
    (Après quelques minutes La compilation se termine sans erreurs)
    adduser postgres (création d'un utilisateur postgres (je lui donne un passwd uniquement))
    su postgres (je passe en utilisateur postgres)
    time make check
    je vois 120 tests OK et le temps (time)
    exit (je reviens en root)
    make install (une instance s'installe dans /usr/local/pgsql)
    cd /home
    mkdir pgsql (création du répertoire de la base de données)
    chmod -R 0700 pgsql (Droits d’accès)
    chown -R postgres pgsql (propriété)

    su postgres (je passe en utilisateur postgres)
    ./initdb -D /home/pgsql (initialisation l'instance dans le répertoire /home/pgsql)
    exit (je reviens en root)
    cd /usr/local/pgsql/bin
    création du fichier projet.c
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #include "/usr/local/pgsql/include/server/postgres.h"
    #include <string.h>
    #include "/usr/local/pgsql/include/server/fmgr.h"
    PG_MODULE_MAGIC;
     
    int projet(int arg)
    {
      return arg + 1;
    }
    dans /usr/local/pgsql/include/server/utils/elog.h
    ligne 69 a desactiver //#include "utils/errcodes.h"

    gcc -fPIC -c projet.c
    gcc -shared -o projet.so projet.o
    cp projet.so projet.o /usr/lib
    ldconfig

    su postgres (je passe en utilisateur postgres)
    ./pg_ctl -D /home/pgsql start (démarrage de l'instance)
    ./createdb base (création d'une base bidon pour le test)
    ./psql base (ouverture dans la base base)
    CREATE FUNCTION projet(integer) RETURNS integer AS '/usr/lib/projet', 'projet' LANGUAGE C STRICT;

    La fonction se charge....
    Pour votre processeur avant de compiler ou le ./configure de postgres tapez
    export CFLAGS="-mtune=core2"

    Avec votre type de processeur essayez en O/S 64 je pense que c'est plus judicieux.
    Pour PG la 9.04 me semble très fiable et bien plus performante que la série des 8.x ..
    c'est à vous de voir ....
    Cordialement



  16. #16
    Membre régulier
    Homme Profil pro
    Ingénieur TIC
    Inscrit en
    Mars 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur TIC
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2010
    Messages : 93
    Points : 97
    Points
    97
    Par défaut
    ReBonjour,

    Merci beaucoup bustaf, effectivement, je suis déjà passé par l'installation à la main de postgresql 9.04, et ma première petite fonction avait bien marché en modifiant les chemins des entêtes de mes fichiers ".h auxquels je fait appel, la problématique que j'avais annoncé venait du fait qu'avec d'autres fonctions on fera appel à d'autres fichiers ".h" dont il faudra aussi modifier les chemins des entêtes, ce qui nous laisse penser qu'il faut modifier les entêtes de tous les fichiers ".h" du dossier /usr/local/pgsql/include/, chose que j'ai faite

    Bon, là c'est résolu en entier, merci encore, je cherche juste une référence pour pouvoir écrire des fonctions C très avancées, surtout que je n'arrive pas à trouver l'équivalent de "GetAttributeByName" en input "le set en BD" , et je vois bien que ce poste sera une petite première capitalisation pour le forum et pour les personnes qui désirent s'initier en développement des procédures stockées en langage C.

    Passez une agréable journée.

  17. #17
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    Bonjour ratata
    Lisez ce lien.
    http://www.postgresql.org/docs/9.0/static/xfunc-c.html
    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Migration procédures stockées : Oracle vers Postgresql
    Par vingohan dans le forum PostgreSQL
    Réponses: 11
    Dernier message: 04/06/2014, 22h18
  2. [PostgreSQL] [PostGreSQL] Procédures stockées
    Par Brousse_Ouilisse dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/02/2007, 09h56
  3. [PEAR][DB] Appel de procédure stockée dans différents schémas sous postgresql
    Par rebolon dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 22/09/2006, 16h49
  4. [POSTGRESQL] - Procédures stockées
    Par angusyoung34 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 04/01/2006, 11h24
  5. Réponses: 2
    Dernier message: 23/05/2003, 12h22

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