개발자

postgreSQL Sequence Error 원인이 무엇인가요?

2023년 01월 31일조회 171

현재 postgreSQL DB, 시퀀스를 사용하고 있는 상태입니다. 에러 내용 : currval of sequence "시퀀스명" is not yet defined in this session select nextval('시퀀스명'); 현재 쿼리를 실행후 select currval('시퀀스명'); 쿼리를 실행하면 정상적으로 쿼리가 실행됩니다. 하지만 nextval로 시퀀스를 올리지않고 currval 현재 시퀀스를 조회하면 위와 같은 에러가 발생합니다. 왜 에러가 발생하는 건가요? 선배님들 도와주세요!

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

손정현님의 프로필 사진

안녕하세요! 공식 문서를 따르면 currval의 값은 nextval이 호출되어야 할당이 되는 것 같아요. - https://www.postgresql.org/docs/current/functions-sequence.html - https://www.postgresql.org/docs/current/sql-createsequence.html 이유는 세션 로컬하게 작동하도록 설계 되어있기 때문입니다. 참고해보시면 좋을 것 같아요 :) - https://velog.io/@dailylifecoding/postgresql-nextval-currval-calling-order

profile picture

익명

작성자

2023년 01월 31일

쉽게 말해서 시퀀스가 꼬일수 있어서 저렇게 시퀀스 설계를 한거 같네요 친절한 답변 감사합니다~~

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!