Deployment
The generated server is a standard Hono app — deploy it anywhere Hono runs. The main thing to get right is connection-pool sizing.
Serverless (Vercel, Netlify, Cloudflare Workers)
Section titled “Serverless (Vercel, Netlify, Cloudflare Workers)”Each instance is ephemeral and handles one request at a time, so use max: 1 — pooling provides
no benefit and wastes database connections.
import { Pool } from "@neondatabase/serverless";
const pool = new Pool({ connectionString: process.env.DATABASE_URL, max: 1 });const router = createRouter({ pg: pool });For edge runtimes, set useJsExtensions so generated imports
include .js extensions.
Traditional servers (Railway, Render, VPS)
Section titled “Traditional servers (Railway, Render, VPS)”Long-running servers handle many concurrent requests; pool to reuse connections.
import { Pool } from "@neondatabase/serverless"; // or "pg"
const pool = new Pool({ connectionString: process.env.DATABASE_URL, max: 10 });const router = createRouter({ pg: pool });