Re: user can't access own database after creation - Mailing list pgsql-jdbc

From Dave Cramer
Subject Re: user can't access own database after creation
Date
Msg-id CADK3HHJ_xQdEyaL9K+s4rSKHjOtfyyP9Xw81VnBZ-7+sDy0meg@mail.gmail.com
Whole thread Raw
In response to Re: user can't access own database after creation  (Nuno Zimas <nzimas@gmail.com>)
List pgsql-jdbc
It's possible that some other properties file is being read afterwards that is over writing these


On 3 December 2015 at 11:09, Nuno Zimas <nzimas@gmail.com> wrote:
It’s actually “funnier” than that.
Apparently, some properties get processed.
For instance, changes to properties.put(PersistenceUnitProperties.JDBC_URL become visible in the log, whereas properties.put(PersistenceUnitProperties.LOGGING_LEVEL so not seem to.

--
Nuno Zimas
Systems Administrator & Web Developer


On 3 Dec 2015, at 16:00, Edson Richter <edsonrichter@hotmail.com> wrote:

Well, being so (no difference), then your problem is: your properties are being just ignored!
If I change the logging level in my EclipseLink app, I get a huge difference.
So, seems your problem is related to EclipseLink dynamic properties, which is not standard, and I would reccomend you to start digging at EclipseLink mail list.

Sorry not being of any help, at the end.

Regards,

Edson Richter
Atenciosamente,

Edson Carlos Ericksson Richter
Em 03/12/2015 13:39, Nuno Zimas escreveu:
On 3 Dec 2015, at 15:28, Edson Richter <edsonrichter@hotmail.com> wrote:

Would you change the following and check logs again:

from
properties.put(PersistenceUnitProperties.LOGGING_LEVEL, "CONFIG");

to
properties.put(PersistenceUnitProperties.LOGGING_LEVEL, "ALL");


Had done that already and then recompiled.
Getting the exact same level of detail, though.

According with this page (http://www.eclipse.org/eclipselink/documentation/2.5/jpa/extensions/p_logging_level.htm), the CONFIG will not log stacktraces.

Atenciosamente,

Edson Carlos Ericksson Richter
Em 03/12/2015 12:53, Nuno Zimas escreveu:
I’ve replaced postgresql-9.4-1201.jdbc4.jar with postgresql-9.4-1206.jdbc42.jar, then renamed it back to postgresql-9.4-1201.jdbc4.jar so that the application could see it.

As suggested buy Edson, I’ve passed an argument to the jdbc URL to increase verbosity, but without success.

2015-12-03 14:47:22,540 INFO  [benexus.nzimas.com-startStop-1] log.Log4jLogger - # init "benexus"
2015-12-03 14:47:23,027 WARN  [benexus.nzimas.com-startStop-1] log.Log4jLogger - the entity manager of "benexus" has not been initialized
2015-12-03 14:47:23,028 ERROR [benexus.nzimas.com-startStop-1] log.Log4jLogger - smartdoc postgres jdbc:postgresql://10.10.10.100:5432/benexus?loglevel=2
2015-12-03 14:47:23,600 INFO  [benexus.nzimas.com-startStop-1] log.Log4jLogger - # init template "Task"
2015-12-03 14:47:24,833 INFO  [benexus.nzimas.com-startStop-1] log.Log4jLogger - # init template "CashTracker"
2015-12-03 14:47:26,170 INFO  [main] impl.StdSchedulerFactory - Using default implementation for ThreadExecutor
2015-12-03 14:47:26,177 INFO  [main] simpl.SimpleThreadPool - Job execution threads will 

On 3 Dec 2015, at 14:28, Edson Richter <edsonrichter@hotmail.com> wrote:

Well, I don't use JDBC methods directly - just like the OP, I do use JPA for database access, and set "Target Database" to PostgreSQL - IN THIS SPECIFIC CASE - is enough so it will not throw any errors.

I would still put by coins in generating a verbose log. OP shall be facing other issue, not a JDBC issue at all.

I've more than 7 years working with PgSQL, JPA and JDBC, and found only one "prepared statment" glitch with JDBC+timezone+DST, which can be easly solved with "prepareThreshold=0" in connection string - I don't even think it is a JDBC issue, but a server side prepared statements issue.
All other issues I've faced so far were caused by my own mistakes on setting configuration parameters.

Atenciosamente,

Edson Carlos Ericksson Richter
Em 03/12/2015 12:19, Dave Cramer escreveu:
However if the appserver attempts to use a jdk 1.8 JDBC method it will fail miserably. As long as you stay to jdk 1.6 methods you will be fine with those JVM's


On 3 December 2015 at 09:15, Edson Richter <edsonrichter@hotmail.com> wrote:
This is the same I use in production servers either with JDK 1.7_80 and 1.8_65.
Also, postgresql-9.3-1101.jdbc41.jar works well with both Java versions.

Atenciosamente,

Edson Carlos Ericksson Richter
Em 03/12/2015 11:57, Nuno Zimas escreveu:
The jar is named postgresql-9.4-1201.jdbc4.jar

Nuno.

--
Nuno Zimas
Systems Administrator & Web Developer


On 3 Dec 2015, at 13:27, Dave Cramer <pg@fastcrypt.com> wrote:

OK, so what version of the postgresql driver are you using. It should have a 42 in the name if you are using java 8


On 3 December 2015 at 08:25, Nuno Zimas <nzimas@gmail.com> wrote:

We're using the same Java version on both the local windows machine and the remote Ubuntu server.

JRE 1.8.0_65.

On 3 Dec 2015, at 12:30, Dave Cramer <pg@fastcrypt.com> wrote:
If I had to guess what was wrong here I'd look at whether you have the right jar for the java version you are using. It will fail silently if not


On 3 December 2015 at 07:26, Edson Richter <edsonrichter@hotmail.com> wrote:
You can add additional logging JPA and JDBC specific:

JPA:
With EclipseLink, I do use the following property:

      <property name="eclipselink.logging.level" value="DEBUG"/>

You can set it at runtime, but you should look at it - and also check if your provider has similar option.
In my application, I've left all defaults in configuration file (persistence.xml), and just adjust the custom properties at runtime.

JDBC:
You can add higher logging for jdbc itself with

jdbc:postgresql:// 10.10.10.100:5432/benexus?loglevel=2


Double check configuration:
Just in case, to make connections out of 127.0.0.1 you must configure postgres with "listen_address = '10.10.10.100' or listen_address='*' and port = '5432' in postgresql.conf; also in pg_hba.conf you must have the line "host all all 10.10.10.99/32 md5".


Atenciosamente,

Edson Carlos Ericksson Richter
Em 03/12/2015 09:56, Nuno Zimas escreveu:
This is as much as I can get from the application log.
Relevant bit is shown in bold.

2015-12-03 11:51:26,821 INFO  [main] log.Log4jLogger - 2Next 1.0.0 start
2015-12-03 11:51:26,823 INFO  [main] log.Log4jLogger - copyright(c) the flabser team 2015. All Right Reserved
2015-12-03 11:51:26,824 INFO  [main] log.Log4jLogger - OS: Linux 2.6.32-34-pve(amd64), jvm: 1.8.0_65
2015-12-03 11:51:26,878 INFO  [main] log.Log4jLogger - initialize runtime environment
2015-12-03 11:51:28,160 INFO  [main] log.Log4jLogger - webServer will use port: 8080
2015-12-03 11:51:28,680 INFO  [main] log.Log4jLogger - mailAgent will redirect some messages to host: smtp.mail.ru
2015-12-03 11:51:28,682 DEBUG [main] log.Log4jLogger - build: 11:44 3-December-2015
2015-12-03 11:51:28,690 DEBUG [main] log.Log4jLogger - init webserver ...
2015-12-03 11:51:29,429 INFO  [main] log.Log4jLogger - load "benexus( benexus.nzimas.com)"
2015-12-03 11:51:29,701 INFO  [main] log.Log4jLogger - load "FlabserPromo( flabser.com)"
2015-12-03 11:51:29,767 DEBUG [main] log.Log4jLogger - register REST handler "flabserpromo.rest.Service"
2015-12-03 11:51:29,776 INFO  [main] log.Log4jLogger - load "Task"
2015-12-03 11:51:29,813 DEBUG [main] log.Log4jLogger - register REST handler "task.rest.IssueService"
2015-12-03 11:51:29,831 DEBUG [main] log.Log4jLogger - register REST handler "task.rest.TagService"
2015-12-03 11:51:29,837 INFO  [main] log.Log4jLogger - load "administrator( helloadmin.info)"
2015-12-03 11:51:29,845 INFO  [main] log.Log4jLogger - load "CashTracker"
2015-12-03 11:51:29,860 DEBUG [main] log.Log4jLogger - register REST handler "cashtracker.rest.AccountService"
2015-12-03 11:51:29,863 DEBUG [main] log.Log4jLogger - register REST handler "cashtracker.rest.BudgetService"
2015-12-03 11:51:29,865 DEBUG [main] log.Log4jLogger - register REST handler "cashtracker.rest.CategoryService"
2015-12-03 11:51:29,868 DEBUG [main] log.Log4jLogger - register REST handler "cashtracker.rest.CostCenterService"
2015-12-03 11:51:29,870 DEBUG [main] log.Log4jLogger - register REST handler "cashtracker.rest.DashboardService"
2015-12-03 11:51:29,872 DEBUG [main] log.Log4jLogger - register REST handler "cashtracker.rest.ReportsService"
2015-12-03 11:51:29,874 DEBUG [main] log.Log4jLogger - register REST handler "cashtracker.rest.TagService"
2015-12-03 11:51:29,876 DEBUG [main] log.Log4jLogger - register REST handler "cashtracker.rest.TransactionService"
2015-12-03 11:51:29,913 INFO  [main] log.Log4jLogger - load "ImmigrationService( aikonamedia.kz)"
2015-12-03 11:51:29,979 DEBUG [main] log.Log4jLogger - register REST handler "immigrationservice.rest.Service"
2015-12-03 11:51:30,057 INFO  [main] log.Log4jLogger - webserver start ( 10.10.10.99:8080)
2015-12-03 11:51:33,913 INFO  [ flabser.com-startStop-1] log.Log4jLogger - # init "FlabserPromo"
2015-12-03 11:51:35,192 INFO  [aikonamedia.kz-startStop-1] log.Log4jLogger - # init "ImmigrationService"
2015-12-03 11:51:36,478 INFO  [ helloadmin.info-startStop-1] log.Log4jLogger - # init "administrator"
2015-12-03 11:51:37,080 INFO  [benexus.nzimas.com-startStop-1] log.Log4jLogger - # init "benexus"
2015-12-03 11:51:37,616 WARN  [benexus.nzimas.com-startStop-1] log.Log4jLogger - the entity manager of "benexus" has not been initialized
2015-12-03 11:51:37,617 ERROR [benexus.nzimas.com-startStop-1] log.Log4jLogger - smartdoc postgres jdbc:postgresql://10.10.10.100:5432/benexus
2015-12-03 11:51:38,217 INFO  [ benexus.nzimas.com-startStop-1] log.Log4jLogger - # init template "Task"
2015-12-03 11:51:39,508 INFO  [ benexus.nzimas.com-startStop-1] log.Log4jLogger - # init template "CashTracker"
2015-12-03 11:51:40,859 INFO  [main] impl.StdSchedulerFactory - Using default implementation for ThreadExecutor
2015-12-03 11:51:40,866 INFO  [main] simpl.SimpleThreadPool - Job execution threads will use class loader of thread: main
2015-12-03 11:51:40,929 INFO  [main] core.SchedulerSignalerImpl - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
2015-12-03 11:51:40,931 INFO  [main] core.QuartzScheduler - Quartz Scheduler v.2.1.7 created.
2015-12-03 11:51:40,934 INFO  [main] simpl.RAMJobStore - RAMJobStore initialized.
2015-12-03 11:51:40,937 INFO  [main] core.QuartzScheduler - Scheduler meta-data: Quartz Scheduler (v2.1.7) 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED'
  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
  NOT STARTED.
  Currently in standby mode.
  Number of jobs executed: 0
  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.

2015-12-03 11:51:40,938 INFO  [main] impl.StdSchedulerFactory - Quartz scheduler 'DefaultQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
2015-12-03 11:51:40,939 INFO  [main] impl.StdSchedulerFactory - Quartz scheduler version: 2.1.7
2015-12-03 11:51:40,964 INFO  [main] core.QuartzScheduler - Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
2015-12-03 11:51:40,986 DEBUG [Thread-6] log.Log4jLogger - add context "Task/1o7r2598w77d0w13" application...
2015-12-03 11:51:41,072 DEBUG [Thread-6] log.Log4jLogger - register REST handler "task.rest.IssueService"
2015-12-03 11:51:41,074 DEBUG [Thread-6] log.Log4jLogger - register REST handler "task.rest.TagService"
2015-12-03 11:51:41,122 INFO  [Thread-6] log.Log4jLogger - users contexts are ready
2015-12-03 11:52:00,061 INFO  [DefaultQuartzScheduler_Worker-1] log.Log4jLogger - start temp file cleaner tasks
2015-12-03 11:52:00,082 INFO  [DefaultQuartzScheduler_Worker-2] log.Log4jLogger - start database remover task



On 2 Dec 2015, at 22:17, Dave Cramer < pg@fastcrypt.com> wrote:

Yes, JDBC is still involved. I'd say there is a mistake in the JPA config


On 2 December 2015 at 17:15, Nuno Zimas <nzimas@gmail.com> wrote:
The programmer says that she relies on JPA to establish the connection, but I suppose that JDBC is still involved, otherwise i can’t see how java would talk to postgresql. 
Unless JPA does so directly.
Like I said, Java really isn’t my thing.



On 2 Dec 2015, at 22:05, Nuno Zimas < nzimas@gmail.com> wrote:


Thanks a lot, everyone (and specially Dave Cramer).
Now I know the issue is not JDBC related.
Not sure of this is good news for me, though :)

I’d think that the application needs to be amended.
Still, this does not account for the fact that it works on a local win machine.

As you can see, Dave’s little program connects like a charm,

2015-12-02 17:00:22 EST [2408-1] postgres@postgres LOG:  duration: 16.239 ms  parse <unnamed>: SET extra_float_digits = 3
2015-12-02 17:00:22 EST [2408-2] postgres@postgres LOG:  duration: 0.023 ms  bind <unnamed>: SET extra_float_digits = 3
2015-12-02 17:00:22 EST [2408-3] postgres@postgres LOG:  duration: 0.031 ms  execute <unnamed>: SET extra_float_digits = 3
2015-12-02 17:00:22 EST [2408-4] postgres@postgres LOG:  duration: 0.217 ms  parse <unnamed>: select 1
2015-12-02 17:00:22 EST [2408-5] postgres@postgres LOG:  duration: 0.100 ms  bind <unnamed>: select 1
2015-12-02 17:00:22 EST [2408-6] postgres@postgres LOG:  duration: 0.953 ms  execute <unnamed>: select 1



On 2 Dec 2015, at 21:45, Dave Cramer < pg@fastcrypt.com> wrote:

log_min_duration

















pgsql-jdbc by date:

Previous
From: Nuno Zimas
Date:
Subject: Re: user can't access own database after creation
Next
From: "Markus KARG"
Date:
Subject: Re: Migration to Maven