Same postgres query in two different instances with the same data but with different times
The difference is shared hits.
Shared hit means it read the blocks from ram (shared buffers).
Check for shared_buffers parameter on both servers.