Prepared Statement Error with Prisma and PostgreSQL

Hello All, I'm encountering a persistent yet intermittent issue with prepared statements in my application using Prisma and PostgreSQL. I'd appreciate any insights or suggestions you might have. Issue Description: I frequently receive the error: "prepared statement 's1' already exists". This error occurs intermittently during various database operations using Prisma Client. Sometimes the operations succeed, and other times, I encounter this error, requiring several refreshes to get it to work. Environment: Prisma Version: ^5.6.0 PostgreSQL Version: 14.10 Node.js Version: v14.19.1 Deployment Environment: Vercel serverless Current Configuration: I am not using a connection pooler like PgBouncer. My Prisma schema is configured with a standard PostgreSQL connection URL. I have not explicitly disabled prepared statement caching and prefer to keep it for performance benefits. Error log: Query Error: PrismaClientUnknownRequestError: Invalid prisma.user.findMany() invocation: Error occurred during query execution: ConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(PostgresError { code: "42P05", message: "prepared statement \"s1\" already exists", severity: "ERROR", detail: None, column: None, hint: None }), transient: false }) at ni.handleRequestError (/var/task/node_modules/@prisma/client/runtime/library.js:124:6989) at ni.handleAndLogRequestError (/var/task/node_modules/@prisma/client/runtime/library.js:124:6206) at ni.request (/var/task/node_modules/@prisma/client/runtime/library.js:124:5926) at async l (/var/task/node_modules/@prisma/client/runtime/library.js:129:10023) at async /var/task/.next/server/chunks/1312.js:1:249 at async Object.getUsers (/var/task/.next/server/chunks/1312.js:1:1143) at async handleGetUsers (/var/task/.next/server/pages/api/users.js:1:630) { clientVersion: '5.6.0' } Attempts to Resolve: Updated Prisma to the latest version. Reviewed and optimized Prisma queries for complexity and standardization. Monitored database performance but did not find clear patterns related to the error. The application is deployed in a serverless environment on Vercel, which may impact database connection management. The intermittent nature of the error is particularly puzzling. Any advice on configurations, optimizations, or other troubleshooting steps would be greatly appreciated. Thank you!
Solution:
I was able to resolve this issue. I found that vercel provides you with default pooling and non-pooling environment variables: - "POSTGRES_PRISMA_URL" - "POSTGRES_URL_NON_POOLING" Rather than continuing to modify the env variables that I created, I just used these and the problem was fixed....
Jump to solution
1 Reply
Solution
divox
divox10mo ago
I was able to resolve this issue. I found that vercel provides you with default pooling and non-pooling environment variables: - "POSTGRES_PRISMA_URL" - "POSTGRES_URL_NON_POOLING" Rather than continuing to modify the env variables that I created, I just used these and the problem was fixed.
Want results from more Discord servers?
Add your server