Какой проект можно сделать на PL/pgSQL новичку?



@pavel_the_man

Никогда не сталкивался с задачами где нужен PL/pgSQL, соответственно не понимаю зачем нужен. Пообщался со знакомыми бэкендерами — узнал что они тоже на нём ничего не программируют. Используют обычные императивные языки общего назначения: PHP, Node.js, Python. Видимо, для их задач этого тоже хватает.

Хотел бы узнать что можно новичку на нём сделать, чтобы как минимум понять на кой он нужен, а в идеале сделать pet-project, который не стыдно людям показать.

На курсе SQL-разработчик одной известной школы в качестве итогового проекта студенты разрабатывают сервис управленческой отчётности. Мне это кажется очень трудной задачей. Чтобы в браузере отображался дашборд, его надо верстать HTML+CSS, и каким-то макаром прописывать внутреннюю логику. Для меня это звучит как неподъёмная задача, ну а покупать курс, я, ясен пень, не буду.

Если кто-то набросает какой-нибудь PL/pgSQL код в любом фиддле, для иллюстрации что на нем можно делать — буду премного благодарен.


Решения вопроса 0


Ответы на вопрос 4



@Everything_is_bad

Никогда не сталкивался с задачами где нужен PL/pgSQL, соответственно не понимаю зачем нужен.

он тебе не нужен, особенно для pet-project



@vabka

Есть две категории случаев, где следует использовать хранимые процедуры:

1. Сложные запросы, которые нельзя выразить обычным SQL и при этом слишком дорого отправлять более крупный набор данных клиенту, чтобы он сам всё посчитал.

2. У тебя несколько клиентов и тебе нужно гарантировать целостность. Тогда ты всякие валидации из обычного кода переносишь на СУБД.

В обоих случаях клиент=серверное приложение, ибо толстые клиенты сейчас делать моветон.



@Akina

Холиварный вопросик-то…

ИМХО

PL/pgSQL, T-SQL и прочие аналогичные языки в первую очередь предназначены для создания систем, в которых интенсивно используется server-side логика. Ибо возможности и инструментарий такого языка кроет (установленные стандартом) возможности SQL как бык овцу…

А всё остальное — это винтики-бантики.

Если кто-то набросает какой-нибудь PL/pgSQL код в любом фиддле, для иллюстрации что на нем можно делать — буду премного благодарен.

Открываешь документацию по Постгрессу, забиваешь в поиск LANGUAGE plpgsql и получаешь кучу ссылок с примерами кодов. А если это будет документация по ПостгрессПро — так ещё и по-русски.



@402d

редко, но бывает такое, что вынуть данные за один SQL запрос выливается в такую конструкцию, что
как не крути эксплайн, но время исполнения неприемлемо и получается, что прогнать пачку более простых в цикле
быстрее.
А дальше у большинства бакенд и база на одном сервере да еще и через сокет. Нет особого смысла
агрегацию данных из бека переносить в бизнес логику базы.
А у кого есть куча серверов, те в микросервисы как то подались. И см выше — сервис и база на одном хосте.

Показать хранимки кому то, тут тоже сложный момент. На рабочем хосте этого не видно совершенно.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *