pg_tables and temp tables

Поиск
Список
Период
Сортировка
От Gauthier, Dave
Тема pg_tables and temp tables
Дата
Msg-id D7FF158337303A419CF4A183F48302D603525AAC@hdsmsx411.amr.corp.intel.com
обсуждение исходный текст
Ответы Re: pg_tables and temp tables
Список pgsql-general

Hi:

 

How user specific is pg_tables when it comes to temporary tables? It seems to pick up the existence of a a temp table created by the same user but a different session.  Here’s the demo scenario....

 

Session 1:

mydb=# create temporary table foo (a int);

 

Session 2:

stdb2=# select tablename from pg_tables where tablename = 'foo';

 tablename

-----------

 foo

(1 row)

 

Session 1:

stdb=# drop table foo;

 

Session 2:

stdb2=# select tablename from pg_tables where tablename = 'foo';

 tablename

-----------

(0 rows)

 

mydb=# insert into foo (a) values (3);

ERROR:  relation "foo" does not exist

 

So Session 2 is detecting foo, but it doesn’t own it.

 

I can live with this as long as there’s a way that I can determine if the table it found does not belong to the current session.  Is there a more elegant way of doing this other than trying to do something with the table (select, insert, delete...) and trapping a failed attempt? The contents of pg_tables appears to be the same from both the owning and non-owning sessions.

 

Thanks in Advance for any help.

 

v8.2.0 on 64-bit suse-linux

 

-dave

 

 

 

 

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

Предыдущее
От: Michael Glaesemann
Дата:
Сообщение: Re: Regression in 8.3?
Следующее
От: "Sushant Sinha"
Дата:
Сообщение: Re: Fragments in tsearch2 headline