Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама
Що нового в PostgreSQL 19: графові запити, GROUP BY ALL і крок до "універсальної" бази даних.
Новини 19 червня 2026

Що нового в PostgreSQL 19: графові запити, GROUP BY ALL і крок до "універсальної" бази даних.

PostgreSQL 19 продовжує важливу тенденцію останніх років: класична реляційна база даних поступово перетворюється на універсальну платформу для роботи з різними типами даних - від JSON до графів і аналітики.

Зараз це ще beta-версія, тому частина деталей може змінитися до фінального релізу. Але вже зараз видно напрямок розвитку, який буде цікавий backend-розробникам, особливо тим, хто працює з Laravel і складними доменними моделями.

Графові запити через SQL/PGQ

Одна з найцікавіших нових можливостей - підтримка SQL Property Graph Queries (SQL/PGQ).

Це дозволяє працювати з графовими зв'язками прямо в SQL, без необхідності підключати окремі graph databases.

Приклад концепту:

SELECT *
FROM GRAPH_TABLE (
  social_graph
  MATCH (person)-[follows]->(creator)
  COLUMNS (
    person.name AS follower,
    creator.name AS creator
  )
);

Що це дає на практиці

Графові запити особливо корисні для:

  • соціальних мереж
  • систем рекомендацій
  • fraud detection (виявлення шахрайства)
  • аналізу залежностей у системах

Фактично, для багатьох задач з'являється менша потреба в окремих рішеннях типу Neo4j - принаймні для базових сценаріїв.

GROUP BY ALL: менше коду, менше помилок

У PostgreSQL 19 з'являється синтаксис GROUP BY ALL, який прибирає зайвий boilerplate.

Було:

SELECT country, city, COUNT(*)
FROM users
GROUP BY country, city;

Тепер:

SELECT country, city, COUNT(*)
FROM users
GROUP BY ALL;

Як це працює

PostgreSQL автоматично визначає всі неагреговані колонки та використовує їх для групування.

Переваги

  • менше повторюваного коду
  • менше шансів помилитися
  • більш читабельні запити

Для великих SQL-запитів це може суттєво зменшити "шум".

WAIT FOR LSN: контроль реплік і консистентності

Ще одне важливе покращення - WAIT FOR LSN.

Це механізм, який дозволяє дочекатися, поки репліка застосує зміни до певного LSN (Log Sequence Number).

Приклад ідеї:

WAIT FOR '0/16B6C50' TO BE REPLAYED;

Навіщо це потрібно

У розподілених системах часто виникає проблема:

запис зробили в primary, але read replica ще не встигла оновитися

WAIT FOR LSN дозволяє:

  • дочекатися реплікації перед читанням
  • реалізувати "read-your-writes" consistency
  • зменшити race conditions у критичних сценаріях

Це особливо корисно для SaaS-систем і high-load backend'ів.

Покращена робота з JSON

PostgreSQL давно має сильну JSON-підтримку, і вона продовжує покращуватися.

Приклад запиту:

SELECT data->>'name' AS name 
FROM users 
WHERE data @> '{"role": "admin"}';

Що важливо

PostgreSQL дозволяє:

  • зберігати напівструктуровані дані
  • ефективно їх фільтрувати
  • використовувати індекси
  • комбінувати JSON з JOIN'ами та транзакціями

Фактично, база закриває частину кейсів, де раніше використовували MongoDB або інші document-oriented рішення.

Загальна тенденція: PostgreSQL стає "універсальною базою"

Якщо подивитися на розвиток останніх версій, видно чіткий напрямок:

PostgreSQL поступово виходить за межі класичної реляційної моделі й закриває все більше типів навантаження:

  • реляційні дані (SQL)
  • документи (JSON)
  • графи (SQL/PGQ)
  • аналітика (OLAP)
  • AI-векторні сценарії (через розширення)

Це означає, що одна база все частіше може замінити кілька спеціалізованих систем у проєкті.

Висновок

PostgreSQL 19 - це ще один крок до того, щоб база даних стала універсальним інструментом для backend-розробки.

Для Laravel-розробників це особливо важливо:

  • менше залежності від сторонніх баз
  • більше можливостей "всередині SQL"
  • простіша архітектура систем
  • краща консистентність даних

PostgreSQL поступово перетворюється на платформу "все-в-одному" для даних - і це тренд, який точно варто враховувати в нових проєктах.

321

Поділитись

Читати в документації

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Читайте також

Laravel AI SDK на практиці
Новини 09 жовтня 2026

Laravel AI SDK на практиці: агент, що стоїть за There There

Фрік Ван дер Гертен розповідає, як у Spatie побудували AI-шар хелпдеска There There на Laravel AI SDK: клас агента, інструменти з типізованою JSON-схемою та делегування роботи звичайним domain-діям.

9
CSRF і завантаження
Новини 09 жовтня 2026

Порада з безпеки: як завантаження файлів може обійти захист від CSRF

Стівен Ріс-Картер пояснює, чому файли користувачів варто віддавати з окремого домену: HTML і JS у межах основного застосунку дають доступ до cookie та CSRF-токенів.

18

Вакансії за темою

N-iX Нова
Вчора

Senior/ Lead PHP Engineer (with AI Skills) (#5828)

Розробка та підтримка backend-сервісів і API на PHP та Laravel з повним циклом володіння фічами від дизайну до моніторингу. Ключове завдання - інтеграція агентних AI-workflow (LLM-агенти, tool calling) у продукт і внутрішні інструменти, а також менторство інших інженерів. Вимоги: 6+ років PHP, 4+ роки з Laravel, досвід GenAI, знання MySQL/PostgreSQL, Docker та хмарних платформ, робота за часовим поясом EDT.

Backend Developer Middle

Розробник backend для web і мобільних застосунків. Основний стек: PHP, Laravel, WordPress. Очікується досвід роботи з REST API, базами даних (MySQL, PostgreSQL, MS SQL), інтеграціями зовнішніх сервісів, написанням тестів. Вимагається практичний досвід Laravel та впевнене знання PHP, ООП, SOLID, Git, Linux. Робота з командою над різноплановими проєктами.

Wooden Sword Games
8 днів тому

Senior PHP Developer (Game Backend)

Старший розробник PHP/Laravel для бекенду живої мобільної RPG. Розробка API на Laravel, реалізація ігрових функцій на TypeScript у Nakama, оптимізація продуктивності, тестування та код-рев'ю. Потрібен досвід 5+ років у бекенд-розробці, сильні навички в Laravel/PostgreSQL, TypeScript та асинхронному програмуванні.

Пакети за темою

Laravel Backup

spatie/laravel-backup

Пакет для створення резервних копій вашого Laravel-додатку.

6,023 10.3.3 13 11

Sushi

calebporzio/sushi

Додатковий драйвер для Eloquent, який дозволяє працювати з масивами даних як з повноцінними Eloquent моделями.

3,007 v2.5.4 13 16