Przejdź do głównej zawartości
This is an unmaintained snapshot of the Astro v4 docs. View the latest docs.

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.

Adding Neon to your Astro project

Section titled Adding Neon to your Astro project

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

Jak chcesz ją przekazać?

Otwórz Issue na GitHubie

Najszybszy sposób na powiadomienie nas o problemie.

Społeczność