RE: Postgresql JDBC process consumes more memory than psql client - Mailing list pgsql-performance

From James Pang (chaolpan)
Subject RE: Postgresql JDBC process consumes more memory than psql client
Date
Msg-id PH0PR11MB5191C2C75F91CE1237267479D67F9@PH0PR11MB5191.namprd11.prod.outlook.com
Whole thread Raw
In response to Re: Postgresql JDBC process consumes more memory than psql client  (Justin Pryzby <pryzby@telsasoft.com>)
Responses Re: Postgresql JDBC process consumes more memory than psql client  (Justin Pryzby <pryzby@telsasoft.com>)
RE: Postgresql JDBC process consumes more memory than psql client  ("James Pang (chaolpan)" <chaolpan@cisco.com>)
List pgsql-performance
PG V13, yes JDBC use prepared statements ,  from psql use pruned ,but even all partitions it NOT consumes too much
memory. Any idea how to print SQL plan from JDBC driver ?  

-----Original Message-----
From: Justin Pryzby <pryzby@telsasoft.com>
Sent: Monday, September 5, 2022 8:47 PM
To: James Pang (chaolpan) <chaolpan@cisco.com>
Cc: pgsql-performance@lists.postgresql.org
Subject: Re: Postgresql JDBC process consumes more memory than psql client

On Mon, Sep 05, 2022 at 12:40:46PM +0000, James Pang (chaolpan) wrote:
>   We run same update or delete SQL statement " DELETE FROM ... WHERE ... "  the table is a hash partition table (256
hashpartitions). When run the sql from Postgresql JDBC driver, it soon increased to 150MB memory (RES filed from top
command),      but when run the same SQL from psql , it only consumes about 10MB memory.  UPDATE statements is similar
,need 100MB memory, even it delete or update 0 rows.  Any specific control about Postgresql JDBC driver ? 

It sounds like JDBC is using prepared statements, and partitions maybe weren't pruned by the server.  What is the query
planfrom psql vs from jdbc ? 

https://wiki.postgresql.org/wiki/Slow_Query_Questions

What version is the postgres server ?
That affects pruning as well as memory use.

https://www.postgresql.org/docs/14/release-14.html
Improve the performance of updates and deletes on partitioned tables with many partitions (Amit Langote, Tom Lane)

This change greatly reduces the planner's overhead for such cases, and also allows updates/deletes on partitioned
tablesto use execution-time partition pruning. 

Actually, this is about the same response as when you asked in June, except that was about UPDATE.
https://www.postgresql.org/message-id/PH0PR11MB519134D4171A126776E3E063D6B89@PH0PR11MB5191.namprd11.prod.outlook.com

--
Justin



pgsql-performance by date:

Previous
From: Justin Pryzby
Date:
Subject: Re: Postgresql JDBC process consumes more memory than psql client
Next
From: Justin Pryzby
Date:
Subject: Re: Postgresql JDBC process consumes more memory than psql client