Purav Chovatia wrote: > I come from Oracle world and we are porting all our applications to > postgresql. > > The application calls 2 stored procs, > - first one does a few selects and then an insert > - second one does an update > > The main table on which the insert and the update happens is truncated before > every performance test. > > We are doing about 100 executions of both of these stored proc per second. > > In Oracle each exec takes about 1millisec whereas in postgres its taking > 10millisec and that eventually leads to a queue build up in our application. > > All indices are in place. The select, insert & update are all single row > operations and use the PK. > > It does not look like any query taking longer but something else. How can I > check where is the time being spent? There are no IO waits, so its all on the > CPU.
You could profile the PostgreSQL server while it is executing the workload, see for example https://wiki.postgresql.org/wiki/Profiling_with_perf That way you could see where the time is spent. PL/pgSQL is not optimized for performance like PL/SQL. Yours, Laurenz Albe -- Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance