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 |