PG 18 베타1을 도커로 띄워서 테스트 중인데, 기존 Prisma 6 프로젝트에서 prisma migrate dev 돌리면 다음 에러가 납니다.
Error: P1010
User was denied access on the database같은 자격증명으로 psql은 접속이 됩니다. PG 17까지는 잘 됐는데 18로 올리니 안 되네요. Prisma 호환성 문제일까요?
PG 18 베타1을 도커로 띄워서 테스트 중인데, 기존 Prisma 6 프로젝트에서 prisma migrate dev 돌리면 다음 에러가 납니다.
Error: P1010
User was denied access on the database같은 자격증명으로 psql은 접속이 됩니다. PG 17까지는 잘 됐는데 18로 올리니 안 되네요. Prisma 호환성 문제일까요?
댓글 3
Prisma 자체 호환성 문제는 아니고, PG 18에서 기본 인증 방식이 강화된 영향일 가능성이 높습니다.
원인PG 18은 기본
해결 — 두 가지 중 선택scram_iterations를 4096 → 100000으로 올리면서 일부 클라이언트(특히 노드의pg8.10 미만)가 timeout으로 실패합니다. Prisma는 내부적으로pg드라이버를 거치는 케이스가 있어서 영향을 받습니다.마이그레이션 파일 자체가 문제라면 (UUIDv7 등 새 문법 사용 시) 다른 에러가 났을 텐데, P1010은 명백히 인증 단계 실패입니다.
기존 마이그레이션 파일이 PG 17 환경에서 자동 생성된 거라 문제없습니다.
schema.prisma에 새로 추가한 필드 중@default(uuid())가 있는지 확인해보세요.Prisma 6.6부터 PG 18을 감지하면
uuid()를 nativeuuidv7()로 변환합니다. 이 함수는 PG 18부터 네이티브 지원이지만, 베타1에선 일부 빌드에 누락된 케이스가 있어요(2026-05 시점).해결책:
@default(dbgenerated("gen_random_uuid()"))로 명시 — pgcrypto 확장 필요docker pull postgres:18rc1운영에 들어가는 코드는 RC 이상에서 다시 회귀 테스트해주세요. 베타1은 마이그레이션 파일까지 운영에 가져가지 않는 게 안전합니다.