When deploying PayloadCMS to Vercel and accessing the Payload admin page, the request to supabase fails.
Error: getaddrinfo ENOTFOUND db.***.supabase.co at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:120:26) at GetAddrInfoReqWrap.callbackTrampoline (node:internal/async_hooks:130:17) { errno: -3007, code: 'ENOTFOUND', syscall: 'getaddrinfo', hostname: 'db.***.supabase.co'}This is not a problem when running locally. I have confirmed that the request endpoint is correct and that the communication to google is successful.
Is it a DNS problem in the Vercel runtime environment?
package.json:
{ "name": "rafuten", "version": "1.0.0", "description": "A blank template to get started with Payload 3.0", "license": "MIT", "type": "module", "scripts": { "build": "cross-env NODE_OPTIONS=--no-deprecation next build", "dev": "cross-env NODE_OPTIONS=--no-deprecation next dev", "devsafe": "rm -rf .next && cross-env NODE_OPTIONS=--no-deprecation next dev", "generate:importmap": "cross-env NODE_OPTIONS=--no-deprecation payload generate:importmap", "generate:types": "cross-env NODE_OPTIONS=--no-deprecation payload generate:types", "lint": "cross-env NODE_OPTIONS=--no-deprecation next lint", "payload": "cross-env NODE_OPTIONS=--no-deprecation payload", "start": "cross-env NODE_OPTIONS=--no-deprecation next start" }, "dependencies": { "@payloadcms/db-postgres": "beta", "@payloadcms/next": "beta", "@payloadcms/payload-cloud": "beta", "@payloadcms/richtext-lexical": "beta", "cross-env": "^7.0.3", "graphql": "^16.8.1", "next": "15.0.0", "payload": "beta", "react": "19.0.0-rc-65a56d0e-20241020", "react-dom": "19.0.0-rc-65a56d0e-20241020", "server-only": "^0.0.1", "sharp": "0.32.6" }, "devDependencies": { "@eslint/eslintrc": "^3.2.0", "@types/node": "^22.5.4", "@types/react": "npm:types-react@19.0.0-rc.1", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1", "autoprefixer": "^10.4.20", "eslint": "^8", "eslint-config-next": "15.0.0", "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "5.6.3" }, "engines": { "node": "^18.20.2 || >=20.9.0" }, "pnpm": { "overrides": { "@types/react": "npm:types-react@19.0.0-rc.1", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1" } }, "overrides": { "@types/react": "npm:types-react@19.0.0-rc.1", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1" }}payload.config.ts:
import { postgresAdapter } from '@payloadcms/db-postgres'import { payloadCloudPlugin } from '@payloadcms/payload-cloud'import { lexicalEditor } from '@payloadcms/richtext-lexical'import path from 'path'import { buildConfig } from 'payload'import sharp from 'sharp'import { fileURLToPath } from 'url'
import { Media } from './collections/Media'import { Users } from './collections/Users'
const filename = fileURLToPath(import.meta.url)const dirname = path.dirname(filename)
export default buildConfig({ admin: { user: Users.slug, importMap: { baseDir: path.resolve(dirname), }, }, collections: [Users, Media], editor: lexicalEditor(), secret: process.env.PAYLOAD_SECRET || '', typescript: { outputFile: path.resolve(dirname, 'payload-types.ts'), }, db: postgresAdapter({ pool: { // connectionString: process.env.DATABASE_URI || '', database: process.env.DATABASE_NAME || '', user: process.env.DATABASE_USER || '', password: process.env.DATABASE_PASSWORD || '', host: process.env.DATABASE_HOST || '', port: parseInt(process.env.DATABASE_PORT || '5432', 10), }, }), sharp, plugins: [ payloadCloudPlugin(), // storage-adapter-placeholder ],})