> On Oct 6, 2021, at 10:20 AM, Stephen Frost <sfr...@snowman.net> wrote:
> 
> Consistency is not having dangling pointers around to things which no
> longer exist- FK reference kind of things.  Object management is about
> actual *removal* of full blown objects like roles, tables, etc.  DROP
> TABLE ... CASCADE doesn't drop tables which haven an FK dependency on
> the dropped table, the FK is just removed.

Right, but DROP SCHEMA ... CASCADE does remove the tables within, no?  I would 
see alice being a member of role bob as being analogous to the foreign key 
example, and charlie being owned by bob as being more like the table within a 
schema.

I'm fine with using a different syntax for this if what i'm proposing violates 
the spec.  I'm just trying to wrap my head around how to interpret the spec (of 
which i have no copy, mind you.)  I'm trying to distinguish between statements 
like X SHALL DO Y and X SHALL DO NOTHING BUT Y.  I don't know if the spec 
contains a concept of roles owning other roles, and if not, does it forbid that 
concept?  I should think that if that concept is a postgres extension not 
present in the spec, then we can make it do anything we want.

—
Mark Dilger
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company





Reply via email to