Skip to content
Go To Agency
/Web Development
Web Development

Per-Seat SaaS vs Self-Hosted Postgres: The Arithmetic Nobody Runs Honestly

Airtable Business at 15 seats costs $8,100 a year. A private European server costs €180 to €540, whatever the headcount. Here is the honest arithmetic, what the subscription also paid for, and when the migration is a bad idea.

By Robin MonteiroAugust 10, 202614 min · 3 178 mots
Share article
Per-Seat SaaS vs Self-Hosted Postgres: The Arithmetic Nobody Runs Honestly
The invoice that grows every time you hire <p>Per-seat pricing is the most elegant business model a software vendor ever designed, and the least comfortable one a growing team ever signs. You are not buying a tool. You are renting a multiplier attached to your headcount. Hire an operations analyst, bring on three contractors for a quarter, let the finance team into the workspace so they stop asking for CSV exports, and the invoice moves before the value does.</p> <p>At eight people this is invisible. At fifteen it shows up in a budget review. At fifty someone in finance circles the line item and asks the question that brings you to an article like this one: <strong>could we just run this ourselves on Postgres?</strong></p> <p>The answer is sometimes yes and often no, and the difference is not ideological. It is arithmetic. Most articles on this subject put a $8,100 annual subscription next to a $60 server, declare a 96 percent saving and stop there. That comparison is not merely optimistic, it is wrong in a way any engineer who has actually operated a database will spot in four seconds. This piece runs the honest version.</p> <p>Every vendor price below was read on the publisher's own pricing page on <strong>10 August 2026</strong>. Nothing here is estimated, extrapolated or remembered.</p> <h2>How these tools actually bill, which is not how people describe it</h2> <h3>Airtable</h3> <p><a href="https://airtable.com/pricing" target="_blank" rel="noopener">Airtable</a> charges <strong>$20 per seat per month on the annual commitment for Team</strong>, and <strong>$24 if you pay monthly</strong>. Business is <strong>$45 per seat per month annually, $54 monthly</strong>. The monthly premium is 20 percent, which is the vendor pricing your optionality.</p> <p>Now the rule that most comparison articles get wrong, and it matters more than the headline rate: <strong>Airtable bills only the users who hold edit rights on at least one base in the workspace.</strong> Collaborators with read-only access are not billed. People submitting through a form are not billed. Anyone consuming a share link is not billed.</p> <p>Run that against a real company. A forty-person business where twelve people build and maintain bases and twenty-eight people read dashboards and submit forms is a <strong>twelve-seat bill, not a forty-seat bill</strong>. If you have been quoting yourself the forty-seat number in internal debates, you have been arguing against a phantom, and the case for migrating is materially weaker than you thought. Before you scope any migration, open the billing page and count actual editors. That single audit is the cheapest way to find out whether there is a case at all, and it often ends the discussion before any technical objection is raised.</p> <h3>Notion</h3> <p><a href="https://www.notion.com/pricing" target="_blank" rel="noopener">Notion Business</a> sits at <strong>$20 per user per month billed annually, $24 monthly</strong>. Same structure as Airtable Team, same annual discount shape. The difference is that Notion's value concentrates in documents and knowledge rather than structured records, which changes what a Postgres migration would even replace. Migrating a Notion wiki to a database is not a migration, it is a rewrite of how your company writes things down. Keep those two conversations separate.</p> <h3>Monday.com</h3> <p><a href="https://monday.com/pricing" target="_blank" rel="noopener">Monday</a> lists <strong>Basic at $9, Standard at $12 and Pro at $19 per seat per month on the annual plan</strong>, with a <strong>three-seat minimum</strong>. That floor is the detail nobody mentions. A two-person team pays for three. It is trivial money at that size, but it tells you the pricing is designed around team growth, not individual adoption, and the same design philosophy shows up in every tier above.</p> <h3>Smartsheet</h3> <p><a href="https://www.smartsheet.com/pricing" target="_blank" rel="noopener">Smartsheet Pro</a> is <strong>$9 per user per month, and the plan is capped at ten members</strong>. That ceiling is the real constraint, not the rate. Pro is not a plan you scale on, it is a plan you graduate from. We are deliberately not quoting the Business tier here: the figure circulates under two different values across sources we checked, and publishing a number we cannot confirm on the vendor's own page would undermine every other number in this article.</p> <h2>Annual cost by team size</h2> <p>List prices, annual commitment, twelve months, no discounts negotiated. The last column is a private server in Europe, which is a <em>flat</em> line: it does not move when you hire.</p> <table> <thead> <tr><th>Team size</th><th>Airtable Team</th><th>Airtable Business</th><th>Notion Business</th><th>Monday Pro</th><th>Smartsheet Pro</th><th>Private EU server</th></tr> </thead> <tbody> <tr><td>3 seats</td><td>$720</td><td>$1,620</td><td>$720</td><td>$684</td><td>$324</td><td>€180 to €540</td></tr> <tr><td>5 seats</td><td>$1,200</td><td>$2,700</td><td>$1,200</td><td>$1,140</td><td>$540</td><td>€180 to €540</td></tr> <tr><td>10 seats</td><td>$2,400</td><td>$5,400</td><td>$2,400</td><td>$2,280</td><td>$1,080</td><td>€180 to €540</td></tr> <tr><td>15 seats</td><td>$3,600</td><td>$8,100</td><td>$3,600</td><td>$3,420</td><td>Plan capped at 10 members</td><td>€180 to €540</td></tr> <tr><td>25 seats</td><td>$6,000</td><td>$13,500</td><td>$6,000</td><td>$5,700</td><td>Plan capped at 10 members</td><td>€180 to €540</td></tr> <tr><td>50 seats</td><td>$12,000</td><td>$27,000</td><td>$12,000</td><td>$11,400</td><td>Plan capped at 10 members</td><td>€180 to €540</td></tr> </tbody> </table> <p>Read the shape, not just the totals. Every SaaS column is a diagonal line. The server column is horizontal. That is the entire structural argument for self-hosting, and it is real. It is also, on its own, not sufficient to justify anything.</p> <h2>What a private server in Europe actually costs in 2026</h2> <p>Public list prices, read on 10 August 2026. These are market reference points, not our prices.</p> <table> <thead> <tr><th>Provider and plan</th><th>Listed price per month</th><th>Resources</th><th>Note</th></tr> </thead> <tbody> <tr><td><a href="https://www.hetzner.com/cloud" target="_blank" rel="noopener">Hetzner</a> CX23</td><td>€5.49</td><td>2 vCPU, 4 GB RAM</td><td>Shared vCPU, fine for a small internal tool</td></tr> <tr><td>Hetzner CAX11</td><td>€5.99</td><td>ARM entry instance</td><td>Postgres runs well on ARM, check your extensions first</td></tr> <tr><td>Hetzner CCX13</td><td>€42.99</td><td>Dedicated vCPU</td><td>Was €15.99 before the June 2026 increase</td></tr> <tr><td><a href="https://www.scaleway.com/en/pricing/" target="_blank" rel="noopener">Scaleway</a> PLAY2-PICO</td><td>around €4.99</td><td>1 vCPU, 2 GB RAM</td><td>Development and staging only</td></tr> <tr><td>Scaleway PLAY2-MICRO</td><td>around €14</td><td>4 vCPU, 8 GB RAM</td><td>Realistic small production tier</td></tr> <tr><td><a href="https://www.ovhcloud.com/en/vps/" target="_blank" rel="noopener">OVHcloud</a> VPS-1</td><td>€7.60</td><td>Entry VPS</td><td>€3.50 before 1 April 2026</td></tr> </tbody> </table> <h3>Two of those prices doubled this year, and that is the story</h3> <p>Look at the note column. Hetzner's CCX13 went from €15.99 to €42.99. OVH's VPS-1 went from €3.50 to €7.60 on 1 April 2026. These are not promotional expiries, they are structural repricing.</p> <p>The cause is upstream of the hosting industry entirely. <strong>Memory got expensive.</strong> DRAM pricing rose roughly 30 percent against late-2025 levels because AI data center construction is absorbing global DRAM and NAND supply faster than fabs add capacity. Server memory and server SSDs are the same commodities that go into training clusters, and the clusters outbid everyone. Hosting providers who had held prices flat for years passed the increase through in 2026.</p> <p>The practical consequence for you: <strong>any migration business case built on today's hosting price needs a sensitivity check.</strong> If your entire justification survives only while the server costs €15 a month, it is not a business case, it is a bet on a commodity market. Build the case at a price two or three times the current one and see whether it still holds. Ours does, because the flat line beats the diagonal one long before the flat line's height matters. Yours might not. Any article that quotes a hosting price without telling you it moves is going to age badly, and probably already has.</p> <h2>The comparison everyone runs, and why it is dishonest</h2> <p>Here is the seductive version. Airtable Business, 15 seats: <strong>45 × 15 × 12 = $8,100 per year</strong>. A decent European server: <strong>€15 to €45 a month, so €180 to €540 a year</strong>, regardless of how many people use it. Put those side by side and the conclusion writes itself.</p> <p>Except that the $8,100 is not buying a database. Postgres is free. The $8,100 is buying everything wrapped around it, and a bare rented server delivers exactly none of it.</p> <table> <thead> <tr><th>Capability</th><th>In the per-seat subscription</th><th>On a bare rented server</th><th>Who owns it after migrating</th></tr> </thead> <tbody> <tr><td>User interface: grids, forms, views, filters</td><td>Yes, and it is most of what you pay for</td><td>None</td><td>You build it, then you maintain it forever</td></tr> <tr><td>Automated backups with tested restores</td><td>Yes</td><td>Snapshots exist as a paid option you must configure</td><td>You, including the restore drills nobody runs</td></tr> <tr><td>High availability and failover</td><td>Yes on business tiers</td><td>A single VPS is a single point of failure</td><td>You, and it changes the server budget</td></tr> <tr><td>Someone on call when it breaks at 2 a.m.</td><td>Yes, at the vendor's stated SLA</td><td>Nobody</td><td>You, or someone you contract in writing</td></tr> <tr><td>Per-user and per-record access control</td><td>Yes, configured in a UI</td><td>Roles and row-level security exist, unwritten</td><td>You write and test every policy</td></tr> <tr><td>OS and database security patching</td><td>Not your problem</td><td>Entirely your problem</td><td>You, every month, indefinitely</td></tr> </tbody> </table> <p>Comparing $8,100 to a few hundred euros without naming those six rows is not a saving, it is a transfer of unpriced obligations onto your own team. Your reader knows it. Your CFO will find it. Say it out loud and the rest of your argument becomes credible.</p> <h2>The only calculation that matters</h2> <p>Forget the 96 percent. The real question has three parts, in order, and you have to answer all three:</p> <ul> <li><strong>One.</strong> Does the subscription you stop paying fund <em>building</em> the interface that replaces the one you are giving up?</li> <li><strong>Two.</strong> Does it then fund <em>maintaining</em> that interface, year after year, as your processes change?</li> <li><strong>Three.</strong> Does it then fund <em>operating</em> the server: patching, backups, restore tests, monitoring, and a human who answers when it is down?</li> </ul> <p>The saved subscription is your budget line. Whether it covers all three depends entirely on scope, and scope is the thing you establish in writing before anyone touches a schema. An article that skips this question is worth nothing, and a vendor who skips it is selling you a project, not a solution.</p> <h2>When we tell people not to migrate</h2> <p>This is the part of the conversation that actually saves money, so it goes before the part where we describe what we do.</p> <ul> <li><strong>Your real editor count is small.</strong> Under roughly ten billed editors, on Airtable Team or Monday Standard, the annual subscription is a rounding error next to any custom build. Stay. Revisit at twenty-five.</li> <li><strong>Your workspace changes weekly.</strong> The genuine superpower of these tools is that a non-engineer restructures a workflow on a Tuesday afternoon without filing a ticket. If your operations still move that fast, a custom interface will slow you down and you will resent it by month three. Migrate systems that have <em>stopped</em> changing shape.</li> <li><strong>Nobody owns the server afterwards.</strong> If the plan ends at "we will figure out backups later", the plan is to lose data later. An unowned Postgres instance is worse than an expensive subscription, and it fails at the worst possible moment.</li> <li><strong>You are migrating Notion documents.</strong> Wikis, meeting notes and specifications are not relational records. Moving them into Postgres solves a billing problem by creating a writing problem. Different project, different justification.</li> <li><strong>The motivation is annoyance, not economics.</strong> Being irritated by a vendor is a real feeling and a terrible business case. If the numbers do not hold at the current seat count, they do not hold.</li> </ul> <h2>When the numbers do hold</h2> <p>The migration tends to pay when several of these are true at once: you are past twenty-five billed editors and hiring; the core workflow has been stable for over a year; you are already hitting per-base record limits, attachment quotas or API rate limits and reaching for the next tier to escape them; you need joins, transactions or reporting the tool cannot express and you are compensating with fragile automations; and someone credible will own the server in writing rather than in spirit.</p> <p>Note the pattern: the strongest cases are rarely about price alone. Price is what opens the conversation. Hitting the product's ceiling is what closes it.</p> <h2>Where the data sits, and why that argument reads differently in Austin than in Bengaluru</h2> <p>Airtable, Notion and Smartsheet are American companies, and so are the managed Postgres platforms usually proposed as the destination. monday.com is the exception in that list: the company is headquartered in Tel Aviv, Israel, and listed on Nasdaq. Those are facts about corporate domicile, not accusations. Using an American SaaS product is entirely lawful and hundreds of thousands of competent teams do it every day.</p> <p>What changes with geography is which consequence of that fact you care about.</p> <p><strong>If your team and customers are in the United States</strong>, hosting in Europe is not a compliance win. It is a control decision and a cost decision. Control means your schema, your backups and your export path belong to you, so a pricing change, an ownership change or a discontinued tier is an inconvenience rather than an emergency. Cost means European providers list some of the cheapest usable compute on the market, which is why they appear in the table above. The trade-off is honest and physical: a transatlantic round trip has a latency floor set by fiber routing and the speed of light, and no amount of tuning removes it. That floor is irrelevant for a form submission and very relevant for a chatty grid that issues a request per cell. If your workload is chatty and your users are all in one US time zone, put the machine near the users. The arithmetic in this article does not change, only the flag on the data center.</p> <p><strong>If your team is in India</strong>, two things bite harder. First, per-seat pricing is denominated in dollars and does not index to local salary levels. A $45 seat is the same $45 in San Francisco and in Pune, while the payroll sitting next to it is not. The ratio of tool spend to headcount spend is structurally worse outside the highest-wage markets, which is why this question surfaces earlier in Indian engineering organisations than in American ones. Second, if you build for European or British clients, those clients increasingly ask where their data physically lives, and the GDPR framework does impose specific obligations on transfers of personal data outside the EU. Being able to answer "in Frankfurt, on a machine we administer" removes a procurement obstacle. That is a commercial argument, not a legal threat.</p> <h2>Why we do not point you at a managed Postgres</h2> <p>The obvious escape hatch from per-seat billing is a managed Postgres platform. Supabase and Neon are the names that come up, they are genuinely good products, and both are American companies. Choosing one means you have swapped a per-seat subscription for a usage-based subscription and kept every structural dependency that made you uncomfortable: someone else's pricing page, someone else's roadmap, someone else's ownership. A managed service can reprice, change hands or retire a tier, and you inherit the change on their timeline.</p> <p>We say this from the position of people who did it. <strong>Go To Agency left Vercel and Supabase in June 2026 and moved onto our own European server.</strong> Our production runs there. We sell what we operate, which is why our recommendation is a Postgres instance on a private machine in Europe that we administer, and not a resold managed plan with our logo on the invoice.</p> <p>None of which means the Supabase skills stop mattering. Postgres is Postgres. Schema design, row-level security policies, migration discipline and connection pooling are the same craft whether the instance is managed or yours, and that craft is exactly what our <a href="/en/supabase-developer">Supabase and Postgres engineering work</a> covers. The platform changes. The database does not.</p> <h2>What actually breaks when an Airtable base becomes a Postgres schema</h2> <p>Moving the rows is the easy hour. Here is what consumes the real time, roughly in order of pain:</p> <ul> <li><strong>Formula and rollup fields.</strong> These are computed columns with no schema of their own. Each becomes a generated column, a view or application logic, and someone has to decide which, field by field. This is usually the largest single chunk of work and it is almost always underestimated.</li> <li><strong>Linked records.</strong> They look like foreign keys and are not. Airtable links are many-to-many by default, and an export gives you the primary field text rather than a stable record id, so duplicate or renamed values produce references Postgres will refuse outright. Expect to find data that was never actually valid.</li> <li><strong>Attachments.</strong> Files live on vendor infrastructure behind expiring URLs. They need to be pulled, stored in object storage you control, and re-referenced before anything expires.</li> <li><strong>Views, filters and grouping.</strong> Every saved view is a query plus a UI state. Postgres gives you the query for free and none of the UI.</li> <li><strong>Automations and integrations.</strong> Each one is a small piece of undocumented business logic that someone built and forgot. Inventory them before, not after.</li> <li><strong>Permissions.</strong> A UI toggle becomes a row-level security policy you write and then test. This is where migrations quietly leak data if nobody is rigorous.</li> </ul> <p>Downstream of the schema you need an API layer, because a database with no interface is not a tool. That is standard <a href="/en/api-development-agency">API and backend engineering</a>: REST or GraphQL, an OpenAPI schema, authentication, pagination, rate limits. And if the replacement is a genuine internal product rather than a set of admin screens, it is a product build with product concerns like multi-tenancy and role modelling, which is the ground covered by our <a href="/en/saas-development-agency">SaaS development work</a>. Teams that would rather own the code in-house sometimes just need the capacity, in which case <a href="/en/fullstack-developer-hire">hiring full-stack developers</a> onto the existing team is the cheaper structure.</p> <h2>A one-week decision protocol</h2> <p>You do not need a consulting engagement to answer this. You need five days and some discipline.</p> <ul> <li><strong>Day 1.</strong> Open the billing page. Count actual billed editors, not headcount. Multiply by the real annual rate. That number is your entire budget, and it is often smaller than the one in your head.</li> <li><strong>Day 2.</strong> List every formula field, rollup, linked-record relationship, automation and integration. The length of that list, not the row count, predicts the migration effort.</li> <li><strong>Day 3.</strong> Ask which parts of the workspace changed shape in the last six months. Those parts are not migration candidates yet.</li> <li><strong>Day 4.</strong> Name the person or contract that will own patching, backups, restore tests and incident response. If the name is blank, stop here and stay on the subscription.</li> <li><strong>Day 5.</strong> Recompute the case with hosting priced at three times today's rate. If it still holds, it is robust to the memory market. If it does not, you were betting on DRAM prices.</li> </ul> <h2>What we do, plainly</h2> <p>We run PostgreSQL on private servers in Europe that we administer, including encrypted backups and restores we actually test, and we build the interface and API layer that replaces the tool you are leaving. One limit, stated before you sign rather than after: we do not staff a night rota, so the on-call row in the table above stays with you or with someone else you contract in writing. We do not resell a managed American platform, because we do not use one ourselves.</p> <p>Send us the shape of your workspace: the tool, the number of billed editors, the count of formula fields and automations, and where your users physically are. We reply in writing within 24 business hours with a straight answer on whether the migration pays, and we will say so when it does not. Everything is handled in writing. There is no call to schedule.</p> <p><a href="/en/devis">Send us your brief and get a written assessment</a>.</p> <p><em>All vendor pricing in this article was read on the publishers' own pricing pages on 10 August 2026. Hosting prices moved twice in 2026 and will move again. Verify before you commit a budget.</em></p>
AI BRIEF · GO TO AGENCY

