Postgresql - SPI-Trigger nebo udf-funkce

Postgresql - SPI-Trigger nebo udf-funkce
« kdy: 09. 11. 2021, 22:41:28 »
potreboval bych pri updateu tabulky nova data jeste napsat nekam do pameti. Zjistil jsem , ze se nabizi asi dve cesty.
Jednou by bylo pracovat s SPI-triggery, druha moznost  by byla nejaka udf-funkce, ktera by se volala v triggeru tabulky, ktery by byl nedefinovan beznym zpusobem.
Nema nekdo zkusenosti s tim, kde by byla nejake zadrhely, co je jednodussi. Co jsem zatim zjistil je, ze u toho SPI Triggeru je asi (mozna) jednodussi ziskat jednim volanim cely tuppel (kdy jsou obsahy jednotlivych sloupcu stringy) , kdezto u te funkce bych musel asi obsahy jednotlivych sloupcu pri volani predat jako parametry.
Obecne bych jeste rad znal nazor, zda se to SPI programovani stale nejak vubec pouziva -> na internetu je toho relativne malo. Aby to nebyla slepa ulicka.


Re:Postgresql - SPI-Trigger nebo udf-funkce
« Odpověď #1 kdy: 10. 11. 2021, 04:16:17 »
Obecne bych jeste rad znal nazor, zda se to SPI programovani stale nejak vubec pouziva -> na internetu je toho relativne malo. Aby to nebyla slepa ulicka.

SPI API se normálně používá pro psaní postgresových extenzí. A pokud chcete pracovat přímo s pamětí, tak C je víceméně jediná cesta. Vlastní extenze nejsou v Postgresu něco až tak neobvyklého. Samozřejmě, že většina uživatelů nic takového nedělá, ale ti zase většinou nemusí dělat přímo s pamětí. Omezení je jediné. Vaše extenzi určitě nanajdete v cloudu, pokud byste chtěl provozovat pg jako službu.

O psaní extenzí je toho na netu docela dost. Není to nic komplikovaného, i když pro vetšinu uživatelů je to raketová věda, ale to je i lateral join nebo CTE.

Re:Postgresql - SPI-Trigger nebo udf-funkce
« Odpověď #2 kdy: 10. 11. 2021, 04:45:29 »
i když pro vetšinu uživatelů je to raketová věda, ale to je i lateral join nebo CTE.

spis to neznaji, MySQL tohle umi az nekdy od roku 2018. Naopak psani nekterych dotazu to vyrazne zjednodusuje.