From: | Syam Pillai <syam(at)engravgroup(dot)com> |
---|---|
To: | Dave Cramer <pg(at)fastcrypt(dot)com> |
Cc: | List <pgsql-jdbc(at)postgresql(dot)org> |
Subject: | Re: Statement is still active at the back-end even after closing |
Date: | 2017-08-31 16:05:26 |
Message-ID: | CAD-KuVN73AcxzinEpeiW89cvC-3pUeuOCU_5r1nCuNFdkmFLsA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Just before the sleep, I already closed the Statement. Connection is not
closed because I want to use the connection for executing further
Statements.
On Thu, Aug 31, 2017 at 5:09 PM, Dave Cramer <pg(at)fastcrypt(dot)com> wrote:
> Seems pretty normal to me ? You have a sleep in there which is keeping it
> alive. what happens if you check it after the close ?
>
> Dave Cramer
>
> davec(at)postgresintl(dot)com
> www.postgresintl.com
>
> On 31 August 2017 at 04:50, Syam Pillai <syam(at)engravgroup(dot)com> wrote:
>
>> Not sure if this was reported earlier.
>>
>> I am using PostgreSQL 9.5.8 and JDBC driver 42.1.4
>>
>> If I execute the following statements and at Position #1, if I check the
>> pg_stat_activity from another connection (let's say from the psql
>> application), I can see that the 'Statement s' is still active:
>>
>> try {
>> Class.forName("org.postgresql.Driver");
>> Connection connection = null;
>> connection = DriverManager.getConnection("jdbc:postgresql://localhost:5432/cadup","user",
>> "password");
>> Statement s = connection.createStatement();
>> ResultSet rs =s.executeQuery("SELECT 1 FROM core.Person");
>> if(rs.next()) {
>> System.err.println("Yes, we got a row!");
>> } else {
>> System.err.println("No rows found");
>> }
>> s.close();
>> Thread.sleep(10000); // Position #1
>> connection.close();
>> } catch(Exception e) {
>> e.printStackTrace();
>> }
>>
>>
>> ===============
>> Query executed to check the activity:
>> SELECT pid, datname, now() - pg_stat_activity.query_start AS duration,
>> state, query
>> FROM pg_stat_activity
>> WHERE now() - pg_stat_activity.query_start > interval '1 second';
>> Output from psql:
>> pid | datname | duration | state | query
>> -------+---------+-----------------+-------+---------------------------
>> 17775 | xxxx | 00:00:07.481294 | idle | SELECT 1 FROM core.Person
>>
>>
>
--
*Syam S. Pillai, **Director & Chief Technology Officer*
*ENGRAV Aviation Services & Systems Pvt. Ltd.*
*# 15, Level 1, Indradhanush, Gubbi Cross,*
*Kothannur PO, Bangalore - 560 077, India.*
*Phone: +91 80 2844 3740*
*http://www.engravgroup.com <https://www.engravgroup.com>*
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Cramer | 2017-08-31 16:40:53 | Re: Statement is still active at the back-end even after closing |
Previous Message | Dave Cramer | 2017-08-31 13:25:25 | Fwd: A suggestion or a problem |