Dedicated adapter for Vercel Postgres - Uses the `@vercel/postgres` package under the hood. - No `pg` dependency, speeds up invocation - Includes refactoring all base postgres functionality into a `BasePostgresAdapter` type, which will ease implementation of [other adapters supported by drizzle-orm](https://orm.drizzle.team/docs/get-started-postgresql) ## Usage ```ts import { buildConfig } from 'payload' import { vercelPostgresAdapter } from '@payloadcms/db-vercel-postgres' export default buildConfig({ db: vercelPostgresAdapter({ pool: { connectionString: process.env.DATABASE_URI, }, }), // ...rest of config }) ``` ### Automatic Connection String Detection Have Vercel automatically detect from environment variable (typically `process.env.POSTGRES_URL`) ```ts export default buildConfig({ db: postgresAdapter(), // ...rest of config }) ```
44 lines
986 B
Markdown
44 lines
986 B
Markdown
# Payload Postgres Adapter
|
|
|
|
[Vercel Postgres](https://vercel.com/docs/storage/vercel-postgres) adapter for [Payload](https://payloadcms.com).
|
|
|
|
- [Main Repository](https://github.com/payloadcms/payload)
|
|
- [Payload Docs](https://payloadcms.com/docs)
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
npm install @payloadcms/db-vercel-postgres
|
|
```
|
|
|
|
## Usage
|
|
|
|
### Explicit Connection String
|
|
|
|
```ts
|
|
import { buildConfig } from 'payload'
|
|
import { vercelPostgresAdapter } from '@payloadcms/db-vercel-postgres'
|
|
|
|
export default buildConfig({
|
|
db: vercelPostgresAdapter({
|
|
pool: {
|
|
connectionString: process.env.DATABASE_URI,
|
|
},
|
|
}),
|
|
// ...rest of config
|
|
})
|
|
```
|
|
|
|
### Automatic Connection String Detection
|
|
|
|
Have Vercel automatically detect from environment variable (typically `process.env.POSTGRES_URL`)
|
|
|
|
```ts
|
|
export default buildConfig({
|
|
db: postgresAdapter(),
|
|
// ...rest of config
|
|
})
|
|
```
|
|
|
|
More detailed usage can be found in the [Payload Docs](https://payloadcms.com/docs/configuration/overview).
|