we even don't want superuser change the data. so setting the readonly on file system level seems a good solution for me.
You haven't said what business need you are trying to meet with this solution but I'd posit that making PostgreSQL work on a RO file system is overkill...