Subject: [Pljava-dev] installing and configuring pljava on XP ???

From: autisi at yahoo.com (Smith Roman)
Date: Wed, 22 Apr 2009 00:26:58 -0700 (PDT)

Hi,

I am new to PL/Java. I have spent days trying to configure pljava with postgresql on my xp machine. I have read several guidelines or instructions on the web but to no avail. I keep getting a C:/Program Files/PostgreSQL/8.3/lib/pljava.dll or pljava module not found. It seems that several programmers are having this issue. Is'nt there a sure way of getting it to work painlessly.

I would really appreciate it if I can get help on this issue. 

Thanks,

Smith.

---

From: Prabhakara_Janardhan at emc.com (Prabhakara_Janardhan at emc.com)
Date: Wed, 22 Apr 2009 11:36:36 -0400

The module not found is because some dependency (which is usually
jmv.dll) is not resolved.

The Windows installer has an option of installing PL/Java. If you didn't
install PL/Java while installing PostgreSQL (which was the case for me),
then the only sure shot way of getting this to work for me was to get
the pljava.dll,pljava.jar, install.sql and uninstall.sql from another
install (*with* PL/Java) - or you can download the binaries alone from
the project site - if you don't want to build PL/Java on Windows.

Also make sure that all the dependencies for pljava.dll are resolved
(and hence it can be loaded by the postgres backend) (use a tool such as
depends: http://www.dependencywalker.com/ ). Note: pljava.dll depends on
jmv.dll from the JRE installation...

To satisfy the dependency, I had to manually add an entry to the system
wide PATH variable in the registry to point to the libjava.dll :

sub updateWindowsPathVariable(){
    #print "Current Path Variable: $PATH \n\n";
    my $CHANGED = 0;
    my $PATH =
getRegVal("HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Sessi
on Manager\\Environment","PATH");
    $PATH=~s/\\$//; # strip off the trailing backslash if it exists
    if($PATH !~ m/.*\\jre\\bin\\server/){
        $PATH="$JAVA_HOME\\jre\\bin\\server;".$PATH;
 
setRegVal("HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Sessi
on Manager\\Environment","PATH","REG_EXPAND_SZ",$PATH);
        $CHANGED = 1;
    }
    if($PATH !~ m/.*\\db\\controldb\\bin/){
 
$PATH="$########\\db\\controldb\\bin;$#######\\db\\controldb\\lib;".$PAT
H;
 
setRegVal("HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Sessi
on Manager\\Environment","PATH","REG_EXPAND_SZ",$PATH);
        $CHANGED = 1;
    }
    if($CHANGED == 1){
        my
$NEWPATH=getRegVal("HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Contr
ol\\Session Manager\\Environment","PATH");
        $ENV{"PATH"}=$NEWPATH;
        #print "New Path Variable: $NEWPATH \n\n"
    }
}

sub setRegVal(){
    my $REGISTRY_KEY="$_[0]";
    my $KEY_NAME="$_[1]";
    my $KEY_TYPE="$_[2]";
    my $KEY_VALUE="$_[3]";
    system("reg add \"$REGISTRY_KEY\" /v \"$KEY_NAME\" /t \"$KEY_TYPE\"
/d \"$KEY_VALUE\" /f >NUL") == 0 or die "Cannot update reg entry:
$REGISTRY_KEY\\$KEY_NAME\n";
}

sub getRegVal{
    my $REGISTRY_KEY="$_[0]";
    my $KEY_NAME="$_[1]";
    my $KEY_VALUE;
    open(REGQUERY,"reg query \"$REGISTRY_KEY\" /v \"$KEY_NAME\" 2>&1 |")
or die "Cannot open reg query\n";
    while (<REGQUERY>){
        if(/$KEY_NAME/){
            s/REG_SZ//g;
            s/$KEY_NAME//g;
            s/\t//g;
            s/  //g;
            $KEY_VALUE=$_;
        }
    }
    close(REGQUERY);
    chomp($KEY_VALUE);
    $KEY_VALUE;
}

Finally, I had to add the section in postgresql.conf for PL/Java (I had
to script all this up).

Is this painless? I reckon not... But it works for me.

-Janardhan Prabhakara

-----Original Message-----
From: pljava-dev-bounces at pgfoundry.org
[mailto:pljava-dev-bounces at pgfoundry.org] On Behalf Of Smith Roman
Sent: Wednesday, April 22, 2009 2:27 AM
To: pljava-dev at pgfoundry.org
Subject: [Pljava-dev] installing and configuring pljava on XP ???

Hi,

I am new to PL/Java. I have spent days trying to configure pljava with
postgresql on my xp machine. I have read several guidelines or
instructions on the web but to no avail. I keep getting a C:/Program
Files/PostgreSQL/8.3/lib/pljava.dll or pljava module not found. It seems
that several programmers are having this issue. Is'nt there a sure way
of getting it to work painlessly.

Thanks,

Smith.

_______________________________________________
Pljava-dev mailing list
Pljava-dev at pgfoundry.org
http://pgfoundry.org/mailman/listinfo/pljava-dev

---

From: autisi at yahoo.com (Smith Roman)
Date: Thu, 23 Apr 2009 00:27:25 -0700 (PDT)

Hi,Well what your proposing is certainly not a painless alternative. ?I have no experience on manipulating windows registry. To be frank, I don't know how to do what your proposing. But will reinstalling postgresql 8.3 with the pljava option enabled do the trick ? This sounds like a more easier option to me.
Thanks,Smith
--- On Wed, 4/22/09, Prabhakara_Janardhan at emc.com <Prabhakara_Janardhan at emc..com> wrote:
From: Prabhakara_Janardhan at emc.com <Prabhakara_Janardhan at emc.com>
Subject: RE: [Pljava-dev] installing and configuring pljava on XP ???
To: autisi at yahoo.com, pljava-dev at pgfoundry.org
Date: Wednesday, April 22, 2009, 3:36 PM

       
 
setRegVal("HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Sessi
on
Manager\\Environment","PATH","REG_EXPAND_SZ",$PATH);
        $CHANGED = 1;
    }
    if($PATH !~ m/.*\\db\\controldb\\bin/){

on
Manager\\Environment","PATH","REG_EXPAND_SZ",$PATH);

sub setRegVal(){
    my $REGISTRY_KEY="$_[0]";
    my $KEY_NAME="$_[1]";
    my $KEY_TYPE="$_[2]";
    my $KEY_VALUE="$_[3]";
    system("reg add \"$REGISTRY_KEY\" /v
\"$KEY_NAME\" /t \"$KEY_TYPE\"
/d \"$KEY_VALUE\" /f >NUL") == 0 or die "Cannot
update reg entry:
$REGISTRY_KEY\\$KEY_NAME\n";
}

sub getRegVal{
    my $REGISTRY_KEY="$_[0]";
    my $KEY_NAME="$_[1]";
    my $KEY_VALUE;
    open(REGQUERY,"reg query \"$REGISTRY_KEY\" /v
\"$KEY_NAME\" 2>&1 |")
or die "Cannot open reg query\n";
    while (<REGQUERY>){
        if(/$KEY_NAME/){
            s/REG_SZ//g;
            s/$KEY_NAME//g;
            s/\t//g;
            s/  //g;
            $KEY_VALUE=$_;
        }
    }
    close(REGQUERY);
    chomp($KEY_VALUE);
    $KEY_VALUE;
}

-Janardhan Prabhakara

-----Original Message-----

Hi,

Thanks,

Smith.

      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pgfoundry.org/pipermail/pljava-dev/attachments/20090423/cc02d0dd/attachment.html>

---

From: Prabhakara_Janardhan at emc.com (Prabhakara_Janardhan at emc.com)
Date: Thu, 23 Apr 2009 11:51:02 -0400

Yes! :)

________________________________

From: Smith Roman [mailto:autisi at yahoo.com] 
Sent: Thursday, April 23, 2009 2:27 AM
To: Prabhakara, Janardhan
Cc: pljava-dev at pgfoundry.org
Subject: RE: [Pljava-dev] installing and configuring pljava on XP ???

Hi,

Well what your proposing is certainly not a painless alternative.  I
have no experience on manipulating windows registry. To be frank, I
don't know how to do what your proposing. But will reinstalling
postgresql 8.3 with the pljava option enabled do the trick ? This sounds
like a more easier option to me.

Thanks,

Smith

--- On Wed, 4/22/09, Prabhakara_Janardhan at emc.com
<Prabhakara_Janardhan at emc.com> wrote:

	From: Prabhakara_Janardhan at emc.com
<Prabhakara_Janardhan at emc.com>
	Subject: RE: [Pljava-dev] installing and configuring pljava on
XP ???
	To: autisi at yahoo.com, pljava-dev at pgfoundry.org
	Date: Wednesday, April 22, 2009, 3:36 PM

	The module not found is because
	 some dependency (which is usually
	jmv.dll) is not resolved.
	
	The Windows installer has an option of installing PL/Java. If
you didn't
	install PL/Java while installing PostgreSQL (which was the case
for me),
	then the only sure shot way of getting this to work for me was
to get
	the pljava.dll,pljava.jar, install.sql and uninstall.sql from
another
	install (*with* PL/Java) - or you can download the binaries
alone from
	the project site - if you don't want to build PL/Java on
Windows.
	
	Also make sure that all the dependencies for pljava.dll are
resolved
	(and hence it can be loaded by the postgres backend) (use a tool
such as
	depends: http://www.dependencywalker.com/ ). Note: pljava.dll
depends on
	jmv.dll from the JRE installation...
	
	To satisfy the dependency, I had to manually add an entry to the
system
	wide PATH variable in the registry to point to the libjava.dll :

getRegVal("HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Sessi
	on Manager\\Environment","PATH");
	    $PATH=~s/\\$//; # strip off the trailing backslash if it
exists
	    if($PATH !~ m/.*\\jre\\bin\\server/){

	
	
	sub setRegVal(){
	
	sub getRegVal{
	
	Finally, I had to add the section in postgresql.conf for PL/Java
(I had
	to script all this up).

	-Janardhan Prabhakara

	-----Original Message-----
	From: pljava-dev-bounces at pgfoundry.org
	[mailto:pljava-dev-bounces at pgfoundry.org] On Behalf Of Smith
Roman
	Sent: Wednesday, April 22, 2009 2:27 AM
	To: pljava-dev at pgfoundry.org
	Subject: [Pljava-dev] installing and configuring pljava on XP
???

	Hi,
	
	I am new to PL/Java. I have spent days trying to configure
pljava with
	postgresql on my xp machine. I have read several guidelines or
	instructions on the web but to no avail. I keep getting a
C:/Program
	Files/PostgreSQL/8.3/lib/pljava.dll or pljava module not found.
It seems
	that several programmers are having this issue. Is'nt there a
sure way
	of getting it to work painlessly.

	Thanks,
	
	Smith.

	

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pgfoundry.org/pipermail/pljava-dev/attachments/20090423/cef7175f/attachment.html>

---

From: books at ejurka.com (Kris Jurka)
Date: Thu, 23 Apr 2009 08:54:20 -0700

While Janardhan's instructions are accurate, they are overcomplicating 
things.  In all likelihood you just don't have jvm.dll on your PATH and 
there are certainly easier ways to fix that than scripting registry 
edits.  Simply do a search to find "jvm.dll" on your computer and add 
that directory to the system PATH environment variable.  Then restart 
your postgresql server and you should be able to install pljava.

Kris Jurka

Smith Roman wrote:
> --- On *Wed, 4/22/09, Prabhakara_Janardhan at emc.com 
> /<Prabhakara_Janardhan at emc.com>/* wrote:
> 
> ------------------------------------------------------------------------
>

---

From: books at ejurka.com (Kris Jurka)
Date: Thu, 23 Apr 2009 08:56:26 -0700

Using the installer to install pljava will only work if you already have 
jvm.dll on your path.  The installer won't touch the PATH environment 
variable.  So fix up your path first before trying anything else.

Prabhakara_Janardhan at emc.com wrote:
> *From:* Smith Roman [mailto:autisi at yahoo.com]
> *Sent:* Thursday, April 23, 2009 2:27 AM
> *To:* Prabhakara, Janardhan
> *Cc:* pljava-dev at pgfoundry.org
> *Subject:* RE: [Pljava-dev] installing and configuring pljava on XP ???
> 
> Hi,
>

---

From: autisi at yahoo.com (Smith Roman)
Date: Fri, 24 Apr 2009 00:23:20 -0700 (PDT)

Hi,

My PATH is set as follows:
C:\Program Files\Java\jdk1.6.0\bin;C:\Program Files\Java\jre1.6.0\bin;C:\Program Files\Java\jre1.6.0\bin\client

classpath: .;C:\Program Files\PostgreSQL\8.3\share\pljava\pljava.jar

and i am still getting this error messsage:

 ERROR: could not load library "C:/Program Files/PostgreSQL/8.3/lib/pljava.dll": The specified module could not be found.
SQL state: 58P01 when i run the install.sql script.

here's my postgres config file setting:
 
dynamic_library_path = '$libdir;C:\\Program Files\\PostgreSQL\\8.3\\share\\pljava'
custom_variable_classes = 'pljava'
pljava.classpath='C:\\Program Files\\PostgreSQL\\8.3\\share\\pljava.jar'

Roman.

--- On Thu, 4/23/09, Kris Jurka <books at ejurka.com> wrote:

> From: Kris Jurka <books at ejurka.com>
> Subject: Re: [Pljava-dev] installing and configuring pljava on XP ???
> To: autisi at yahoo.com
> Cc: Prabhakara_Janardhan at emc.com, pljava-dev at pgfoundry.org
> Date: Thursday, April 23, 2009, 3:54 PM
> While Janardhan's instructions are accurate, they are
> overcomplicating things.  In all likelihood you just
> don't have jvm.dll on your PATH and there are certainly
> easier ways to fix that than scripting registry edits. 
> Simply do a search to find "jvm.dll" on your
> computer and add that directory to the system PATH
> environment variable.  Then restart your postgresql server
> and you should be able to install pljava.
> 
> Kris Jurka
> 
> Smith Roman wrote:
> > Hi,
> > 
> > Well what your proposing is certainly not a painless
> alternative.  I have no experience on manipulating windows
> registry. To be frank, I don't know how to do what your
> proposing. But will reinstalling postgresql 8.3 with the
> pljava option enabled do the trick ? This sounds like a more
> easier option to me.
> > 
> > Thanks,
> > 
> > Smith
> > 
> > 
> Manager\\Environment","PATH");
> >     /d \"$KEY_VALUE\" /f
> >NUL") == 0 or die "Cannot
> >     update reg entry:
> >     \"$KEY_NAME\" 2>&1
> |")