Not that it changes the answer here but you are considerably out-of-date and should upgrade to 9.4.16 as the earliest opportunity.
What I've observed is,
1. I get a new file after every 10 Mins or when I restart the service or logs size is over 10KB.
But, it doesn't solve my problem to reduce the size of postgres logs, as the file is not rotated, but a new is created every time.
Is there any way I can rotate the files or restrict number to, say max 5 files
like,
The docs cover what can and cannot be done. My reading indicates that what you described cannot be done - since you want to key off of size instead of time.
My conclusion is that you need to turn over log file management to an external utility - syslog, logrotate, etc..., that provides the feature you desire.