<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: vira28</title><link>https://news.ycombinator.com/user?id=vira28</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 16 Jun 2026 02:13:16 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=vira28" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by vira28 in "Ask HN: What are you working on? (June 2026)"]]></title><description><![CDATA[
<p>Building <a href="https://github.com/viggy28/streambed" rel="nofollow">https://github.com/viggy28/streambed</a> - a full Postgres running on S3 using DuckDB as the query engine.</p>
]]></description><pubDate>Mon, 15 Jun 2026 05:09:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=48536867</link><dc:creator>vira28</dc:creator><comments>https://news.ycombinator.com/item?id=48536867</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48536867</guid></item><item><title><![CDATA[New comment by vira28 in "Ask HN: Want to build something open source on nights and weekends together?"]]></title><description><![CDATA[
<p>Certainly interested.</p>
]]></description><pubDate>Sun, 14 Jun 2026 20:02:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=48532012</link><dc:creator>vira28</dc:creator><comments>https://news.ycombinator.com/item?id=48532012</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48532012</guid></item><item><title><![CDATA[New comment by vira28 in "Ask HN: Want to build something open source on nights and weekends together?"]]></title><description><![CDATA[
<p>Agree. Appreciate the reminder.</p>
]]></description><pubDate>Thu, 11 Jun 2026 07:04:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48487211</link><dc:creator>vira28</dc:creator><comments>https://news.ycombinator.com/item?id=48487211</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48487211</guid></item><item><title><![CDATA[Ask HN: Want to build something open source on nights and weekends together?]]></title><description><![CDATA[
<p>Not a hiring post. I have a 9-5 but also a lot of ideas I want to build. The core is just to show up and make small progress — but I find I'm missing accountability and partnership, so I thought it'd be nice to partner with someone. Mostly backend/infra stuff. If you're interested, email in my profile.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48486932">https://news.ycombinator.com/item?id=48486932</a></p>
<p>Points: 39</p>
<p># Comments: 18</p>
]]></description><pubDate>Thu, 11 Jun 2026 06:31:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48486932</link><dc:creator>vira28</dc:creator><comments>https://news.ycombinator.com/item?id=48486932</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48486932</guid></item><item><title><![CDATA[New comment by vira28 in "PgDog is funded and coming to a database near you"]]></title><description><![CDATA[
<p>Tomas Vondra, a major Postgres contributor recently revived a thread on using Bloom filters - <a href="https://www.postgresql.org/message-id/flat/5cd8c20c-14b5-4b0d-bedc-69bf714e87eb%40vondra.me" rel="nofollow">https://www.postgresql.org/message-id/flat/5cd8c20c-14b5-4b0...</a><p>So there is more core work happening on support OLAP but I do think it will take some time.<p>In the meantime, I think we have all the pieces (storage, query engine, table format) to set up a true OLAP. For instance, I created <a href="https://github.com/viggy28/streambed" rel="nofollow">https://github.com/viggy28/streambed</a> to pressure test this idea.</p>
]]></description><pubDate>Thu, 11 Jun 2026 06:20:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=48486856</link><dc:creator>vira28</dc:creator><comments>https://news.ycombinator.com/item?id=48486856</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48486856</guid></item><item><title><![CDATA[New comment by vira28 in "Show HN: Streambed – Stream Postgres to Iceberg on S3, Supports Postgres Wire"]]></title><description><![CDATA[
<p>The idea is pretty similar. As per their README, Iceberg support is deprecated.</p>
]]></description><pubDate>Thu, 04 Jun 2026 05:32:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=48394398</link><dc:creator>vira28</dc:creator><comments>https://news.ycombinator.com/item?id=48394398</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48394398</guid></item><item><title><![CDATA[New comment by vira28 in "Show HN: Streambed – Stream Postgres to Iceberg on S3, Supports Postgres Wire"]]></title><description><![CDATA[
<p>From what I understand Ducklake needs a dedicated metadata database and it also ties to DuckDB land wherease with Iceberg many engines can query directly.</p>
]]></description><pubDate>Thu, 04 Jun 2026 05:30:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=48394374</link><dc:creator>vira28</dc:creator><comments>https://news.ycombinator.com/item?id=48394374</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48394374</guid></item><item><title><![CDATA[New comment by vira28 in "Show HN: Streambed – Stream Postgres to Iceberg on S3, Supports Postgres Wire"]]></title><description><![CDATA[
<p>The challenge with any CDC is making it reliable. Curious, how are you exporting to S3? - Debezium or some service in AWS or home grown tool?</p>
]]></description><pubDate>Wed, 03 Jun 2026 02:47:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=48379319</link><dc:creator>vira28</dc:creator><comments>https://news.ycombinator.com/item?id=48379319</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48379319</guid></item><item><title><![CDATA[New comment by vira28 in "Show HN: Streambed – Stream Postgres to Iceberg on S3, Supports Postgres Wire"]]></title><description><![CDATA[
<p>Currently, Strembed expects REPLICA IDENTITY FULL for getting the before and after value of TOAST column. Since we have the data in object storage, we could populate it without the need for REPLICA IDENTITY FULL. Created an issue <a href="https://github.com/viggy28/streambed/issues/25" rel="nofollow">https://github.com/viggy28/streambed/issues/25</a> to track this feature.</p>
]]></description><pubDate>Tue, 02 Jun 2026 05:47:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=48366524</link><dc:creator>vira28</dc:creator><comments>https://news.ycombinator.com/item?id=48366524</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48366524</guid></item><item><title><![CDATA[New comment by vira28 in "Show HN: Streambed – Stream Postgres to Iceberg on S3, Supports Postgres Wire"]]></title><description><![CDATA[
<p>Welcome. To avoid primary running out of disk space, you can configure max_slot_wal_keep_size <a href="https://www.postgresql.org/docs/17/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE" rel="nofollow">https://www.postgresql.org/docs/17/runtime-config-replicatio...</a><p>Since Supabase is vanilla Postgres, streambed should work with replica as the source.<p>reg, Planetscale, I haven't looked at their offerings yet.<p>Where do you host your DB currently? Happy to try out with that provider as the source.</p>
]]></description><pubDate>Tue, 02 Jun 2026 04:51:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=48366205</link><dc:creator>vira28</dc:creator><comments>https://news.ycombinator.com/item?id=48366205</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48366205</guid></item><item><title><![CDATA[New comment by vira28 in "Show HN: Streambed – Stream Postgres to Iceberg on S3, Supports Postgres Wire"]]></title><description><![CDATA[
<p>Aside from the cost, my major motivation is to keep the infrastructure simple. The data is already there in Postgres, so I didn't want to add another data warehouse. I have also shared my thoughts on where this is heading <a href="https://viggy28.dev/article/postgres-gateway-drug/" rel="nofollow">https://viggy28.dev/article/postgres-gateway-drug/</a></p>
]]></description><pubDate>Mon, 01 Jun 2026 07:27:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=48353640</link><dc:creator>vira28</dc:creator><comments>https://news.ycombinator.com/item?id=48353640</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48353640</guid></item><item><title><![CDATA[New comment by vira28 in "Show HN: Streambed – Stream Postgres to Iceberg on S3, Supports Postgres Wire"]]></title><description><![CDATA[
<p>Thanks for the kind words!<p>Short answer: yes, column-level schema changes sync to Iceberg automatically[0].<p>Logical replication (pgoutput in v1) doesn't actually stream DDL statements. Instead, Postgres emits a fresh Relation message describing the table's current column layout right before the next change to that table. So we diff that against the last layout we knew and infer what changed.<p>From there we evolve the Iceberg schema in place: flush any buffered rows under the old schema first, then write a new metadata version with the change. What's handled today:<p><pre><code>  - ADD COLUMN — new field ID allocated; the column's Postgres DEFAULT is carried into Iceberg's initial-default/write-default, so existing rows read back correctly
  - DROP COLUMN — removed from the current schema, existing data files untouched
  - Type widening — int4→int8, float4→float8 (the changes Iceberg considers compatible)
  - REPLICA IDENTITY changes
