Pracuję z aplikacją Windows, która korzysta z (lokalnej) bazy danych postgres i przechowuje pewne informacje w tabeli tymczasowej. Chciałbym rzucić okiem na tabelę tymczasową, ale pgadmin i dbVis mówią mi: ERROR: cannot access temporary tables of other sessions
przy próbie zapytania danych. Próbowałem zmienić uprawnienia do schematu i tabeli, ale nie wydawało się to pomocne, mimo że uzyskuję dostęp do bazy danych z tym samym użytkownikiem co sam program (przynajmniej w dbVis). Czy istnieje ustawienie, które mogę zmienić w mojej bazie danych, które pozwala mi mieć dostęp „root” do wszystkich sesji w mojej bazie danych?
źródło
Nie wiem, czy to może ci pomóc, ale możesz spróbować.
Poniższa kwerenda tabeli katalogu systemowego powinna zawierać listę wszystkich tabel tymczasowych utworzonych podczas innych sesji w bazie danych:
Za PostgreSQL doc ,
Temporary tables exist in a special schema
i są zwykle tworzone z nazwą jakpg_temp_xxx
. Tak, używającschemaname
.relationname
z powyższego zapytania powinieneś mieć możliwość zapytania do tabeli tymczasowej. Jak widać tutaj, do tabeli tymczasowej odwołuje się nazwa kwalifikowana do schematu.Przykład:
select * from pg_temp_20.your_temp_table_name
źródło