From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Josh Berkus <josh(dot)berkus(at)pgexperts(dot)com> |
Cc: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: Unable to create serial column even with permissions |
Date: | 2010-08-16 01:12:48 |
Message-ID: | 9832.1281921168@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Josh Berkus <josh(dot)berkus(at)pgexperts(dot)com> writes:
> [ as suitably privileged user, alter somebody else's table with ]
> alter table sometable add column someserial serial;
> ERROR: sequence must have same owner as table it is linked to
> If the creating user has permissions on the table sufficient to create a
> column on the table, the sequence should be created as owned by the
> table owner.
Yeah, I think that would be the most desirable behavior.
It looks to me like the simplest way to make this happen would require
(a) adding a field to CreateSeqStmt to carry the userID we want the
sequence to be owned by;
(b) adding a parameter to DefineRelation to pass in said userID.
(Or we could add a field to CreateStmt rather than a separate parameter
to DefineRelation, but I'm unconvinced that's better.)
We could in theory back-patch this, since CreateSeqStmt won't ever go to
disk in stored rules. However, tweaking DefineRelation's API in stable
branches seems fairly hazardous to third-party code. Does it seem
sufficient to fix the problem in 9.0 and up?
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2010-08-16 01:25:54 | Re: DropRelFileNodeBuffers API change (was Re: [BUGS] BUG #5599: Vacuum fails due to index corruption issues) |
Previous Message | Robert Haas | 2010-08-16 01:11:10 | Re: DropRelFileNodeBuffers API change (was Re: [BUGS] BUG #5599: Vacuum fails due to index corruption issues) |