¡Interesante pregunta! Respuesta corta: no .
Respuesta larga: no parece haber ninguna forma existente de obtener una lista de puntos de guardado definidos. Peor aún, no parece posible crear una extensión PostgreSQL que le permita hacer esto: mirando src / backend / access / transam / xact.c , puede ver funciones como RollbackToSavepoint (que es donde eso "no existe "mensaje de error de" punto de salvar "que mencionó proviene) confíe en la variable CurrentTransactionState, que se declara estática en xact.c, es decir, no sería visible globalmente para el código de extensión.
Ahora, si fue atrevido y bastante desesperado por generar una lista de puntos de guardado definidos desde el lado del servidor (en lugar de solo recordarle a su cliente ...), podría agregar una función auxiliar a xact.c que mostraría esto Información para usted. De hecho, aquí hay un parche así . Ese es un parche muy áspero solo con fines ilustrativos, y solo elimina los nombres de los puntos de guardado, realmente debería devolver esos nombres como conjunto de texto.
En cuanto a por qué falta esta característica, supongo que simplemente no hay un caso de uso plausible para un cliente que necesita obtener una lista de puntos de guardado definidos del servidor. ¿Qué haría el cliente con esta lista? ¿Solo elegir una al azar ROLLBACK
? ROLLBACK
hasta el último a ciegas? Los puntos de guardado de AFAICT solo son útiles si un cliente recuerda qué puntos de guardado ha definido y dónde estaban para poder utilizarlos.