PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 Re : Installation » Windows 7 - postgresql-9.0.4-1-windows_x64.exe : manque des scripts? » 09/12/2011 22:32:41

J'en profite pour savoir comment configurer GlassFish 3 sous Windows 7 de manière à ce que NetBeans 7 ne me demande plus le code utilisateur/mot de passe administrateur à chaque lancement. Je ne veux pas supprimer ce mot de passe pour autant. Sous MAC OS X avec NetBeans 6.8 et GlassFish 2.11, aucun mot de passe / code utilisateur administrateur ne m'est demandé (mais je dois les rentrer pour aller dans le console via l'URL http://localhost:4848/login.jsf).
Merci d'avance.

#2 Re : Installation » Windows 7 - postgresql-9.0.4-1-windows_x64.exe : manque des scripts? » 04/09/2011 17:53:47

Je suis tombé sur ça : http://download.oracle.com/docs/cd/E189 … html#gjksj

PostgreSQL Type 4 Driver

The JAR file for the PostgreSQL driver is postgresql-9.0-801.jdbc4.jar. Configure the connection pool using the following settings:

      Name: Use this name when you configure the JDBC resource later.
      Resource Type: Specify the appropriate value.
      Database Vendor: Postgresql
      DataSource Classname: org.postgresql.ds.PGSimpleDataSource
      Properties:
            serverName – Specify the host name or IP address of the database server.
            portNumber – Specify the port number of the database server.
            databaseName – Set as appropriate.
            user – Set as appropriate.
            password – Set as appropriate.

Ca marche (il fallait aussi mettre le même mot de passe pour le rôle de connection, via PGAdmin III), et le ping est OK.
MAIS j'en conclu qu'il est impossible d'utiliser le pooling de connections avec ce driver JDBC 4 sad

#3 Re : Installation » Windows 7 - postgresql-9.0.4-1-windows_x64.exe : manque des scripts? » 04/09/2011 15:02:34

gleu a écrit :

Il n'y a plus les outils "Start PostgreSQL" et "Stop PostgreSQL". Ceci dit, ils sont faciles à refaire, il s'agit d'un simple appel à l'outil Services (je crois qu'il suffit d'un "net start postgresql-9.0" si 9.0 est la version installée).

Quant à gérer les services Windows, une question qui serait mieux à poser sur un forum Windows smile, Il suffit d'aller dans le panneau de contrôle, Outils d'administration, Services.

Cet article pourrait vous aider : http://www.dalibo.org/installation_de_p … us_windows

Et bien maintenant, j'essaie de créer un Pool de Connection pour JDBC, et là, GlassFish 3.11 a une interface d'administration qui est hélas différente de le 2.11...
Question 1 : où placer le JAR "postgresql-9.0-801.jdbc4.jar" (on doit prendre JDBC 4 si j'ai bien compris, car c'est Java 1.6 qui tourne sur mon Wondows 7) ? Sur mon iMAC, je l'avais mis la version JDBC 3 pour PostgreSQL 8.4 dans deux endroits :

/Applications/5-PROGRAMMATION/Glassfishv2/glassfish/domains/domain1/lib/ext/postgresql-8.4-701.jdbc3.jar
/Applications/5-PROGRAMMATION/Glassfishv2/glassfish/lib/postgresql-8.4-701.jdbc3.jar
Plus le chemin d'un application qui l'utilise : /Users/jacquespiotrowski/NetBeansProjects/xxxxx/build/web/WEB-INF/lib/postgresql-8.4-701.jdbc3.jar

Peut-être redondant sur les deux premiers emplacement. Mais pour 9.1 sous Windows, je n'arrive pas à la faire apparaître dans la liste déroulante du premier écran de création du Pool. Pire dans "nom de classe de la source de données", seul "org.postgresql.ds.PGSimpleDataSource" disponible, pas "org.postgresql.ds.PGPoolingDataSource"...

Galère !

#4 Re : Installation » Windows 7 - postgresql-9.0.4-1-windows_x64.exe : manque des scripts? » 31/08/2011 21:57:07

gleu a écrit :

Il n'y a plus les outils "Start PostgreSQL" et "Stop PostgreSQL". Ceci dit, ils sont faciles à refaire, il s'agit d'un simple appel à l'outil Services (je crois qu'il suffit d'un "net start postgresql-9.0" si 9.0 est la version installée).

Quant à gérer les services Windows, une question qui serait mieux à poser sur un forum Windows smile, Il suffit d'aller dans le panneau de contrôle, Outils d'administration, Services.

Cet article pourrait vous aider : http://www.dalibo.org/installation_de_p … us_windows

Merci bien. Nos réponses se sont croisées. J'ai mis en signets l'ensemble des liens cités : toujours utile.
Mes pauvres connaissances de Windows remontent à la version 95, voire la 3.11 : une époque héroïque s'il y en fut !
Et si je l'utilise au boulot, c'est seulement pour des choses basiques, étant plutôt orienté mainframe sous Z/OS (cobol, cics, db2, ims, tso, etc...).

#5 Re : Installation » Windows 7 - postgresql-9.0.4-1-windows_x64.exe : manque des scripts? » 31/08/2011 21:49:33

J'ai trouvé ici comment déclarer un service Windows en mode manuel : http://www.pcastuces.com/pratique/windo … /page2.htm
Il faut utiliser "services.msc". J'ai dupliqué sur le bureau le raccourci présent dans les outils d'administration.
smile

#6 Installation » Windows 7 - postgresql-9.0.4-1-windows_x64.exe : manque des scripts? » 31/08/2011 21:11:24

jpiotrowski
Réponses : 7

Bonjour,

après avoir installé sans problèmes postgresql-9.0.4-1-windows_x64.exe sur mon portable sous Windows 7, je désire pouvoir lancer et stopper le serveur à ma guise...alors qu'il s'agit d'un service qui a été configuré à l'installation pour démarrer au lancement de Windows. Et dans le dossier de PostgreSQL, il n'y a plus les mini-applications "Start PostgreSQL" et "Stop PostgreSQL" !

Donc deux questions :

1) comment gérer les services Windows ? J'ai rien trouvé ou alors je suis très bête wink mais je n'ai pas utilisé Windows depuis Windows 95, en 1997/1999...
2) où sont cachées les applications "Start PostgreSQL" et "Stop PostgreSQL" ?

