What does IDLE state denotes in a row of pg_stat_activity?
This has been answered in postgres mailing list


  Each row in pg_stat_activity represents an established connection to
  the server from a client. "idle" means the client is not currently
  executing a query nor in a transaction.
  
  If query_start_date is 2 days old, that just means the last query to
  be executed on that connection was two days ago.
  
  Not really a reason for worry, unless you have so many connections
  open that it's consuming more RAM than you can afford. It's generally
  desirable for a connection pool to have a few idle connections so
  queries don't suffer the latency of establishing a new connection.