Looks like I have turned off usecatupd in pg_shadow. Doh!  Was mucking
around with permissions some time ago but not had any trouble up till now.

Any ideas how to switch it back? Update pg_shadow SET usecatupd .....  gives
me Permission denied!!!

Ben.

> -----Original Message-----
> From: Tom Lane [mailto:[EMAIL PROTECTED]]
> Sent: 22 October 2000 04:08
> To: Trewern, Ben
> Cc: '[EMAIL PROTECTED]'
> Subject: Re: [GENERAL] Updating pg_attribute - Permission denied 
> 
> 
> "Trewern, Ben" <[EMAIL PROTECTED]> writes:
> > I was trying to update attnotnull = 't' in the pg_attribute 
> to add Not Null
> > constraint to a table.  It gave me a Permission denied.
> > Is this standard? Am I not allowed to change system 
> catalogues (I am using
> > the postgres superuser!)
> 
> I don't believe it --- are you *sure* you were superuser?  Or perhaps
> you'd turned off pg_shadow's usecatupd for yourself?
> 
> I get this behavior:
> 
> play=> update pg_attribute set attnotnull = 't' where 
> attrelid =  334893 and
> play-> attname = 'f1';
> ERROR:  pg_attribute: Permission denied.
> play=> \c - postgres
> You are now connected as new user postgres.
> play=# update pg_attribute set attnotnull = 't' where 
> attrelid =  334893 and
> play-# attname = 'f1';
> UPDATE 1
> play=#
> 
> > Or can you only change attnotnull to false i.e. remove a not null
> > constraint?  I suppose this would make some kind of sense, as there
> > could already be Nulls in the field.
> 
> It's up to you to worry about that sort of consistency issue if you
> reach in and hack pg_attribute directly.  Certainly the permission
> check is not concerned with it.
> 
>                       regards, tom lane
> 

Reply via email to