Y
HN HRCB new | past | comments | ask | show | jobs | articles | domains | dashboard | seldon | network | factions | velocity | about hrcb
home / github.com / item 47123631
+0.29 Show HN: PgDog – Scale Postgres without changing the app (github.com)
312 points by levkk 1 days ago | 57 comments on HN | Mild positive Product · vv3.4 · 2026-02-25
Article Heatmap
Preamble: +0.25 — Preamble P Article 1: +0.25 — Freedom, Equality, Brotherhood 1 Article 2: +0.25 — Non-Discrimination 2 Article 3: ND — Life, Liberty, Security Article 3: No Data — Life, Liberty, Security 3 Article 4: ND — No Slavery Article 4: No Data — No Slavery 4 Article 5: ND — No Torture Article 5: No Data — No Torture 5 Article 6: ND — Legal Personhood Article 6: No Data — Legal Personhood 6 Article 7: ND — Equality Before Law Article 7: No Data — Equality Before Law 7 Article 8: ND — Right to Remedy Article 8: No Data — Right to Remedy 8 Article 9: ND — No Arbitrary Detention Article 9: No Data — No Arbitrary Detention 9 Article 10: ND — Fair Hearing Article 10: No Data — Fair Hearing 10 Article 11: ND — Presumption of Innocence Article 11: No Data — Presumption of Innocence 11 Article 12: +0.07 — Privacy 12 Article 13: ND — Freedom of Movement Article 13: No Data — Freedom of Movement 13 Article 14: ND — Asylum Article 14: No Data — Asylum 14 Article 15: ND — Nationality Article 15: No Data — Nationality 15 Article 16: ND — Marriage & Family Article 16: No Data — Marriage & Family 16 Article 17: +0.10 — Property 17 Article 18: ND — Freedom of Thought Article 18: No Data — Freedom of Thought 18 Article 19: +0.53 — Freedom of Expression 19 Article 20: +0.20 — Assembly & Association 20 Article 21: ND — Political Participation Article 21: No Data — Political Participation 21 Article 22: +0.15 — Social Security 22 Article 23: ND — Work & Equal Pay Article 23: No Data — Work & Equal Pay 23 Article 24: ND — Rest & Leisure Article 24: No Data — Rest & Leisure 24 Article 25: +0.40 — Standard of Living 25 Article 26: +0.35 — Education 26 Article 27: +0.47 — Cultural Participation 27 Article 28: +0.10 — Social & International Order 28 Article 29: ND — Duties to Community Article 29: No Data — Duties to Community 29 Article 30: ND — No Destruction of Rights Article 30: No Data — No Destruction of Rights 30
Negative Neutral Positive No Data
Aggregates
Weighted Mean +0.29 Unweighted Mean +0.26
Max +0.53 Article 19 Min +0.07 Article 12
Signal 12 No Data 19
Confidence 23% Volatility 0.14 (Low)
Negative 0 Channels E: 0.5 S: 0.5
SETL -0.13 Structural-dominant
Evidence: High: 2 Medium: 8 Low: 2 No Data: 19
Theme Radar
Foundation Security Legal Privacy & Movement Personal Expression Economic & Social Cultural Order & Duties Foundation: 0.25 (3 articles) Security: 0.00 (0 articles) Legal: 0.00 (0 articles) Privacy & Movement: 0.07 (1 articles) Personal: 0.10 (1 articles) Expression: 0.36 (2 articles) Economic & Social: 0.28 (2 articles) Cultural: 0.41 (2 articles) Order & Duties: 0.10 (1 articles)
Domain Context Profile
Element Modifier Affects Note
Privacy +0.10
Article 12
GitHub has standard privacy controls and policies protecting user data and discussion content from unauthorized access.
Terms of Service +0.05
Article 1 Article 2
GitHub ToS establish baseline equal treatment of users without discrimination, though enforcement depends on implementation.
Accessibility +0.15
Article 25 Article 26
Observable accessibility features including keyboard navigation, ARIA support, and responsive design promote equitable access to platform functionality.
Mission
GitHub's public mission emphasizes open collaboration and global access to development tools, indirectly supporting knowledge-sharing rights.
Editorial Code +0.08
Article 19 Article 27
GitHub community guidelines establish standards for respectful discussion and protect user expression within community contexts.
Ownership -0.05
Article 17
GitHub retains platform control; user-generated content ownership is subject to platform terms, creating conditional rather than absolute intellectual property rights.
Access Model +0.12
Article 19 Article 27
Public discussion board model enables open participation and knowledge dissemination without gatekeeping, supporting freedom of expression and information access.
Ad/Tracking -0.08
Article 12
GitHub's feature flags and analytics tracking create potential privacy concerns; behavioral data collection may infringe on privacy of thought.
HN Discussion 18 top-level · 0 replies
mijoharas 2026-02-23 17:29 UTC link
Happy pgdog user here, I can recommend it from a user perspective as a connection pooler to anyone checking this out (we're also running tests and positive about sharding, but haven't run it in prod yet, so I can't 100% vouch for it on that, but that's where we're headed.)

@Lev, how is the 2pc coming along? I think it was pretty new when I last checked, and I haven't looked into it much since then. Is it feeling pretty solid now?

cpursley 2026-02-23 17:53 UTC link
Looks great - I'd love to include it in https://postgresisenough.dev (just put in a PR: https://github.com/agoodway/postgresisenough?tab=readme-ov-f...)
noleary 2026-02-23 18:19 UTC link
> If you build apps with a lot of traffic, you know the first thing to break is the database.

Just out of curiosity, what kinds of high-traffic apps have been most interested in using PgDog? I see you guys have Coinbase and Ramp logos on your homepage -- seems like fintech is a fit?

jackfischer 2026-02-23 18:37 UTC link
Congrats guys! Curious how the read write splitting is reliable in practice due to replication lag. Do you need to run the underlying cluster with synchronous replication?
I_am_tiberius 2026-02-23 18:42 UTC link
I really hope to use the sharding feature one day.
codegeek 2026-02-23 18:54 UTC link
Stupid question but does this shard the database as well or do we shard manually and then setup the configuration accordingly ?
saisrirampur 2026-02-23 19:11 UTC link
Great progress, guys! It’s impressive to see all the enhancements - more types, more aggregate functions, cross-node DML, resharding, and reliability-focused connection pooling and more. Very cool! These were really hard problems and took multiple years to build at Citus. Kudos to the shipping velocity.
cuu508 2026-02-23 19:46 UTC link
Some HTTP proxies can do retries -- if a connection to one backend fails, it is retried on a different backend. Can PgDog (or PgBouncer, or any other tool) do something similar -- if there's a "database server shutting down" error or a connection reset, retry it on another backend?
mosselman 2026-02-23 20:41 UTC link
I see the word 'replication' mentioned quite a few times. Is this managed by pgdog? Would I be able to replace other logical replication setups with pgdog to create a High Availability cluster?

Do you have any write up on how to do this?

array_loader 2026-02-23 20:54 UTC link
(apologies for new account - NDA applies to the specifics)

Nice surprise to see this here today. I was working on a deployment just last week.

Unfortunately for me, I found that it crashed when doing a very specific bulk load (COPY FORMAT BINARY with array columns inside a transaction). The process loads around 200MB of array columns (in the region of 10K rows) into a variety of tables. Very early in the COPY process PgDog crashes with :

"pgdog router error: failed to fill whole buffer"

So it appears something is not quite right for my specific use case (COPY with array columns). I'm not familiar enough with Rust but the failed to fill whole buffer seemed to come from Rust (rather than PgDog) based on what little I could find with searches.

I was very disappointed as it looked much simpler to get set up and running that PgPool-II (which I have had to revert to as my backup plan - I'm finding it more difficult to configured, but it does cope with the COPY command without issues).

I would have preferred to stick with PgDog.

oulipo2 2026-02-23 23:02 UTC link
How do you know when/if it's justified to add additional complexity like PgDog?

Is there a number of simultaneous connection / req per sec that's a good threshold?

Is it easy on my postgres instance to get the number of simulataneous connections, for instance if I simulate traffic, to know if I would gain anything from a connection pooler?

lordofgibbons 2026-02-23 23:33 UTC link
This looks great! I have a couple of questions:

1) Is it possible to start off with plain Postgres and add pgdog without scheduled downtime down the road when scaling via sharding becomes necessary?

2) How are schema updates handled when using physical multi-tenancy? Does pgdog just loop over all the databases that it knows about and issues the update schema command to each?

