Vous n'êtes pas identifié(e).
Pages : 1
Bonjour à tous et à toutes,
je lis la documentation 9.1 de postgresql depuis un bout de temps et je voulais savoir la différence concrète qui existe entre EXTENSION et LANGAGE,
précisement entre create extension et create langage
Merci
Hors ligne
Bonjour,
un LANGUAGE est un langage procédural, utilisable avec postgres dans des procédures stockées (pl/pgsql,pl/java ...).
une EXTENSION est l'évolution des modules contrib existant jusqu'en 9.0. Cela peut regrouper des tables, des procédures stockées en différents langages afin d'ajouter de nouvelles fonctionnalités (dblink, pg_crypto ...). La plupart des LANGUAGE sont maintenant transformés en extensions, et s'installent coomme tels (le CREATE LANGUAGE sera fait par le script de l'extension).
Julien.
https://rjuju.github.io/
Hors ligne
Merci pour votre disponibilité,
si je comprend bien:
1- (le CREATE LANGUAGE sera fait par le script de l'extension) est à dire que CREATE EXTENSION regorge ou inclut CREATE EXTENSION langname FROM unpackaged ?
c'est à dire au lieu de create language on fait plutot create extension ?
2- j'ai installé pl/java dans postgresql 8.4 sans problème mais quand je cree mes foncvtions tout marche bien, mais quand j'appel une de ces fonctions, j'ai l'érreur suivante :
ERREUR: Failed to create Java VM
********** Erreur **********
ERREUR: Failed to create Java VM
État SQL :XX000
j'utilise le JDK 1.7 est ce que ce problème peut etre lié à la version du jdk ?
je compte déinstaller la 1.7 pour installer la 1.5
quelqu'un peut-il m'orienter à ces sujets ?
Merci
Dernière modification par pljavabruno (17/10/2012 19:00:20)
Hors ligne
Cela dépend si le langage est passé en extension. Prenez par exemple le script de création de l'extension plpgsql:
CREATE PROCEDURAL LANGUAGE plpgsql;
COMMENT ON PROCEDURAL LANGUAGE plpgsql IS 'PL/pgSQL procedural language';
Pour l'erreur pl/java, avez vous essayez de configurer LD_LIBRARY_PATH pour postgres ?
Il devrait ressembler à ça : LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/i386:$JAVA_HOME/jre/lib/i386/client
Julien.
https://rjuju.github.io/
Hors ligne
Merci pour cette contribution,
où est ce que je dois configuré LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/i386:$JAVA_HOME/jre/lib/i386/client, ?
dans les variables d'environnement j'ai mis ceci
path=
H:\Program Files\Java\jdk1.7.0\bin;
H:\Program Files\Java\jre7\bin;
H:\Program Files\Java\jre7\bin\client;
H:\Program Files\Java\jdk1.7.0\lib;
H:\Program Files\PostgreSQL\9.1\share\pljava
est la meme chose ?
Merci
Hors ligne
Ah vous êtes sous windows. Je suppose qu'il vous faut ouvrir la session postgres afin de modifier ou d'ajouter cette variable d'environnement, puis de relancer postgres.
Julien.
https://rjuju.github.io/
Hors ligne
Merci,
j'ai ajouté
;H:\Program Files\Java\jre\lib\i386;H:\Program Files\Java\jre\lib\i386\client
a ceci
path=
H:\Program Files\Java\jdk1.7.0\bin;
H:\Program Files\Java\jre7\bin;
H:\Program Files\Java\jre7\bin\client;
H:\Program Files\Java\jdk1.7.0\lib;
H:\Program Files\PostgreSQL\9.1\share\pljava
Mais l'érreur persiste
ATTENTION: java.lang.NoClassDefFoundError: org/postgresql/pljava/internal/Backend
ERREUR: Unable to load class org/postgresql/pljava/internal/Backend using CLASSPATH 'null'
********** Erreur **********
ERREUR: Unable to load class org/postgresql/pljava/internal/Backend using CLASSPATH 'null'
État SQL :XX000
quand j’exécute de nouveau l'érreur passe à
ERREUR: Failed to create Java VM
********** Erreur **********
ERREUR: Failed to create Java VM
État SQL :XX000
je ne comprends plus rien
Dernière modification par pljavabruno (18/10/2012 10:38:45)
Hors ligne
Avez-vous bien ajouté le fichier pljava.jar ?
Julien.
https://rjuju.github.io/
Hors ligne
oui ! je l'ai fais avec cette ligne de code dans le fichier postgresql.con.f
pljava.classpath = 'H:\\Program Files\\PostgreSQL\\8.4\\share\\pljava\\pljava.jar'
je doute aussi sur la version du jdk 1.7 que j'utilise actuellement, je compte aussi le mettre à jour pour voir le comportement
Merci pour votre disponibilité
Dernière modification par pljavabruno (18/10/2012 11:54:21)
Hors ligne
Le premier message (java.lang.NoClassDefFoundError: org/postgresql/pljava/internal/Backend) fait plutôt penser que postgres ne trouve pas ce fichier jar. Vous pouvez essayer de le copier dans le sous répertoire lib plutôt que share, ce qui doit être son emplacement normal je pense.
Julien.
https://rjuju.github.io/
Hors ligne
Merci,
je l'ai fais mais aucun changement au niveau de l'érreur,
le probleme c'est que:
quand je crée une fonction pljava, tout passe bien, mais quand je fait l'appel d'une des fonction ( SELECT sqlj.java_call_handler(); ou SELECT sqlj.install_jar('H:/Program Files/PostgreSQL/8.3/share/pljava/examples.jar', 'samples', true);
par exemple), c'est là ou j'ai cette érreur
ATTENTION: java.lang.NoClassDefFoundError: org/postgresql/pljava/internal/Backend
est ce qu'il y a une façon de modier le CLASSPATH avec les fonction get_classparh() et set_classpath() fournie avec le shéma sqlj ?
Dernière modification par pljavabruno (18/10/2012 14:13:39)
Hors ligne
un très grand merci rjuju,
il me fallait tout juste redémarrer la machine completement, mais actuellement un dernier problème:
quand j'éssaie d'installer un jar dans postgresql, j'ai cette érreur:
ERREUR: java.sql.SQLException: I/O exception reading jar file: unknown protocol: h
********** Erreur **********
ERREUR: java.sql.SQLException: I/O exception reading jar file: unknown protocol: h
État SQL :XX000
Je ne sais de quel protocol est qu'il s'agit !
Merci pour de votre aide
Hors ligne
Pages : 1