</code></pre>
[0] <a href="https://github.com/viggy28/streambed/pull/21" rel="nofollow">https://github.com/viggy28/streambed/pull/21</a></p>
]]></description><pubDate>Mon, 01 Jun 2026 07:22:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=48353602</link><dc:creator>vira28</dc:creator><comments>https://news.ycombinator.com/item?id=48353602</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48353602</guid></item><item><title><![CDATA[New comment by vira28 in "Show HN: Streambed – Stream Postgres to Iceberg on S3, Supports Postgres Wire"]]></title><description><![CDATA[
<p>Welcome. Would love to hear your experience. Feel free to share here or in the repo. Fully open source.</p>
]]></description><pubDate>Mon, 01 Jun 2026 07:08:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48353521</link><dc:creator>vira28</dc:creator><comments>https://news.ycombinator.com/item?id=48353521</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48353521</guid></item><item><title><![CDATA[New comment by vira28 in "Show HN: Streambed – Stream Postgres to Iceberg on S3, Supports Postgres Wire"]]></title><description><![CDATA[
<p>Should be fairly doable using binlog-based producer <a href="https://github.com/go-mysql-org/go-mysql" rel="nofollow">https://github.com/go-mysql-org/go-mysql</a>.</p>
]]></description><pubDate>Mon, 01 Jun 2026 07:07:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=48353511</link><dc:creator>vira28</dc:creator><comments>https://news.ycombinator.com/item?id=48353511</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48353511</guid></item><item><title><![CDATA[New comment by vira28 in "Show HN: Streambed – Stream Postgres to Iceberg on S3, Supports Postgres Wire"]]></title><description><![CDATA[
<p>Both projects are relevant. Curious, what kinda pushdown capabilities that you were looking for?</p>
]]></description><pubDate>Mon, 01 Jun 2026 02:40:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=48352067</link><dc:creator>vira28</dc:creator><comments>https://news.ycombinator.com/item?id=48352067</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48352067</guid></item><item><title><![CDATA[New comment by vira28 in "Show HN: Streambed – Stream Postgres to Iceberg on S3, Supports Postgres Wire"]]></title><description><![CDATA[
<p>Hello, I checked ingestr repo, and it is in my bookmark. Small world.<p>Agree, CDC is like Death by a thousand cuts. I believe Debezium has a Java library.<p>My initial need was Postgres compatibilty. Wanted to give an endpoint that BI and dashboard teams can use to query as if they are querying a Postgres replica. Added more context here <a href="https://news.ycombinator.com/item?id=48350820">https://news.ycombinator.com/item?id=48350820</a></p>
]]></description><pubDate>Sun, 31 May 2026 23:51:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=48351029</link><dc:creator>vira28</dc:creator><comments>https://news.ycombinator.com/item?id=48351029</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48351029</guid></item><item><title><![CDATA[New comment by vira28 in "Show HN: Streambed – Stream Postgres to Iceberg on S3, Supports Postgres Wire"]]></title><description><![CDATA[
<p>Author here. For context, I was the tech lead for the Postgres team at Cloudflare, and this came directly out of a challenge I kept hitting there: BI and dashboard teams needed to run long-running analytical queries, and the answer was always to spin up another bespoke read replica or stand up an ETL dump into an analytical database and query that.<p>So the question I started with was: what's the fewest components I could get away with? That led to the architecture here — Streambed connects to Postgres as a logical replication subscriber (same mechanism as a read replica) and streams WAL changes straight into Apache Iceberg on S3, queryable from psql via an embedded DuckDB. There are a lot of edge cases to handle, and it's very much early days.<p>Welcome any feedback.</p>
]]></description><pubDate>Sun, 31 May 2026 23:23:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=48350820</link><dc:creator>vira28</dc:creator><comments>https://news.ycombinator.com/item?id=48350820</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48350820</guid></item><item><title><![CDATA[Show HN: Streambed – Stream Postgres to Iceberg on S3, Supports Postgres Wire]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/viggy28/streambed">https://github.com/viggy28/streambed</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48348429">https://news.ycombinator.com/item?id=48348429</a></p>
<p>Points: 129</p>
<p># Comments: 40</p>
]]></description><pubDate>Sun, 31 May 2026 18:43:05 +0000</pubDate><link>https://github.com/viggy28/streambed</link><dc:creator>vira28</dc:creator><comments>https://news.ycombinator.com/item?id=48348429</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48348429</guid></item><item><title><![CDATA[New comment by vira28 in "GitLab announces workforce reduction and end of their CREDIT values"]]></title><description><![CDATA[
<p>If I have to guess on why they are providing voluntary exit option, because they have a lot more folks from Europe.</p>
]]></description><pubDate>Tue, 12 May 2026 18:40:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48112482</link><dc:creator>vira28</dc:creator><comments>https://news.ycombinator.com/item?id=48112482</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48112482</guid></item><item><title><![CDATA[Show HN: pg_savior: a seatbelt for Postgres – blocks accidental DELETE/UPDATE]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/viggy28/pg_savior">https://github.com/viggy28/pg_savior</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47912022">https://news.ycombinator.com/item?id=47912022</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 26 Apr 2026 17:23:44 +0000</pubDate><link>https://github.com/viggy28/pg_savior</link><dc:creator>vira28</dc:creator><comments>https://news.ycombinator.com/item?id=47912022</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47912022</guid></item></channel></rss>