> On Oct 6, 2021, at 10:20 AM, Stephen Frost <sfrost@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
beinganalogous 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
headaround how to interpret the spec (of which i have no copy, mind you.) I'm trying to distinguish between statements
likeX 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
inthe spec, then we can make it do anything we want.
—
Mark Dilger
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company