Pergunta interessante! Resposta curta: não .
Resposta longa: não parece existir nenhuma maneira de obter uma lista de pontos de salvamento definidos. Pior ainda, não parece possível criar uma extensão do PostgreSQL que permita fazer isso: olhando para src / backend / access / transam / xact.c , você pode ver que funções como RollbackToSavepoint (onde é " A mensagem de erro "savepoint" mencionada por você) depende da variável CurrentTransactionState, declarada estática como xact.c, ou seja, não seria visível globalmente para o código de extensão.
Agora, se você estivesse ousado e desesperado para gerar uma lista de pontos de salvamento definidos do lado do servidor (em vez de apenas lembrar seu cliente ...), você poderia adicionar uma função auxiliar ao xact.c que exibisse isso informação para você. De fato, aqui está exatamente esse patch . Essa é uma correção muito grosseira apenas para fins de ilustração, e apenas os nomes dos pontos de salvamento, eles realmente devem retornar esses nomes como conjunto de texto.
Quanto ao motivo pelo qual esse recurso está ausente, suponho que simplesmente não exista um caso de uso plausível para um cliente que precise buscar uma lista de pontos de salvamento definidos no servidor. O que o cliente faria com essa lista - basta escolher uma aleatoriamente e escolher ROLLBACK
? ROLLBACK
para o último cegamente? Os pontos de salvamento AFAICT são úteis apenas se um cliente se lembrar de quais pontos de salvamento ele definiu e onde eles estavam para poder usá-los.