Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/03/2005, 21h51   #1
Invité de passage
 
Inscription : mars 2004
Messages : 21
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 21
Points : 2
Points : 2
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.
jbaudens est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2005, 08h13   #2
Membre éclairé
 
Inscription : janvier 2005
Messages : 336
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2005
Messages : 336
Points : 353
Points : 353
Bonjour

lors de l'installation il fallais cocher PL/PGSQL

KrysKool
kryskool est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2005, 09h04   #3
Invité régulier
 
Inscription : novembre 2004
Messages : 16
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 16
Points : 9
Points : 9
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.
nico31120 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2005, 20h58   #4
Membre à l'essai
 
Inscription : février 2005
Messages : 24
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 24
Points : 24
Points : 24
L'utilitaire "createlang" fourni avec PostgreSQL permet d'ajouter le support d'un langage dans une base donnée.
chanmix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2005, 13h19   #5
Invité de passage
 
Inscription : mars 2004
Messages : 21
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 21
Points : 2
Points : 2
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
jbaudens est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2005, 14h18   #6
Membre chevronné
 
Avatar de Spoutnik
 
Homme
Inscription : octobre 2003
Messages : 668
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : Etats-Unis

Informations forums :
Inscription : octobre 2003
Messages : 668
Points : 746
Points : 746
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... :

Citation:
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.
Spoutnik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2005, 16h57   #7
Invité de passage
 
Inscription : janvier 2005
Messages : 2
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2
Points : 2
Points : 2
Deux methodes (EXTRAIT DE LA DOC !):
Citation:
> 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 !

Citation:
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
Citation:
ERROR: Only users with Postgres superuser privilege are permitted to create a function in the 'C' language.
Delphine
delphine_b est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2005, 20h42   #8
Invité de passage
 
Inscription : mars 2004
Messages : 21
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 21
Points : 2
Points : 2
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
jbaudens est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2005, 09h41   #9
Membre éclairé
 
Inscription : janvier 2005
Messages : 336
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2005
Messages : 336
Points : 353
Points : 353
Voici ce que j'ai sur un des postes windows
Code :
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 :
1
2
CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql'
  HANDLER plpgsql_call_handler;
KrysKool
kryskool est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h14.


 
 
 
 
Partenaires

Hébergement Web