En ce qui concerne Postgresql et les noms d'entités (tables, colonnes, etc.) avec des lettres MAJUSCULES, vous devez "échapper" le mot en le plaçant dans "". Veuillez vous référer à la documentation sur ce sujet particulier. Ainsi, votre exemple serait écrit comme ceci :
String stm = "DELETE FROM hostdetails WHERE \"MAC\" = 'kzhdf'";
En passant, étant donné que vous utilisez des instructions préparées, vous ne devez pas définir la valeur directement dans votre instruction SQL.
con = DriverManager.getConnection(url, user, password);
String stm = "DELETE FROM hostdetails WHERE \"MAC\" = ?";
pst = con.prepareStatement(stm);
pst.setString(1, "kzhdf");
pst.executeUpdate();