AI news, decoded for builders

Once a week, our no-noise take on the AI releases that matter: models, tools, pricing. No spam.

1 email a week · 1-click unsubscribe · GDPR-friendly

RM

About the author

Robin Monteiro

Co-fondateur de Go To Agency

Développeur full-stack et co-fondateur de Go To Agency, Robin conçoit des solutions web performantes avec Next.js, React et les dernières technologies.

Meet the team

Go To Agency: digital agency, Dijon (France)

The team behind this article can build it for you

Custom Next.js websites and e-commerce, SEO that ranks, and ad campaigns measured down to the return. Everything happens in writing, no meetings: describe what you need and we come back with a concrete read.

Your request lands directly in [email protected], reply within 24 business hours, no commitment.

Share article

Questions fréquentes

Is it actually cheaper to self-host Postgres than to pay for Airtable or Monday?+

On the subscription line, obviously yes: Airtable Business at 15 seats is $8,100 a year while a capable European server is €180 to €540 a year and stays flat as you hire. On total cost, it depends entirely on what you build to replace the interface. The subscription buys grids, forms, views, backups, high availability and someone on call. A rented server buys a machine. The saved subscription is your budget; whether it funds building the replacement, then maintaining it as your processes change, then operating the server for years, is the actual question. Under roughly ten billed editors the answer is usually no, and we say so.

