Tidak. Pernyataan yang disiapkan AFAIK bersifat lokal untuk backend; backend lain tidak tahu mereka ada. Anda perlu memodifikasi server untuk menambahkan komunikasi antar-proses tambahan untuk memungkinkan satu backend bertanya kepada yang lain tentang pernyataan yang disiapkan.
Backend awalnya muncul untuk berbagi pg_prepared_statements
yang sama penyimpanan tabel, sebagai:
SELECT relfilenode FROM pg_class WHERE relname = 'pg_prepared_statements';
mengembalikan relfilenode yang sama dari backend yang berbeda. Saya terkejut, karena saya pikir pernyataan yang disiapkan tidak ada di disk. Jika mereka ada di disk, saya kira Anda bisa menggunakan fungsi dari modul kontribusi pageinspect untuk membaca tupel mentah atau halaman tabel. Visibilitas akan menjadi masalah; bagaimana Anda tahu apa yang terkait dengan backend yang mati/dihentikan, dan apa yang valid?
Saya mencobanya, dan menemukan bahwa pg_prepared_statements
sebenarnya adalah pemandangan:
regress=# SELECT * FROM heap_page_items(get_raw_page('pg_prepared_statements', 1));
ERROR: cannot get raw page from view "pg_prepared_statements"
khususnya tampilan pg_prepared_statement()
fungsi. Jadi tidak ada yang perlu diperiksa. Ini internal backend.
Ini sepertinya salah satu dari "... tapi mengapa Anda melakukan itu?" pertanyaan, yang sering kali merupakan tanda bahwa seseorang bertanya tentang solusi mereka membayangkan masalah mereka yang sebenarnya, daripada menanyakan masalah mereka yang sebenarnya.
Jadi:Mengapa Anda menginginkannya? Apa masalah sebenarnya yang ingin Anda pecahkan?