PrismaClientInitializationError:Next.js项目无法连接Vercel Postgres求助
无法连接Vercel Postgres数据库:PrismaClientInitializationError问题排查
执行npm run dev时反复触发PrismaClientInitializationError: Can't reach database server错误,导致站点无法启动并连接数据库。已尝试将connect_timeout设为1、pool_timeout设为0,且开启pgbouncer=true,但问题仍未解决。
使用技术栈:Next.js、Prisma、Vercel Postgre
相关配置文件及代码
.env
# Created by Vercel CLI POSTGRES_DATABASE="verceldb" POSTGRES_HOST="ep-shy-union-a2mpqijj-pooler.eu-central-1.aws.neon.tech:5432" POSTGRES_PASSWORD="(password)" POSTGRES_PRISMA_URL="postgres://default:(password)@ep-shy-union-a2mpqijj-pooler.eu-central-1.aws.neon.tech/verceldb?pgbouncer=true&connect_timeout=1&sslmode=require&pool_timeout=0" POSTGRES_URL="postgres://default:(password)@ep-shy-union-a2mpqijj-pooler.eu-central-1.aws.neon.tech/verceldb?sslmode=require" POSTGRES_URL_NON_POOLING="postgres://default:(password)@ep-shy-union-a2mpqijj.eu-central-1.aws.neon.tech/verceldb?sslmode=require" POSTGRES_URL_NO_SSL="postgres://default:(password)@ep-shy-union-a2mpqijj-pooler.eu-central-1.aws.neon.tech/verceldb" POSTGRES_USER="default" GITHUB_ID='(password)' GITHUB_SECRET='(password)' NEXTAUTH_URL='http://localhost:3000/api/auth' NEXTAUTH_SECRET='(password)'
package.json
{ "name": "hello-next", "version": "1.0.0", "description": "", "scripts": { "dev": "next", "build": "next build", "start": "next start" }, "keywords": [], "author": "", "license": "MIT", "dependencies": { "@next-auth/prisma-adapter": "^1.0.7", "@prisma/client": "^5.17.0", "@vercel/postgres": "^0.9.0", "next": "12.0.10", "next-auth": "^4.24.7", "react": "17.0.2", "react-dom": "17.0.2", "react-markdown": "8.0.0" }, "devDependencies": { "@types/node": "17.9.1", "@types/react": "17.0.38", "prisma": "^5.17.0", "typescript": "4.5.5" } }
index.tsx
import React from "react" import { GetStaticProps } from "next" import Layout from "../components/Layout" import Post, { PostProps } from "../components/Post" import prisma from '../lib/prisma'; export const getStaticProps: GetStaticProps = async () => { const feed = await prisma.post.findMany({ where: { published: true }, include: { author: { select: { name: true }, }, }, }); return { props: { feed }, revalidate: 10, }; }; type Props = { feed: PostProps[] } const Blog: React.FC<Props> = (props) => { return <></> } export default Blog
错误截图
本地环境错误:

Vercel部署环境错误:

内容的提问来源于stack exchange,提问作者Ahmed B
相关产品推荐
相关产品推荐

