Reliably finding temporary table

Поиск
Список
Период
Сортировка
От Ian Burrell
Тема Reliably finding temporary table
Дата
Msg-id d91f09cd050607160138aa384f@mail.gmail.com
обсуждение исходный текст
Ответы Re: Reliably finding temporary table  (Dan Black <fireworker@gmail.com>)
Re: Reliably finding temporary table  (Michael Fuhr <mike@fuhr.org>)
Список 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 по дате отправления:

Предыдущее
От: Wes
Дата:
Сообщение: To SPAM or not to SPAM...
Следующее
От: Chris Browne
Дата:
Сообщение: Re: pl/pgsql list