farsa 2026-02-24 00:15 UTC link
Congrats on the progress! What is the behavior of PgDoc if it receives some sort of query it can't currently handle properly? Is there a linter/static analysis tool I can use to evaluate if my query will work?
written-beyond 2026-02-24 00:27 UTC link
Can you elaborate a bit more on the challenges faced in making Postgres shard-able?

I remember that adding sharing to Postgres natively was an uphill battle. There were a few companies who has proprietary solutions for it. What you've been able to achieve is nothing less than a miracle.

ijustlovemath 2026-02-24 00:42 UTC link
How would this product compare to a PostgREST based approach (this is the cool tech behind the original supabase) with load balancing at the HTTP level?
gregw2 2026-02-24 02:55 UTC link
As someone who has worked on many-TB-sized "custom" sharded systems with 30-150 shards at multiple (ok, 2) employers, a key challenge to the overall sharding landscape is unsharding all the data back at the analytics layer.

This at a minimum often involved adding back a shard key to the physical data, or partitioning, and/or physical data sorting easily in the "OLAP" layer. And a surprising number of CDC and ETL toolkits don't make it easy to parameterize a single code/configuration base, nor handle situations like shards being down at different times for maintenance or fetching data from each shard at a time of day specified by its end-of-day or handling retransmissions or reconciliation or gaps or data quality of a single shard when back in an unsharded landscape. SQL UNION ALL to reunite shards works, until it doesn't.

