İlginç soru! Kısa cevap: hayır .
Uzun cevap: Tanımlanmış kayıt noktalarının bir listesini almak için mevcut herhangi bir yol görünmemektedir. Daha da kötüsü, bunu yapmanıza izin veren bir PostgreSQL uzantısı oluşturmak mümkün görünmüyor: src / backend / access / transam / xact.c'ye bakarak , RollbackToSavepoint ( savepoint "belirttiğiniz hata mesajı gelir) xact.c'ye statik olarak bildirilen CurrentTransactionState değişkenine güvenir, yani global olarak uzantı koduna görünmez.
Şimdi, sunucu tarafından tanımlanmış kayıt noktalarının bir listesini oluşturmaya cesaret ediyorsanız ve oldukça çaresizseniz (sadece müşterinizin hatırlatmasının aksine ...), xact.c'ye bunu gösteren bir yardımcı işlev ekleyebilirsiniz. sizin için bilgi. Aslında, işte böyle bir yama . Bu sadece örnekleme amaçlı çok kaba bir yama ve sadece kaydetme noktası adlarını kaydediyor, gerçekten bu adları setof metni olarak döndürüyor olmalı.
Bu özelliğin neden eksik olduğuna gelince, tanımlanmış kayıt noktalarının bir listesini sunucudan alması gereken bir istemci için makul bir kullanım durumu olmadığını düşünüyorum. Müşteri bu listeyle ne yapardı - sadece rastgele birini seçin ve listeye ekleyin ROLLBACK
mi? ROLLBACK
körü körüne son? AFAICT kayıt noktaları yalnızca bir müşteri hangi kayıt noktalarını tanımladığını ve bunlardan yararlanabilmek için nerede olduğunu hatırladığında yararlıdır.