Re: temp tables should not have pg_shdepend entries - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: temp tables should not have pg_shdepend entries
Date
Msg-id 20080408163413.GE9062@alvh.no-ip.org
Whole thread Raw
In response to Re: temp tables should not have pg_shdepend entries  (Bruce Momjian <bruce@momjian.us>)
Responses Re: temp tables should not have pg_shdepend entries  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Bruce Momjian wrote:
> Alvaro Herrera wrote:
> > Among the consequences of creating a temp table is the fact that we
> > create pg_shdepend entries for the owner.  This is largely unnecessary
> > -- we only need it when the table owner is not the authenticated user.
> > I hereby propose we don't create those entries, since obviously the
> > tables would go away as soon as the connection goes away anyway, and the
> > user cannot go away until the connection does.
> 
> But what if some application is using those dependencies while the
> session is running?  What is the advantage of not having the entries?

The only use of the dependencies is to disallow dropping the user that
owns the table.  But a connected user cannot be dropped.

... or so I thought :-(  Actually you can delete a connected user, but
things do not go well after you do:

alvherre=> create table test (a int);
ERREUR:  le rôle 32792 a été supprimé simultanément

So now my thinking is that we should disallow dropping a connected user.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Free Space Map data structure
Next
From: Tom Lane
Date:
Subject: Re: File system snapshots for multiple file systems