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