답변:
재미있는 질문! 짧은 대답 : 아니오 .
긴 대답 : 세이브 포인트 목록을 정의하는 기존 방법이없는 것 같습니다. 더 나쁜 것은 PostgreSQL 확장을 만드는 것이 불가능한 것 같습니다. src / backend / access / transam / xact.c 를 보면 RollbackToSavepoint와 같은 기능을 볼 수 있습니다. 언급 한 savepoint "오류 메시지는 xact.c에 정적으로 선언 된 변수 CurrentTransactionState에 의존합니다. 즉, 전역 적으로 확장 코드에 표시되지 않습니다.
이제 서버 측에서 정의 된 저장 점 목록을 생성하기 위해 대담하고 필사적 인 경우 (클라이언트가 기억하는 것과는 대조적으로 ...) xact.c에 도우미 함수를 추가하여 이것을 표시 할 수 있습니다 당신을위한 정보. 실제로 여기에 그러한 패치가 있습니다. 이는 설명을위한 매우 거친 패치이며 저장 점 이름을 전자 메일로 보내면 해당 이름을 텍스트 집합으로 반환해야합니다.
이 기능이 누락 된 이유에 대해서는 서버에서 정의 된 저장 점 목록을 가져와야하는 클라이언트에 대한 사용 사례가 없다고 가정합니다. 고객이이 목록으로 ROLLBACK
무엇을합니까? 무작위로 하나만 선택 하면 되나요? ROLLBACK
마지막으로 맹목적으로? AFAICT 저장 점은 클라이언트가 정의한 저장 점과 저장 점을 사용하기 위해 저장 한 위치를 클라이언트가 기억하는 경우에만 유용합니다.