Ahoj
Storage ZED a ZHEAP jsou asi už definitivně mrtvé. Nicméně asi dobře posloužily jako proof concepty.
Aktuálně si hraji s extenzí csv_tam (autor Alexey Gordeev). Používám svůj fork
https://github.com/okbob/csv_tam, jelikož originální kód nebyl přeložitelný vůči 18 a 19. Kód je spíš minimální technologické demo - rozhodně to není použitelné pro praxi, nicméně to ale může demonstrovat můj nápad, který by se mohl někomu hodit.
Postgres nemá autonomní transakce. Hodily by se, a chybí, když se portují aplikace z Oracle. Pokud vím, tak se v 99% používají pro logování chyb, případně pro notifikaci (do ukončení transakce jakékoliv zápisy nejsou vně viditelné - zápis v autonomní transakci je viditelný okamžitě po dokončení autonomní transakce). Po zachycení chyby, chceme zapsat do logovací tabulky a chybu reraisnout - a to bez autonomních transakcí nelze.
S TAM API vlastně lze napsat crash safe "netransakcní" storage. Pokud by byl append only, tak by měl podobné chování jako běžný zápis do logu. Je možné napsat online komprimaci, online šifrování, je možné napsat podporu indexace. A díky partitioningu (na denní bázi) je možné řešit retenci - a teoreticky si dovedu představit i řešení retence (a transparentního partitioningu) interně bez použití deklarativního partitioningu v Postgresu (což by se hodilo v prostředí, kde by zámky mohly být problém).
Po 30 letech se dostávám k poznání, že crash safe netransakční engine, kde data budou "definovaným" způsobem mizet může mít smysl.
Pavel