How does Airtable really count billed seats?+

Airtable bills only users who hold edit rights on at least one base in the workspace. Read-only collaborators are not billed. People who submit data through a form are not billed. Anyone consuming a shared view link is not billed. Most comparison articles get this wrong and multiply the whole headcount by the seat rate, which inflates the case for migrating by a large factor. In a 40-person company where 12 people build bases and 28 read dashboards, the invoice reflects 12 seats. Open the billing page and count real editors before you scope anything, because that single number frequently ends the discussion.

Should I move to Supabase or Neon instead of running my own server?+

You can, and both are solid products, but understand what you are choosing. They are managed platforms published by American companies, so you swap per-seat billing for usage-based billing while keeping the structural dependency: someone else's pricing page, roadmap and ownership, with repricing or tier changes arriving on their timeline rather than yours. We do not recommend them as a destination because we do not use one ourselves. Go To Agency left Vercel and Supabase in June 2026 for our own European server and our production runs there. We recommend Postgres on a private machine we administer, because that is what we operate.

I am based in the United States. Does hosting in Europe make any sense for me?+

Not as a compliance argument, and anyone selling it to you that way is misreading your situation. For a US team the real arguments are control and cost. Control means the schema, backups and export path are yours, so a vendor pricing change becomes an inconvenience rather than an emergency. Cost means European providers list some of the cheapest usable compute available. The honest trade-off is latency: a transatlantic round trip has a floor set by fiber routing and physics that no tuning removes. That floor is invisible on a form submit and very visible on a chatty grid. If your users are all in one US time zone and the workload is chatty, put the machine near them; the arithmetic here is unchanged.

Why did European hosting prices go up in 2026, and will they keep rising?+

Because memory got expensive. DRAM pricing rose roughly 30 percent against late-2025 levels as AI data center construction absorbed global DRAM and NAND supply faster than fabs could add capacity. Server memory and server SSDs are the same commodities that go into training clusters, and the clusters outbid conventional buyers. Hosting providers who had held prices flat for years passed the increase through. Hetzner's CCX13 moved from €15.99 to €42.99 in June 2026 and OVHcloud's VPS-1 from €3.50 to €7.60 on 1 April 2026. Nobody can promise where it settles, which is why you should rebuild any migration case at two or three times today's hosting price and check whether it still holds.

Related articles

Free quote
Per-Seat SaaS vs Self-Hosted Postgres | Go To Agency