select count(*), sum(vl_ex_stax) , sum(qty) , unit from inv_detail group by unit; on both databases.
PostgreSQL return result in 50 sec every time. MS-SQL return result in 2 sec every time.
My PostgreSQL Conf is ********************* log_connections = yes syslog = 2 effective_cache_size = 327680 sort_mem = 10485760 max_connections = 64 shared_buffers = 512 wal_buffers = 1024
This is a shockingly bad postgresql.conf. I'm not surprised you have performance problems. Change this:
effective_cache_size = 4000 sort_mem = 4096 shared_buffers = 1000 wal_buffers = 8
Also, you need a LOT more RAM in your PostgreSQL machine, at least half a gig for a basic database server.
1- How can I lock a single record so that other users can only read it. ??
You cannot do that in PostgreSQL.
2- one user executes a query it will be process and when another user executes the same query having the same result should not again go for processing. The result should be come from the cache. Is this possible in postgres ??
No, implement it in your application. Prepared queries and stored procedures might help you here.
Chris
---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster