po 16. 3. 2026 v 11:15 odesílatel Pavel Stehule
<pavel....@gmail.com> napsal:
>
> Ahoj
>
> tak jestli to tam zůstane, tak Postgres mít podporou SQL/PGQ. Sám nevím, co si o tom mám myslet. Tohle má k relačním databázím hodně daleko.
No když se to vezme kolem a kolem, tak to vypadá jako alternativní
syntax pro relační data generující JOIN + (volitelně) UNION.
> https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=2f094e7ac691abc9d2fe0f4dcf0feac4a6ce1d9c
>
> Je fakt, že už jsem viděl v Postgresu databáze, kdy data byly serializované grafy, a de facto se hledalo něco v grafech. Bylo to dost pomalé. Možná s "nativní" podporou by to mohlo být rychlejsí.
Vypadá to, že ten dotaz je stejně rychlej jako ta JOIN + UNION
varianta. Spíš jsem zpozorněl, že v poslední době do Postgresu
začínají přibývat v relativně krátkém čase velké patche dost
rozšiřující SQL parser či implementující vlastní string parser.
Například nedávno ten pg_plan_advice, teď tohle.
Nevím jaké má kdo zkušenosti s psaním a hlavně udržováním většího
parseru, ale za mě je to peklo a pro lidi naprosto nepřirozený úkol.
Naopak AI a programovací LLM modely v tomhle dost excelují. Možná jsme
svědky nějaké vlny nových funkcí, jenž si uživatelé dlouho přejí, ale
nikdo neměl odvahu bojovat s tím parsováním na kterém je SQL založené
a je bránou do databáze.
Pokud jsem to správně pochopil, tak složitost změn v SQL parseru často
vedla ke kompromisu nad syntaxí. Například CREATE INDEX, REINDEX INDEX
and DROP INDEX a podobné skupiny příkazů jsou dost nekonzistentní v
přebírání parametrů. Také parametry tuším nejsou možné momentálně
složit z více slov viz \h VACUUM. Možná se blýská na lepší časy.
:pray: Nebo jsem úplně mimo a je v tom jiný důvod?
> Pavel
>
> --
> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny „PostgreSQL-cz“ ve Skupinách Google.
> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu postgresql-c...@googlegroups.com.
> Tuto diskuzi najdete na adrese https://groups.google.com/d/msgid/postgresql-cz/CAFj8pRCkvCn54-9Dg%2BPz%3Dpge%2BzDgxjA3_edqnjRLjQXM3yqx-A%40mail.gmail.com.
--
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny PostgreSQL-cz ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu postgresql-c...@googlegroups.com.
Tuto diskuzi najdete na adrese https://groups.google.com/d/msgid/postgresql-cz/CAFp7Qwq%2BsQGh2Kboona12rjJQX9b%3DWUL-LYOSztEvLQMRLazjQ%40mail.gmail.com.
po 16. 3. 2026 v 12:27 odesílatel Josef Šimánek <josef....@gmail.com> napsal:po 16. 3. 2026 v 11:15 odesílatel Pavel Stehule
<pavel....@gmail.com> napsal:
>
> Ahoj
>
> tak jestli to tam zůstane, tak Postgres mít podporou SQL/PGQ. Sám nevím, co si o tom mám myslet. Tohle má k relačním databázím hodně daleko.
No když se to vezme kolem a kolem, tak to vypadá jako alternativní
syntax pro relační data generující JOIN + (volitelně) UNION.
> https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=2f094e7ac691abc9d2fe0f4dcf0feac4a6ce1d9c
>
> Je fakt, že už jsem viděl v Postgresu databáze, kdy data byly serializované grafy, a de facto se hledalo něco v grafech. Bylo to dost pomalé. Možná s "nativní" podporou by to mohlo být rychlejsí.
Vypadá to, že ten dotaz je stejně rychlej jako ta JOIN + UNION
varianta. Spíš jsem zpozorněl, že v poslední době do Postgresu
začínají přibývat v relativně krátkém čase velké patche dost
rozšiřující SQL parser či implementující vlastní string parser.
Například nedávno ten pg_plan_advice, teď tohle.
Nevím jaké má kdo zkušenosti s psaním a hlavně udržováním většího
parseru, ale za mě je to peklo a pro lidi naprosto nepřirozený úkol.
Naopak AI a programovací LLM modely v tomhle dost excelují. Možná jsme
svědky nějaké vlny nových funkcí, jenž si uživatelé dlouho přejí, ale
nikdo neměl odvahu bojovat s tím parsováním na kterém je SQL založené
a je bránou do databáze.Hele toho bych se nebál - V Postgresu se parser generuje z gramatiky, a bison (yacc) je roky prověřený generátor parserů.Navíc pg_plan_advice nemá s parserem skoro nic společného. Přidat příkaz do gramatiky není moc obtížný. Horší je, když se musí fixnout kolize, pokud je bizon najde. Tam aspoň já musím hodně přemyklíkovat myšlení - je to takový matfyzácký rekurzivní programování, případně gamesa s prioritama. Ale jakmile je to jednou zapsané, a bezkolizní, tak veškerou práci za tebe udělá bison - bez ohledu na velikost.To, že zmíněné patche skončí v 19 je spíš náhoda. Prototyp SQL/PGQ napsal Peter a podle mne spíš aby se seznámil s konceptem, který také schvaloval někdy kolem roku 2023. A na pg_plan_advice teď měl Robert Haas víc času, jelikož v 18 dokončil inkrementální backup.