Re: [PATCHES] Non-transactional pg_class, try 2 - Mailing list pgsql-hackers

From Zeugswetter Andreas DCP SD
Subject Re: [PATCHES] Non-transactional pg_class, try 2
Date
Msg-id E1539E0ED7043848906A8FF995BDA579011F00E1@m0143.s-mxs.net
Whole thread Raw
In response to Re: [PATCHES] Non-transactional pg_class, try 2  (Simon Riggs <simon@2ndquadrant.com>)
Responses Re: [PATCHES] Non-transactional pg_class, try 2  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
> > > Suggest that we prevent write operations on Frozen tables by
> > > revoking
> > all INSERT, UPDATE or DELETE rights held, then enforcing a check
> > during GRANT to prevent them being re-enabled. Superusers would need

> > to check every time. If we dont do this, then we will have two
> > contradictory states marked in the catalog - privilges saying Yes
and
> > freezing saying No.
> >
> > No, I'd not mess with the permissions and return a different error
> > when trying to modify a frozen table. (It would also be complicated
to
> > unfreeze after create database) We should make it clear, that
freezing
> > is no replacement for revoke.
>
> That was with a mind to performance. Checking every INSERT,
> UPDATE and DELETE statement to see if they are being done
> against a frozen table seems like a waste.

I'd think we would have relminxid in the relcache, so I don't buy the
performance argument :-) (You could still do the actual check in the
same place where the permission is checked)

> There would still be a specific error message for frozen
> tables, just on the GRANT rather than the actual DML statements.

I'd still prefer to see the error on modify. Those that don't can
revoke.

Andreas


pgsql-hackers by date:

Previous
From: Kim Bisgaard
Date:
Subject: Re: Table clustering idea
Next
From: Hannu Krosing
Date:
Subject: Re: vacuum, performance, and MVCC