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 :

comment ajouter le language pl/sql


Sujet :

PostgreSQL

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 21
    Points : 13
    Points
    13
    Par défaut comment ajouter le language pl/sql
    j ai installer postgresql 8.0.1 sur windows xp tout fonctionne correctement mais quand je veux ajouter une fonction pl/sql celui ci me dit :

    ERROR:language pl/sql does not exist
    HINT: you need to use create lang to load the language into the database


    Comment puis faire fonctionner PL/SQL?

    please help me,

    d'avance merci.

  2. #2
    Membre averti

    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 338
    Points : 404
    Points
    404
    Par défaut
    Bonjour

    lors de l'installation il fallais cocher PL/PGSQL

    KrysKool
    Christophe Chauvet
    Consultant Odoo
    Python / PostgreSQL

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Comme te l'as dit kriskool, il fallait cocher pl/pgsql lors de l'installation.

    Pour ce qui est du pl/sql, tu ne peux pas en faire sous PostgreSQL, il faut utiliser pl/pgsql qui se rapproche du pl/sql.

  4. #4
    Membre régulier

    Inscrit en
    Février 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 24
    Points : 84
    Points
    84
    Par défaut
    L'utilitaire "createlang" fourni avec PostgreSQL permet d'ajouter le support d'un langage dans une base donnée.

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    j'ai bien coché PL/pgsql mais il y a une erreur a l'installation qui me dit que pl/pgsql a bien été installé mais pas activé et je parle bien de PL/pgSQL et non pas de PL/SQL

    en fait je voudrais savoir comment ajouter le language avec createlang ou create language

    je rapelle que je travaille sur windows

    merci d avance pour vos reponses

  6. #6
    Membre éclairé Avatar de Spoutnik
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 672
    Points : 781
    Points
    781
    Par défaut
    Regarde sur postgresql.org, il y a une doc très bien faite, surtout quand tu connais le nom de la fonction à utiliser...



    [Edit]
    3 min de rechercches sur postgresql.org... :

    createlang [connection-options...] langname [dbname]

    createlang [connection-options...] --list | -l dbname

    Inputs

    createlang accepts the following command line arguments:

    langname

    Specifies the name of the procedural programming language to be defined.
    -d, --dbname dbname

    Specifies to which database the language should be added. The default is to use the database with the same name as the current system user.
    -e, --echo

    Displays SQL commands as they are executed.
    -l, --list

    Shows a list of already installed languages in the target database (which must be specified).
    --L directory

    Specifies the directory in which the language interpreter is to be found. The directory is normally found automatically; this option is primarily for debugging purposes.

    createlang also accepts the following command line arguments for connection parameters:

    -h, --host host

    Specifies the host name of the machine on which the server is running. If host begins with a slash, it is used as the directory for the Unix domain socket.
    -p, --port port

    Specifies the Internet TCP/IP port or local Unix domain socket file extension on which the server is listening for connections.
    -U, --username username

    User name to connect as
    -W, --password

    Force password prompt.

    Outputs

    Most error messages are self-explanatory. If not, run createlang with the --echo option and see under the respective SQL command for details. Check also under psql for more possibilities.
    Description

    createlang is a utility for adding a new programming language to a PostgreSQL database. createlang can handle all the languages supplied in the default PostgreSQL distribution, but not languages provided by other parties.

    Although backend programming languages can be added directly using several SQL commands, it is recommended to use createlang because it performs a number of checks and is much easier to use. See CREATE LANGUAGE for more.
    Notes

    Use droplang to remove a language.

    createlang is a shell script that invokes psql several times. If you have things arranged so that a password prompt is required to connect, you will be prompted for a password several times.
    Usage

    To install pltcl into the database template1:

    $ createlang pltcl template1
    donc createlang plpgsql nomBase devrait marcher.
    Two beer or not two beer. (Shakesbeer)
    Question technique par MP => poubelle!

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Deux methodes (EXTRAIT DE LA DOC !):
    > Pour les langages fournis avec la distribution standard, le programme createlang peut être utilisé pour installer le langage au lieu de reporter tous les détails à la main. Par exemple, pour installer le langage PL/pgSQL dans la base de données template1, utilisez
    >
    >createlang plpgsql template1

    > createlang installs a procedural language into a PostgreSQL database.
    >
    > Usage:
    > createlang [options] langname [dbname]
    >
    > Options:
    > -h, --host=HOSTNAME Database server host
    > -p, --port=PORT Database server port
    > -U, --username=USERNAME Username to connect as
    > -W, --password Prompt for password
    > -d, --dbname=DBNAME Database to install language in
    > -L, --pglib=DIRECTORY Find language interpreter file in DIRECTORY
    > -l, --list Show a list of currently installed languages
    1/ en ligne de commande tu lances psql, qui est fournit avec toutes les distributions de PostGreSQL.

    2/ Tu crees le langage plpgsql pour une base de donnees

    createlang -d mabasededonnees plpgsql

    Cf.options ci dessus pour specifier l'adresse des librairies qui doivent se trouver dans un repertoire du type pgsql/lib ou qlqchose comme ca !

    Exemple 36-1. Installation manuelle de PL/pgSQL
    >
    > La commande suivante indique au serveur de bases de données où trouver la bibliothèque partagée pour la fonction de gestion des appels du langage PL/pgSQL.
    >
    >CREATE FUNCTION plpgsql_call_handler() RETURNS language_handler AS
    > '$libdir/plpgsql' LANGUAGE C;
    >
    > La commande
    >
    >CREATE TRUSTED PROCEDURAL LANGUAGE plpgsql
    > HANDLER plpgsql_call_handler;
    >
    > définit alors que la fonction de gestion des appels déclarée précédemment devrait être invoquée pour les procédures fonctions ou déclencheurs pour lesquelles l'attribut langage est plpgsql.
    L'install necessite que tu sois l'administrateur de PostGreSQL sinon tu devrais avoir un message du type
    ERROR: Only users with Postgres superuser privilege are permitted to create a function in the 'C' language.
    Delphine

  8. #8
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    tou ce que vous m'avez donner c bien mais c pour linux.
    Moi ce fichier " $libdir/plpgsql ou $libdir/plpgsql.so" je lai pa
    donc je ne peu pas faire ce que vous m'indiquer.

    j'ai chercher pdt 2 heures avant de demander.

    voila donc si vous avez une autre solution d'avance merci

  9. #9
    Membre averti

    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 338
    Points : 404
    Points
    404
    Par défaut
    Voici ce que j'ai sur un des postes windows
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE OR REPLACE FUNCTION plpgsql_call_handler()
      RETURNS language_handler AS
    '$libdir/plpgsql', 'plpgsql_call_handler'
      LANGUAGE 'c' VOLATILE;
    ALTER FUNCTION plpgsql_call_handler() OWNER TO postgres;
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql'
      HANDLER plpgsql_call_handler;
    KrysKool
    Christophe Chauvet
    Consultant Odoo
    Python / PostgreSQL

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/11/2008, 20h01
  2. comment ajouté la langue arabe sous sql server 2000
    Par 21247692 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/10/2008, 16h31
  3. Réponses: 4
    Dernier message: 12/08/2008, 12h20
  4. Réponses: 2
    Dernier message: 07/12/2005, 03h21

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