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 по дате отправления: