home.social

#postqresql — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #postqresql, aggregated by home.social.

  1. JSON_TABLE в PostgreSQL: превращаем JSON в реляционные данные одним запросом

    JSON в PostgreSQL давно перестал быть экзотикой, но работать с ним по-реляционному до сих пор приходилось не самым изящным способом: jsonb_array_elements , LATERAL , ручные касты, обработка ошибок на честном слове. В PostgreSQL 17 появился JSON_TABLE — стандартный SQL/JSON-механизм, который превращает JSON-документ в табличное представление одним выражением. В статье разберём, как он работает, чем отличается от привычного подхода, где действительно упрощает запросы и какие ограничения по производительности и применению у него остаются.

    habr.com/ru/companies/otus/art

    #postqresql #JSON_TABLE #jsonb #jsonpath #реляционные_данные #обработка_JSON #запросы_PostgreSQL #типизация_данных

  2. Advisory locks в PostgreSQL: распределённая блокировка без Redis, которая у вас уже есть

    В PostgreSQL есть фича, про которую знают далеко не все, хотя она существует с незапамятных времён. Advisory locks — пользовательские блокировки, которыми управляет не БД, а ваше приложение. PostgreSQL только хранит их состояние и разруливает конкуренцию. А вы решаете, что именно заблокировать и когда отпустить. Зачем это нужно? Вы строите распределённую систему, несколько инстансов приложения работают с одной базой, и вам нужно гарантировать, что определённую операцию выполняет только один инстанс одновременно. Классический ответ — Redis с SETNX или Consul/ZooKeeper. Но если у вас уже есть PostgreSQL — зачем тащить ещё одну зависимость?

    habr.com/ru/companies/otus/art

    #postqresql #хранилище_данных #Data_Vault #архитектура_хранилища_данных #моделирование_данных #DWH #аналитические_системы #интеграция_данных #архитектура_данных