---
title: Connect a RedwoodSDK application to Neon
subtitle: Set up a Neon project in seconds and connect from a Redwood application
enableTableOfContents: true
updatedOn: '2025-10-24T12:48:41.463Z'
---
[RedwoodSDK](https://rwsdk.com/) is a framework for building full-stack applications on Cloudflare. This guide describes how to create a Neon project and access it from a RedwoodSDK application.
To create a Neon project and access it from a RedwoodSDK 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.
1. Navigate to the [Projects](https://console.neon.tech/app/projects) page in the Neon Console.
2. Click **New Project**.
3. Specify your project settings and click **Create Project**.
## Create a RedwoodSDK project and add dependencies
1. Create a RedwoodSDK project if you do not have one. For instructions, see [RedwoodSDK Quickstart](https://docs.rwsdk.com/getting-started/quick-start/).
2. Navigate into your new project directory and install the RedwoodSDK dependencies:
```bash
cd my-redwood-app
npm install
```
3. Add project dependencies depending on the PostgreSQL driver you wish to use (`postgres.js` or `@neondatabase/serverless`):
```shell
npm install postgres
```
```shell
npm install @neondatabase/serverless
```
## Store your Neon credentials
Add a `.env` file to your project directory and add your Neon connection string to it. You can find your Neon database connection string by clicking the **Connect** button on your **Project Dashboard** to open the **Connect to your database** modal. For more information, see [Connect from any application](/docs/connect/connect-from-any-app).
```shell shouldWrap
DATABASE_URL="postgresql://:@.neon.tech:/?sslmode=require&channel_binding=require"
```
## Configure the Postgres client
In your RedwoodSDK application (e.g., in `src/app/pages/Home.tsx`), import the driver and use it within your route handlers.
Here's how you can set up a simple route to query the database:
```typescript
import { RequestInfo } from "rwsdk/worker";
import postgres from 'postgres';
import { env } from "cloudflare:workers";
async function getData() {
const sql = postgres(env.DATABASE_URL, { ssl: 'require' });
const response = await sql`SELECT version()`;
return response[0].version;
}
export async function Home({ ctx }: RequestInfo) {
const data = await getData();
return <>{data}>;
}
```
```typescript
import { RequestInfo } from "rwsdk/worker";
import { neon } from '@neondatabase/serverless';
import { env } from "cloudflare:workers";
async function getData() {
const sql = neon(env.DATABASE_URL);
const response = await sql`SELECT version()`;
return response[0].version;
}
export async function Home({ ctx }: RequestInfo) {
const data = await getData();
return <>{data}>;
}
```
## Run your RedwoodSDK application
Generate the required Wrangler types for RedwoodSDK to detect environment variables:
```bash
npx wrangler types
```
Start the development server:
```bash
npm run dev
```
Navigate to ([localhost:5173](http://localhost:5173)) in your browser. You should see a response similar to the following, indicating a successful connection to your Neon database:
```text
PostgreSQL 17.5 (6bc9ef8) on aarch64-unknown-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit
```
> The specific version may vary depending on the PostgreSQL version of your Neon project.
## Source code
You can find a sample RedwoodSDK application configured for Neon on GitHub:
Get started with RedwoodSDK and Neon
## Resources
- [RedwoodSDK Documentation](https://docs.rwsdk.com/)
- [Connect to a PostgreSQL database with Cloudflare Workers](https://developers.cloudflare.com/workers/tutorials/postgres/)