Reliably finding temporary table
От | Ian Burrell |
---|---|
Тема | Reliably finding temporary table |
Дата | |
Msg-id | d91f09cd050607160138aa384f@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: Reliably finding temporary table
Re: Reliably finding temporary table |
Список | pgsql-general |
We have some functions which need to dynamically create a temporary table if it does not already exist. We use the following function: CREATE OR REPLACE FUNCTION test_date_time_exists() RETURNS BOOLEAN AS ' BEGIN RETURN EXISTS ( SELECT * FROM pg_class WHERE relname = ''test_date_time'' AND pg_table_is_visible(oid) ); END; ' LANGUAGE 'plpgsql' STABLE However, this has been failing occassionally with errors like ERROR: cache lookup failed for relation 3454264547 From looking in the list archives, I found a description of pg_table_is_visible failing because it has different snapshot semantics than the SELECT. Is there a solution for this problem? Is there another function I can use? What is a better way to detect temp tables visible to the session? - Ian
В списке pgsql-general по дате отправления: