It seems postgres is suffering from a file system condition, so your solution
lies there and not with postgres. There are many reasons why a file system can
become read-only. For example, if you are using virtual machines and run in to
a low I/O bandwidth condition, the vm software can put the file systems into a
read-only state to prevent data corruption. Some clusterware and storage
hardware vendors also do this on purpose to prevent corruption. Without knowing
more about your system there are too many possbiel causes to list them here. My
suggestion is to search the Internet for a possible cause/solution. If, for
example, you are using vmware on Linux then you might want to Google for
"vmware linux read only filesystem".
-Mark