Câu hỏi thú vị! Câu trả lời ngắn: không .
Câu trả lời dài: dường như không có bất kỳ cách nào hiện có để có được một danh sách các điểm lưu trữ được xác định. Thậm chí tệ hơn, dường như không thể tạo tiện ích mở rộng PostgreSQL cho phép bạn làm điều này: nhìn vào src / backend / access / transam / xact.c , bạn có thể thấy các chức năng như RollbackToSavepoint (đó là nơi "không như vậy thông báo lỗi lưu trữ "mà bạn đã đề cập đến từ) dựa vào biến CurrentTransactionState, được khai báo là tĩnh đối với xact.c, tức là sẽ không hiển thị trên toàn cầu đối với mã mở rộng.
Bây giờ, nếu bạn táo bạo và khá tuyệt vọng khi tạo một danh sách các điểm lưu trữ được xác định từ phía máy chủ (trái ngược với việc khách hàng của bạn nhớ ...), bạn có thể thêm chức năng trợ giúp vào xact.c sẽ hiển thị điều này thông tin cho bạn Trong thực tế, đây chỉ là một bản vá . Đó là một bản vá rất thô chỉ dành cho mục đích minh họa và chỉ cần bỏ qua các tên của điểm lưu trữ, nó thực sự nên trả lại các tên đó dưới dạng văn bản setof.
Về lý do tại sao tính năng này bị thiếu, tôi phỏng đoán rằng đơn giản là không có trường hợp sử dụng hợp lý nào cho một khách hàng cần tìm nạp danh sách các điểm lưu trữ được xác định từ máy chủ. Khách hàng sẽ làm gì với danh sách này - chỉ cần chọn một cách ngẫu nhiên và ROLLBACK
với nó? ROLLBACK
đến người cuối cùng một cách mù quáng? Điểm lưu trữ AFAICT chỉ hữu ích nếu khách hàng nhớ những điểm lưu trữ đã xác định và vị trí của chúng để có thể sử dụng chúng.