YMMV but would be curious if you have a story/solution/thoughts along these lines. It's easier if you shard with unified analytics/reporting in mind on day one of a sharded system design, but in the worlds I've lived in, nobody ever does. But maybe you could.

febed 2026-02-24 04:28 UTC link
Does it support extensions like PostGIS?
jacobsenscott 2026-02-24 06:58 UTC link
I've been watching PgDog for a while now. Great progress!
Score Breakdown
+0.25
Preamble Preamble
Medium P: Public repository infrastructure enables collaborative, equal access to development tools
Editorial
ND
Structural
+0.25
SETL
ND
Combined
ND
Context Modifier
ND

Repository page demonstrates public collaborative platform supporting human dignity through knowledge access. No editorial content present. Structural signals show open platform enabling participation.

+0.25
Article 1 Freedom, Equality, Brotherhood
Medium P: Public repository accessible to all users without account-based discrimination
Editorial
ND
Structural
+0.20
SETL
ND
Combined
ND
Context Modifier
ND

Public GitHub repository model treats all users equally in terms of read access. ToS modifier applies.

+0.25
Article 2 Non-Discrimination
Medium P: No observable discrimination in repository access or contribution policies
Editorial
ND
Structural
+0.20
SETL
ND
Combined
ND
Context Modifier
ND

Platform provides equal access regardless of background. ToS baseline equal treatment modifier applied.

ND
Article 3 Life, Liberty, Security

No observable content addressing right to life, liberty or security.

ND
Article 4 No Slavery

No observable content addressing slavery or servitude.

ND
Article 5 No Torture

No observable content addressing torture or cruel treatment.

ND
Article 6 Legal Personhood

No observable content addressing right to recognition as person before law.

ND
Article 7 Equality Before Law

No observable content addressing equal protection under law.

ND
Article 8 Right to Remedy

No observable content addressing effective remedy for rights violations.

ND
Article 9 No Arbitrary Detention

No observable content addressing arbitrary arrest or detention.

ND
Article 10 Fair Hearing

No observable content addressing fair trial or public hearing.

ND
Article 11 Presumption of Innocence

