Я краем уха слышал, что существуют люди, которые используют торчащий в интернет PostgreSQL в качестве API для серверных частей своих приложений. Мол, зачем писать какой-то лишний слой ошибок, занимающийся конвертацией XML/JSON/чего-то ещё в SQL, если можно сразу из клиента работать с базой.
Хочу сделать так же. Подскажите, есть ли какие-то подводные камни, о которых нужно знать?
Понятно, что пользователю, под которым будет логиниться клиент, будут даны только те права и только на те вьюхи (а не настоящие таблицы), с которыми ему можно и нужно работать. Например (экстремальная ситуация): удалить логи собственных действий злоумышленник не сможет, потому что они будут записываться триггерами совсем в другие таблицы, о которых он даже не будет подозревать.
Чего я боюсь не учесть, так это банальных вопросов безопасности при авторизации.
Точно ли логин сразу в PostgreSQL настолько же защищён, как более привычный (для API) HTTPS?
Есть ли смысл придумывать схему с подключением к «базе localhost на системе по SSH», или всё-таки напрямую это нормально?
Всем заранее спасибо за любую инфу по теме.