Connect a Sveltekit application to Neon
Sveltekit is a modern JavaScript framework that compiles your code to tiny, framework less vanilla JS. This guide explains how to connect Sveltekit with Neon using a secure server side request. To cre...
Pre-built prompt for connecting SvelteKit applications to Lakebase Postgres.
Sveltekit is a modern JavaScript framework that compiles your code to tiny, framework-less vanilla JS. This guide explains how to connect Sveltekit with Neon using a secure server-side request.
To create a project on Neon and access it from a Sveltekit application:
Create a Neon project
If you do not have one already, create a Neon project. Save your connection details including your password. They are required when defining connection settings.
- Navigate to the Projects page in the Neon Console.
- Click New Project.
- Specify your project settings and click Create Project.
Create a Sveltekit project and add dependencies
- Create a Sveltekit project using the following commands:
Bash npx sv create my-app --template minimal --no-add-ons --types ts cd my-app - Add project dependencies using one of the following commands:npm install @neondatabase/serverless dotenvnpm install postgres dotenvnpm install pg dotenv
- Create a Sveltekit project using the following commands:
Store your Neon credentials
Add a
.envfile to your project directory and add your Neon connection string to it. You can find the connection string for your database by clicking the Connect button in the Console nav. For more information, see Connect from any application.Bash DATABASE_URL="postgresql://<user>:<password>@<endpoint_hostname>.neon.tech:<port>/<dbname>?sslmode=require&channel_binding=require"Configure the Postgres client
There are two parts to connecting a SvelteKit application to Neon. The first is
db.server.ts, which contains the database configuration. The second is the server-side route where the connection to the database will be used.db.server
Create a
db.server.tsfile at the root of your/srcdirectory and add the following code snippet to connect to your Neon database:Neon serverless driver import 'dotenv/config'; import { neon } from '@neondatabase/serverless'; const connectionString: string = process.env.DATABASE_URL as string; const sql = neon(connectionString); export { sql };postgres.js import 'dotenv/config'; import postgres from 'postgres'; const connectionString: string = process.env.DATABASE_URL as string; const sql = postgres(connectionString, { ssl: 'require' }); export { sql };node-postgres import 'dotenv/config'; import pg from 'pg'; const connectionString: string = process.env.DATABASE_URL as string; const pool = new pg.Pool({ connectionString, ssl: true, }); export { pool };route
Create a
+page.server.tsfile in your route directory and import the database configuration:Neon serverless driver import { sql } from '../db.server'; export async function load() { const response = await sql`SELECT version()`; const { version } = response[0]; return { version, }; }postgres.js import { sql } from '../db.server'; export async function load() { const response = await sql`SELECT version()`; const { version } = response[0]; return { version, }; }node-postgres import { pool } from '../db.server'; export async function load() { const client = await pool.connect(); try { const { rows } = await client.query('SELECT version()'); const { version } = rows[0]; return { version, }; } finally { client.release(); } }Page Component
Create a
+page.sveltefile to display the data:Svelte <script> export let data; </script> <h1>Database Version</h1> <p>{data.version}</p>Run the app
When you run
npm run devyou can expect to see the following on localhost:5173:Bash Database Version PostgreSQL 17.2 on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
Next steps
Section titled “Next steps”- Set up Managed Better Auth: Add managed authentication that branches with your database
- Add Object Storage: S3-compatible file storage that branches with your database
- Deploy a Function: Run backend compute next to your database, no separate hosting needed
- Call an LLM with AI Gateway: Access foundation models from Anthropic, OpenAI, Google, and more with one credential
Need help?
Section titled “Need help?”Join our Discord Server to ask questions or see what others are doing with Neon. For paid plan support options, see Support.