PostgreSQL user only drop some tables
Since you're running 9.3, you could potentially use an event trigger to catch the tag DROP TABLE and prevent that for certain users. 

Denish Patel has a example in his blog post here Preventing Human Errors in Postgres. Search for the string "Function to prevent single table drop". That should give you enough of a start to modify for your specific needs.