[{"data":1,"prerenderedAt":156},["ShallowReactive",2],{"project-43655920":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":34,"aspects":35,"strip":38,"post_text":30,"what":41,"said":73,"maker_in_thread":104,"shape":108,"grid":109,"attempts":117,"same_week":118,"maker_shows":148,"maker_hidden":149,"reader_version":150,"card":151},"43655920","Pg_CRDT","CRDTs in Postgres Using Automerge","title","Show HN: Pg_CRDT – CRDTs in Postgres Using Automerge","https:\u002F\u002Fgithub.com\u002Fsupabase\u002Fpg_crdt","github.com","kiwicopple",1744390412,2025,11,4,2710,3837,71,"shown","data","postgres extension","library",[24,25,26,27,28],"crdt","postgres","automerge","realtime sync","conflict resolution","quiet",null,{"positive":32,"neutral":32,"mixed":33,"critical":33},1,0,2,{"idea":36,"execution":37},{"positive":33,"critical":33},{"positive":32,"critical":33},[39,33,33,40],3,5,{"problem":42,"audience":30,"pricing":30,"motivation":49,"time_to_build":30,"stack":53,"openness":70,"stage":71,"team_size":72},{"value":43,"source":44,"evidence":45},"Storing CRDT documents in Postgres without filling the WAL with full document snapshots.","maker",[46],{"id":47,"by":11,"text":48},"43655921","A couple of years ago we shared[0] an experimental extension for CRDTs in Postgres. This was a good start, but it had a major limitation: CRDTs can be very chatty and so they…",{"value":50,"source":44,"evidence":51},"Earlier CRDT extension filled the WAL with full CRDT state; new approach persists only changes.",[52],{"id":47,"by":11,"text":48},[54,62,66],{"value":55,"source":56,"evidence":57},"C","commenter",[58],{"id":59,"by":60,"text":61},"43656102","michelpp","Main contributor here, had a lot of fun working with automerge and its amazing C API around the core Rust library and collaborating with Supabase. This allowed me to take…",{"value":63,"source":44,"evidence":64},"Automerge",[65],{"id":47,"by":11,"text":48},{"value":67,"source":44,"evidence":68},"PostgreSQL",[69],{"id":47,"by":11,"text":48},"unknown","beta","company",{"praise":74,"objections":79,"requests":80,"questions":94,"alternatives":99},[75],{"value":76,"source":56,"evidence":77},"Efficient in-memory merging via expanded datum",[78],{"id":59,"by":60,"text":61},[],[81,88],{"value":82,"source":56,"evidence":83},"Client library support, such as supabase-swift",[84],{"id":85,"by":86,"text":87},"43656932","marcprux","Are there plans to add support in your client libraries like https:\u002F\u002Fgithub.com\u002Fsupabase\u002Fsupabase-swift? And could this be used as backend support for…",{"value":89,"source":44,"evidence":90},"Support for Yjs in the future",[91],{"id":92,"by":11,"text":93},"43657497","Yes, once this is fully operational the idea would be that it is supported by the client libs or simply by the native libs provided by Automerge (or yjs, in the future)",[95],{"value":96,"source":56,"evidence":97},"Could it back the Forked app's sync?",[98],{"id":85,"by":86,"text":87},[100],{"value":101,"source":44,"evidence":102},"Yjs",[103],{"id":92,"by":11,"text":93},{"comments":34,"answered":32,"key":105},[106,107],{"id":92,"text":93},{"id":47,"text":48},{"commenters":39,"max_depth":34,"maker_replies":34,"first_comment_mins":33,"lifespan_hours":34},[110,112,113,115],[85,33,39,111,86,33],"maker\u002Fneutral\u002Fidea",[92,33,33,111,11,32],[47,32,33,114,11,32],"project\u002Fpositive\u002Fdesign",[59,32,40,116,60,33],"project\u002Fpositive\u002Fexecution",[],[119,124,129,134,139,144],{"id":120,"name":121,"points":122,"category":123},"43690289","Unsure Calculator",930,"dev_tools",{"id":125,"name":126,"points":127,"category":128},"43675248","SignalBloom",292,"finance_crypto",{"id":130,"name":131,"points":132,"category":133},"43667061","memEx",194,"productivity",{"id":135,"name":136,"points":137,"category":138},"43652968","Chonky",169,"ai",{"id":140,"name":141,"points":142,"category":143},"43677909","Infocom Unix Z-Machine (pez)",157,"languages",{"id":145,"name":146,"points":147,"category":143},"43682547","protobuf-ts-types",138,13,false,"v2",{"id":152,"name":5,"line":6,"ai":149,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":30,"top":18,"kw":153,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":154,"url":9,"mix":155,"praise":76,"objection":-1,"sub":21},43655920,[24,25,26,27,28],"3005",[32,32,33,33],1794036672726]