Merci beaucoup de votre aide.

PS la version 8.4 est plus cool sous MAC OS X 10.5 pour ça...

#7 Re : Java » GlassFish v2.11 - DataSource - JNDI » 10/02/2011 20:01:16

Et bie ça ne marche plus le lendemain : il manquait des choses.

Voici ce qui marche (Java) :
            Context initCtx = new InitialContext();
            System.out.println("InitialContext OK");
            Context envCtx = (Context) initCtx.lookup("java:comp/env");
            System.out.println("initCtx.lookup OK");
            DataSource ds = (DataSource) envCtx.lookup("jdbc/postgresql");
            System.out.println("envCtx.lookup OK");
            Connection conn = ds.getConnection();
            System.out.println("getConnection OK");
            conn.close();
            System.out.println("close OK");
Je vous passe le détail entre getConnection() et close().

MAIS il fallait modifier le pool de connexion ainsi :

Nom : PostgresPool
Nom de classe de la source de données : org.postgresql.ds.PGPoolingDataSource
Type de ressource : java.sql.DataSource

Tout le reste par défaut.

Propriétés:

databaseName : ****
portNumber : 5432
DataSourceName : jdbc/postgresql
serverName : localhost
password : *****
user : ****
JDBC30DataSource: true

Et surtout dans sun-web.xml (j'utilise NetBeans 6.8) :

  <resource-ref>
    <res-ref-name>jdbc/postgresql</res-ref-name>
    <jndi-name>jdbc/postgresql</jndi-name>
    <default-resource-principal>
      <name>****</name>
      <password>****</password>
    </default-resource-principal>
  </resource-ref>

Vous remarquerez la distinction possible entre le nom JNDI et sa référence. Pour JDBC, on a la même chose, mais pour d'autres ressources, Glassfish admet une distinction possible.

Donc, définir correctement un pool de connexions et une ressource JDNI dans le serveur JEE n'est pas suffisant : il faut déclarer pas mal de choses
dans les fichiers de configuration de l'application web...

#8 Re : Java » GlassFish v2.11 - DataSource - JNDI » 08/02/2011 00:54:31

Bon, j'arrive enfin à quelque chose : la connection marche enfin...

        org.postgresql.ds.PGSimpleDataSource source2 = new org.postgresql.ds.PGSimpleDataSource();
        Context context = null;
        try {
            context = new InitialContext();

        } catch (NamingException ne) {
            throw new Exception(ne.getMessage());
        }
        source2 = (PGSimpleDataSource)  context.lookup("java:comp/env/jdbc/postgresql");
        connection = source2.getConnection();
        System.out.println("JNDI OK");

Et aussi n'oublions pas web.xml :

    <resource-ref>
        <res-ref-name>jdbc/postgresql</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
        <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>

Le pool de connexions :

Nom : PostgresPool
Nom de classe de la source de données : org.postgresql.jdbc3.Jdbc3ConnectionPool
Type de ressource : javax;sql.ConnectionPoolDataSource
Tout le reste par défaut.
Propriétés:
databaseName : ****
portNumber : 5432
DataSourceName : jdbc/postgresql
serverName : localhost
password : *****
user : ****

La Ressources JDBC :

Nom JNDI : jdbc/postgresql
Nom du Pool :  PostgresPool
Statut : activé

Je verrai plus tard pour les pools de connection (rappel : org.postgresql.ds.PGSimpleDataSource)
(PS : c'est dans le cadre d'une application Web).

Bon, je vais dormir, une dure et palpitante journée m'attend demain sad

#9 Java » GlassFish v2.11 - DataSource - JNDI » 07/02/2011 22:02:01

jpiotrowski
Réponses : 3

Bonjour,

l'exemple http://jdbc.postgresql.org/documentatio … bc-ds-jndi me semble inadéquat. JNDI est surtout fait pour justement ne avoir à renseigner les attributs d'une DataSource dans le code source d'une classe :

Jdbc3PoolingDataSource source = new Jdbc3PoolingDataSource();

source.setDataSourceName("A Data Source");
source.setServerName("localhost");
source.setDatabaseName("test");
source.setUser("testuser");
source.setPassword("testpassword");
source.setMaxConnections(10);
new InitialContext().rebind("DataSource", source);

J'aurai plutôt vu ceci :

        Context ctx = null;
        try {
            ctx = new InitialContext();
            source = (Jdbc3PoolingDataSource) (DataSource) ctx.lookup("java:comp/env/jdbc/postgresql"); /* forçage proposé par NetBeans */
            connection = source.getConnection();
        } catch (NamingException ne) {
            throw new Exception(ne.getMessage());
        }

Alors, comment utiliser un pool de connexion via JNDI, enregistré dans GlassFish v2.11 ?

#10 Re : Java » Version du driver JDBC pour postgresql v8.3.X » 01/11/2010 17:14:18

Bonjour,
j'ai eu une drôle de surprise avec ces drivers. Je suis sous MAC OS X 10.5 et j'utilise NetBeans 6.8; Bien que MAC OS X reste sous Java 1.5, j'avais pu passer à 1.6 qui est installée mais pas activée en bidouillant le lien "CurrentJDK" dans "/System/Library/Frameworks/JavaVM.framework/Versions" pour le faire pointer vers "1.6" au lieu de "1.5" (ces derniers étant eux mêmes un lien vers "1.6.0" et "1.5.0", et c'est pas fini car il y a un pointeur "Current" qui pointe vers le répertoire "A"...)
0 drwxr-xr-x  15 root  wheel  510 21 oct 20:27 ./
0 drwxr-xr-x  12 root  wheel  408 21 oct 20:27 ../
8 lrwxr-xr-x   1 root  wheel    5 21 oct 20:27 1.3@ -> 1.3.1
0 drwxr-xr-x   3 root  wheel  102 29 sep  2007 1.3.1/
8 lrwxr-xr-x   1 root  wheel    5  3 sep  2009 1.4@ -> 1.4.2
8 lrwxr-xr-x   1 root  wheel    3 28 jui  2008 1.4.1@ -> 1.4
0 drwxr-xr-x   8 root  wheel  272 15 nov  2007 1.4.2/
8 lrwxr-xr-x   1 root  wheel    5 21 oct 20:27 1.5@ -> 1.5.0
0 drwxr-xr-x   8 root  wheel  272 15 nov  2007 1.5.0/
8 lrwxr-xr-x   1 root  wheel    5 21 oct 20:27 1.6@ -> 1.6.0
8 lrwxr-xr-x   1 root  wheel   59 21 oct 20:27 1.6.0@ -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
0 drwxr-xr-x  10 root  wheel  340 21 oct 20:27 A/
8 lrwxr-xr-x   1 root  wheel    1 21 oct 20:27 Current@ -> A
8 lrwxr-xr-x   1 root  wheel    3 21 oct 20:27 CurrentJDK@ -> 1.5

java version "1.5.0_26"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_26-b03-376-9M3263)
Java HotSpot(TM) Client VM (build 1.5.0_26-156, mixed mode, sharing)


Et puis vient la récente mise à jour : je suis repassé en version 1.5 ! Mais le plus drôle n'est pas là. J'ai un projet JSF 1.2 / JavaBeans / PostgreSQL 8.4 qui utilise le driver "postgresql-8.4-701.jdbc4.jar" donc adapté à Java 1.6. Et bien tout marchait bien  (compilation, deploiement, exécution) jusqu'à ce qu'avec NetBeans je fasse un "Clean and Build" quelques temps après cette mise à jour Java par Apple. Et là il me dit que c'est pas bonne version de driver. Donc je repasse au "postgresql-8.4-701.jdbc3.jar". Et tout remarche. Mais comment ça pouvait marcher avec le driver pour 1.6 avec Java 1.5 ? Les deux drivers étaient déclarés dans le projet, mais le jdbc4 était décoché...

Pied de page des forums

Propulsé par FluxBB