Re: Naive schema questions

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Naive schema questions
Дата
Msg-id 12076.1085719659@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Naive schema questions  (<btober@computer.org>)
Список pgsql-general
<btober@computer.org> writes:
> And where do tables created with "CREATE LOCAL TEMPORARY TABLE..." fit
> into this, like if say a local temp table where created that has the same
> name as an existing normal (i.e., not a local temp) table?

Temp tables live in a schema that is effectively inserted into your
search path ahead of whatever schema(s) are explicitly listed there.
For instance, suppose

    CREATE SCHEMA a;
    SET search_path = a, public;
    CREATE TABLE t1 (...);
    -- t1 is created in schema a
    SELECT * FROM t1;
    -- same as SELECT * FROM a.t1;

Now if I do

    CREATE TEMP TABLE t1 (...);

then SELECT * FROM t1 will reference the temp table ... but I can still
get to the permanent table by explicitly qualifying it as "a.t1".

> And what if I
> do an explicit DROP of the local temp table rather than relying on the
> automatic, end-of-session clean-up?

You drop the temp table.

> Is there any risk of losing the normal table?

Only if you do it twice --- after the initial DROP, the permanent table
would come back "into view".

            regards, tom lane

В списке pgsql-general по дате отправления:

Предыдущее
От: Klint Gore
Дата:
Сообщение: query results different after vacuum analyze? 7.4.0
Следующее
От: Tom Lane
Дата:
Сообщение: Re: query results different after vacuum analyze? 7.4.0