No observable content addressing criminal procedure rights.

+0.07
Article 12 Privacy
Low P: Privacy controls available through GitHub infrastructure
Editorial
ND
Structural
+0.05
SETL
ND
Combined
ND
Context Modifier
ND

Repository page contains analytics and tracking via feature flags. Privacy controls available but collection practices present. Privacy and ad_tracking modifiers apply (net +0.02).

ND
Article 13 Freedom of Movement

No observable content addressing freedom of movement.

ND
Article 14 Asylum

No observable content addressing asylum or nationality.

ND
Article 15 Nationality

No observable content addressing nationality or national community membership.

ND
Article 16 Marriage & Family

No observable content addressing marriage or family rights.

+0.10
Article 17 Property
Medium P: Open source code sharing enables collective ownership and attribution
Editorial
ND
Structural
+0.15
SETL
ND
Combined
ND
Context Modifier
ND

Repository enables open-source contributions and licensing. However, GitHub platform retains control over hosting and user data, limiting absolute ownership rights. Ownership modifier applied.

ND
Article 18 Freedom of Thought

No observable content addressing freedom of thought or conscience.

+0.53
Article 19 Freedom of Expression
High A: Public repository enables free expression and information sharing P: Open discussion model without editorial gatekeeping F: Software project presented as collaborative knowledge artifact
Editorial
+0.30
Structural
+0.35
SETL
-0.13
Combined
ND
Context Modifier
ND

Repository page enables public speech through issues, discussions, and code sharing. Feature flags indicate community discussion tools. Editorial code and access_model modifiers both apply (+0.20 combined, capped at +0.20).

+0.20
Article 20 Assembly & Association
Medium P: Open-source community enables peaceful assembly through collaborative projects
Editorial
ND
Structural
+0.20
SETL
ND
Combined
ND
Context Modifier
ND

Repository structure supports collaborative community assembly without coercion. No editorial content present.

ND
Article 21 Political Participation

No observable content addressing democratic participation or public office.

+0.15
Article 22 Social Security
Medium P: Open-source contribution model enables social and cultural participation
Editorial
ND
Structural
+0.15
SETL
ND
Combined
ND
Context Modifier
ND

Repository enables participation in technical community and social cultural exchange through open collaboration.

ND
Article 23 Work & Equal Pay

No observable content addressing labor rights or employment.

ND
Article 24 Rest & Leisure

No observable content addressing rest, leisure or holidays.

+0.40
Article 25 Standard of Living
Medium P: Open-source software accessible to all, supporting technical access to services
Editorial
ND
Structural
+0.25
SETL
ND
Combined
ND
Context Modifier
ND

Public repository with no account paywall enables access to development tools and knowledge. Accessibility modifier applies.

+0.35
Article 26 Education
Medium P: Open-source education through documented code and collaborative learning
Editorial
ND
Structural
+0.20
SETL
ND
Combined
ND
Context Modifier
ND

Repository provides free access to technical knowledge and skill development. Accessibility modifier applies.

+0.47
Article 27 Cultural Participation
High A: Open-source software shared as public benefit P: Copyright attribution preserved through open-source licensing model F: Collaborative authorship enables shared intellectual property
Editorial
+0.25
Structural
+0.30
SETL
-0.12
Combined
ND
Context Modifier
ND

Repository demonstrates open-source intellectual property model enabling shared authorship and creative participation. Editorial code and access_model modifiers both apply (+0.20 combined, capped at +0.20).

+0.10
Article 28 Social & International Order
Low P: Open-source contribution enables participation in social order
Editorial
ND
Structural
+0.10
SETL
ND
Combined
ND
Context Modifier
ND

Repository enables participation in technical social order through collaborative contribution.

ND
Article 29 Duties to Community

No observable content addressing limitations on rights or community duties.

ND
Article 30 No Destruction of Rights

No observable content addressing interpretation or supremacy of rights.

About HRCB | By Right | HN Guidelines | HN FAQ | Source | UDHR | RSS
build f581ea9+b3nz · 2026-02-25 03:04 UTC