{
 "id": "postgres-hosting",
 "title": "A hosted database for a new web app: five options compared",
 "search_title": "Best hosted database for a new app (Oct 2026): Neon vs Supabase vs PlanetScale vs Turso vs Prisma Postgres",
 "checked": "2026-10-03",
 "method": "Every fact was read from the vendor's own pricing page or Stripe's provider list on the checked date. Nothing here was benchmarked. No vendor paid for or reviewed this page.",
 "picks": [
  {
   "situation": "Side project or prototype that may sit idle for weeks",
   "pick": "Neon",
   "why": "Free with no card, and it sleeps after 5 minutes and wakes on the next query, so idle time costs nothing and nothing gets paused for good."
  },
  {
   "situation": "You also want login, file storage and an API from the same vendor",
   "pick": "Supabase",
   "why": "One account covers database, auth and storage. Free projects pause after a week idle, so it suits apps that get regular traffic."
  },
  {
   "situation": "Many small databases, one per user or per tenant",
   "pick": "Turso",
   "why": "100 databases on the free plan and 500 million row reads a month; it is SQLite-compatible, not Postgres."
  },
  {
   "situation": "You already use Prisma as your ORM",
   "pick": "Prisma Postgres",
   "why": "Free with no card: 200k operations a month and 50 databases. Billing is per operation, so check your query volume."
  },
  {
   "situation": "Production workload where you will pay from day one",
   "pick": "PlanetScale",
   "why": "No free plan; Postgres starts at $5 a month. The pricing page lists no free tier to outgrow or get paused on."
  }
 ],
 "options": [
  {
   "id": "neon",
   "name": "Neon",
   "kind": "Serverless Postgres",
   "status": "Active service.",
   "price": "Free: 100 projects, 1 GB storage per project, 100 compute-hours per project. Paid (Launch): no monthly minimum, $0.106 per compute-hour, $0.35 per GB-month.",
   "free_start": "Yes. No card required.",
   "idle_behaviour": "Free databases scale to zero after 5 minutes idle (cannot be turned off) and wake on the next query.",
   "agent_can_start_alone": "Yes after a one-time human step: via Stripe Projects. See agent_setup.",
   "watch_out": "First query after idle is slower while it wakes.",
   "sources": [
    "https://neon.com/pricing",
    "https://docs.stripe.com/projects"
   ],
   "agent_setup": {
    "command": "stripe projects add neon/postgres",
    "then": "stripe projects env --pull",
    "human_needed": "Once. A person must sign in to Stripe and link or create the provider account before the agent session (stripe projects link <provider>); paid tiers also need a payment method added once (stripe projects billing add). After that the agent can provision and pull credentials without a browser.",
    "note": "Service id as listed on projects.dev on 2026-10-03; a provider may offer more services (stripe projects catalog <provider>).",
    "sources": [
     "https://projects.dev/providers",
     "https://docs.stripe.com/projects"
    ]
   },
   "fact_sources": {
    "price": [
     "https://neon.com/pricing"
    ],
    "free_start": [
     "https://neon.com/pricing"
    ],
    "idle_behaviour": [
     "https://neon.com/pricing"
    ],
    "status": [
     "https://neon.com/pricing"
    ],
    "agent_setup": [
     "https://projects.dev/providers",
     "https://docs.stripe.com/projects"
    ]
   }
  },
  {
   "id": "supabase",
   "name": "Supabase",
   "kind": "Postgres bundled with auth, storage and APIs",
   "status": "Active service.",
   "price": "Free: 2 active projects. Pro $25/month.",
   "free_start": "Yes. The pricing page does not say whether a card is needed.",
   "idle_behaviour": "Free projects are paused after 1 week of inactivity and must be restored by hand.",
   "agent_can_start_alone": "Yes after a one-time human step: via Stripe Projects. See agent_setup.",
   "watch_out": "An unattended free project stops working after a quiet week.",
   "sources": [
    "https://supabase.com/pricing",
    "https://docs.stripe.com/projects"
   ],
   "agent_setup": {
    "command": "stripe projects add supabase/project",
    "then": "stripe projects env --pull",
    "human_needed": "Once. A person must sign in to Stripe and link or create the provider account before the agent session (stripe projects link <provider>); paid tiers also need a payment method added once (stripe projects billing add). After that the agent can provision and pull credentials without a browser.",
    "note": "Service id as listed on projects.dev on 2026-10-03; a provider may offer more services (stripe projects catalog <provider>).",
    "sources": [
     "https://projects.dev/providers",
     "https://docs.stripe.com/projects"
    ]
   },
   "fact_sources": {
    "price": [
     "https://supabase.com/pricing"
    ],
    "free_start": [
     "https://supabase.com/pricing"
    ],
    "idle_behaviour": [
     "https://supabase.com/pricing"
    ],
    "status": [
     "https://supabase.com/pricing"
    ],
    "agent_setup": [
     "https://projects.dev/providers",
     "https://docs.stripe.com/projects"
    ]
   }
  },
  {
   "id": "planetscale",
   "name": "PlanetScale",
   "kind": "Managed Postgres and MySQL-compatible (Vitess)",
   "status": "Active service.",
   "price": "No free plan listed. Postgres from $5/month (single node). Vitess priced by cluster size.",
   "free_start": "No free plan on the pricing page.",
   "idle_behaviour": "Not stated on the pricing page.",
   "agent_can_start_alone": "Yes after a one-time human step: via Stripe Projects. See agent_setup.",
   "watch_out": "You pay from the first day.",
   "sources": [
    "https://planetscale.com/pricing",
    "https://docs.stripe.com/projects"
   ],
   "agent_setup": {
    "command": "stripe projects add planetscale/postgresql",
    "then": "stripe projects env --pull",
    "human_needed": "Once. A person must sign in to Stripe and link or create the provider account before the agent session (stripe projects link <provider>); paid tiers also need a payment method added once (stripe projects billing add). After that the agent can provision and pull credentials without a browser.",
    "note": "Service id as listed on projects.dev on 2026-10-03; a provider may offer more services (stripe projects catalog <provider>).",
    "sources": [
     "https://projects.dev/providers",
     "https://docs.stripe.com/projects"
    ]
   },
   "fact_sources": {
    "price": [
     "https://planetscale.com/pricing"
    ],
    "free_start": [
     "https://planetscale.com/pricing"
    ],
    "idle_behaviour": [
     "https://planetscale.com/pricing"
    ],
    "status": [
     "https://planetscale.com/pricing"
    ],
    "agent_setup": [
     "https://projects.dev/providers",
     "https://docs.stripe.com/projects"
    ]
   }
  },
  {
   "id": "turso",
   "name": "Turso",
   "kind": "SQLite-compatible database (not Postgres)",
   "status": "Active service.",
   "price": "Free: 100 databases, 5 GB, 500 million rows read and 10 million rows written a month. Developer $4.99/month: 9 GB, 2.5 billion rows read.",
   "free_start": "Yes. No card required.",
   "idle_behaviour": "Not stated on the pricing page.",
   "agent_can_start_alone": "Yes after a one-time human step: via Stripe Projects. See agent_setup.",
   "watch_out": "Not Postgres: Postgres-only libraries and extensions will not work.",
   "sources": [
    "https://turso.tech/pricing",
    "https://docs.stripe.com/projects"
   ],
   "agent_setup": {
    "command": "stripe projects add turso/database",
    "then": "stripe projects env --pull",
    "human_needed": "Once. A person must sign in to Stripe and link or create the provider account before the agent session (stripe projects link <provider>); paid tiers also need a payment method added once (stripe projects billing add). After that the agent can provision and pull credentials without a browser.",
    "note": "Service id as listed on projects.dev on 2026-10-03; a provider may offer more services (stripe projects catalog <provider>).",
    "sources": [
     "https://projects.dev/providers",
     "https://docs.stripe.com/projects"
    ]
   },
   "fact_sources": {
    "price": [
     "https://turso.tech/pricing"
    ],
    "free_start": [
     "https://turso.tech/pricing"
    ],
    "idle_behaviour": [
     "https://turso.tech/pricing"
    ],
    "status": [
     "https://turso.tech/pricing"
    ],
    "agent_setup": [
     "https://projects.dev/providers",
     "https://docs.stripe.com/projects"
    ]
   }
  },
  {
   "id": "prisma-postgres",
   "name": "Prisma Postgres",
   "kind": "Managed Postgres from the Prisma ORM company",
   "status": "Active service.",
   "price": "Free: 200k operations a month, 500 MB, 50 databases. Starter $10/month: 1M operations, 10 GB.",
   "free_start": "Yes. No card required.",
   "idle_behaviour": "Not stated on the pricing page.",
   "agent_can_start_alone": "Yes after a one-time human step: via Stripe Projects. See agent_setup.",
   "watch_out": "Priced per operation, which is harder to predict than storage and compute.",
   "sources": [
    "https://www.prisma.io/pricing",
    "https://docs.stripe.com/projects"
   ],
   "agent_setup": {
    "command": "stripe projects add prisma/database",
    "then": "stripe projects env --pull",
    "human_needed": "Once. A person must sign in to Stripe and link or create the provider account before the agent session (stripe projects link <provider>); paid tiers also need a payment method added once (stripe projects billing add). After that the agent can provision and pull credentials without a browser.",
    "note": "Service id as listed on projects.dev on 2026-10-03; a provider may offer more services (stripe projects catalog <provider>).",
    "sources": [
     "https://projects.dev/providers",
     "https://docs.stripe.com/projects"
    ]
   },
   "fact_sources": {
    "price": [
     "https://www.prisma.io/pricing"
    ],
    "free_start": [
     "https://www.prisma.io/pricing"
    ],
    "idle_behaviour": [
     "https://www.prisma.io/pricing"
    ],
    "status": [
     "https://www.prisma.io/pricing"
    ],
    "agent_setup": [
     "https://projects.dev/providers",
     "https://docs.stripe.com/projects"
    ]
   }
  }
 ],
 "not_checked": [
  "Speed or reliability of any option",
  "Supabase's free database size",
  "Whether PlanetScale or Supabase need a card to start",
  "Region availability"
 ],
 "changelog": [
  {
   "date": "2026-10-03",
   "change": "First version."
  },
  {
   "date": "2026-10-03",
   "change": "Added agent_setup (exact command and whether a human is needed) and a source for every fact."
  }
 ],
 "how_to_read": "Each option has fact_sources: the page each fact was read from. Verify the deciding fact there. 'picks' are our reading of the facts for common situations, not a ranking; the facts stand without them.",
 "publisher": {
  "name": "Stackfacts",
  "about": "https://stackfacts.dev/about",
  "location": "Austin, Texas",
  "funding": "No vendor payments, no affiliate commissions.",
  "policy": "Placement cannot be bought. Every number states how it was counted.",
  "corrections": "corrections@stackfacts.dev"
 },
 "source_url": "https://stackfacts.dev/postgres-hosting"
}