Formatovani SQL kodu primo pro PostgreSQL

9 views
Skip to first unread message

Zbynek Vanzura

unread,
1:02 AM (4 hours ago) 1:02 AM
to postgr...@googlegroups.com
Ahoj,

rád bych se s vámi podělil o další ze svých open-source projektů —
pg_procrustes, formátovač SQL a PL/pgSQL napsaný v Go.

Je to zatím čerstvý projekt, pořád v počáteční fázi vývoje, ale
protože je postavený na nativním PostgreSQL parseru (libpg_query),
tak v tom, co už umí, je docela spolehlivý — rozumí kódu prakticky
stejně jako databáze samotná, ne přes vlastní/aproximovaný parser.
Zároveň je to hodně detailně nastavitelné (casing klíčových slov,
typů, funkcí, mezery kolem operátorů, zalamování klauzulí, a
samostatně i formátování PL/pgSQL bloků – IF/LOOP/CASE, DECLARE
sekce apod.), takže i v této fázi je to podle mě už dobře použitelné.

Abyste si nastavení nemuseli psát ručně do YAML, udělal jsem k tomu
i web https://pg_procrustes.80.cz, kde si formátovací pravidla
naklikáte a stáhnete si hotový konfigurační soubor.

Kód i CLI najdete na GitHubu: https://github.com/heptau/pg_procrustes

Budu rád za jakýkoli feedback — ať jde o chybějící nastavení, edge
case, na kterém to spadne, nebo jen zkušenost s tím, jak řešíte
formátování SQL vy (pgFormatter, sqlfluff, něco vlastního?).

Díky a hezký den,

Zbyněk Vanžura
hep...@gmail.com

Pavel Stehule

unread,
1:46 AM (3 hours ago) 1:46 AM
to postgr...@googlegroups.com
Ahoj

čt 2. 7. 2026 v 7:02 odesílatel Zbynek Vanzura <hep...@gmail.com> napsal:
to vypada pekne

moc casto formatovat nepotrebuju - ale libi se mi https://sql-formatter-org.github.io/sql-formatter/

jelikoz umi naformatovat v mem oblibenem Joe Celko stylu

   select supplier_name,
          city
     from (
             select *
               from suppliers
               join addresses on suppliers.address_id = addresses.id
          ) as suppliers
    where supplier_id > 500
 order by supplier_name asc,
          city desc;

 
Jinak urcite o tom napis na planet postgres

Pavel


Díky a hezký den,

Zbyněk Vanžura
hep...@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/CAEQ2o3ms%2BdX%3D7y4VQuhwpRr7g%2BEX_44jmtE2CAYKGU0uvim2_A%40mail.gmail.com.

Zbynek Vanzura

unread,
3:09 AM (2 hours ago) 3:09 AM
to postgr...@googlegroups.com
Diky za informaci, ten
https://sql-formatter-org.github.io/sql-formatter/ jsem neznal a ma
spoustu necnostni jako vetsina ostatnich formatovacu (moc mu nejde
plpgsql, ze by formatoval obsah funkci ani nemluve), ale nektere veci
dela hezky - pouziji ho pro inspiraci.


Zbynek Vanzura
hep...@gmail.com

čt 2. 7. 2026 v 7:46 odesílatel Pavel Stehule <pavel....@gmail.com> napsal:
> Tuto diskuzi najdete na adrese https://groups.google.com/d/msgid/postgresql-cz/CAFj8pRCErK_OsyGjbtFG8ptAPhO-nGV3sHESuhzT7_2ixUAqtQ%40mail.gmail.com.

Pavel Stehule

unread,
3:51 AM (1 hour ago) 3:51 AM
to postgr...@googlegroups.com


čt 2. 7. 2026 v 9:09 odesílatel Zbynek Vanzura <hep...@gmail.com> napsal:
Diky za informaci, ten
https://sql-formatter-org.github.io/sql-formatter/ jsem neznal a ma
spoustu necnostni jako vetsina ostatnich formatovacu (moc mu nejde
plpgsql, ze by formatoval obsah funkci ani nemluve), ale nektere veci
dela hezky - pouziji ho pro inspiraci.

ja to pouzivam jednou za uhersky rok. Na rozdil od jinych formatovacu umi JC notaci, a nic vic od toho neocekavam.

Bohuzel notaci, ktera se mi libi https://www.sqlstyle.guide/ - a ktera se nelibi dost jinym lidem, nic jineho nepodporuje

Kdysi byla idea zapracovat formatovac primo do kodu Postgresu - a on tam do jiste miry je, protoze kdyz se zobrazuji definice pohledu, tak se dela deparse. A byla by to docela hezka ficura v psql. Ted mi to prijde zbytecny, preci jen SQL se uz pisi v necem jinem.


 
Reply all
Reply to author
Forward
0 new messages