Przejdź do głównej zawartości

Neon Postgres & Astro

Ta treść nie jest jeszcze dostępna w Twoim języku.

Neon is a fully managed serverless Postgres database. It separates storage and compute to offer autoscaling, branching, and bottomless storage.

To use Neon with Astro, you will need to set a Neon environment variable. Create or edit the .env file in your project root, and add the following code, replacing your own project details:

.env
NEON_DATABASE_URL="postgresql://<user>:<password>@<endpoint_hostname>.neon.tech:<port>/<dbname>?sslmode=require"

For better TypeScript support, define environment variables in a src/env.d.ts file:

src/env.d.ts
interface ImportMetaEnv {
readonly NEON_DATABASE_URL: string;
}
interface ImportMeta {
readonly env: ImportMetaEnv;
}
Learn more about environment variables and .env files in Astro.

Install the @neondatabase/serverless package to connect to Neon:

Terminal window
npm install @neondatabase/serverless

Create a new file src/lib/neon.ts with the following code to initialize your Neon client:

src/lib/neon.ts
import { neon } from '@neondatabase/serverless';
export const sql = neon(import.meta.env.NEON_DATABASE_URL);

You can now use the Neon client to query your database from any .astro component. The following example fetches the current time from the Postgres database:

src/pages/index.astro
---
import { sql } from '../lib/neon';
const response = await sql`SELECT NOW() as current_time`;
const currentTime = response[0].current_time;
---
<h1>Current Time</h1>
<p>The time is: {currentTime}</p>

Neon’s branching feature lets you create copies of your database for development or testing. Use this in your Astro project by creating different environment variables for each branch:

.env.development
NEON_DATABASE_URL=your_development_branch_url
.env.production
NEON_DATABASE_URL=your_production_branch_url

Więcej przewodników po backendach

Pomóż nam Społeczność Sponsor