From: | Guillaume Lelarge <guillaume(at)lelarge(dot)info> |
---|---|
To: | Scrap Happy <Scrap(at)GMX(dot)com> |
Cc: | pgadmin-support(at)postgresql(dot)org |
Subject: | Re: Ownership problem |
Date: | 2012-02-07 17:47:47 |
Message-ID: | 1328636867.6433.6.camel@localhost.localdomain |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgadmin-support |
On Mon, 2012-02-06 at 23:27 -0700, Scrap Happy wrote:
> On 2/4/2012 11:13 AM, Guillaume Lelarge wrote:
> > On Thu, 2012-02-02 at 17:50 -0700, Scrap Happy wrote:
>
> >> ---------8<----------8<-----------
> >> CREATE DATABASE "Play"
> >> WITH ENCODING='UTF8'
> >> OWNER="SomeoneElse"
> >> CONNECTION LIMIT=-1;
> >> .
> >> CREATE SCHEMA "Example"
> >> AUTHORIZATION "SomeoneElse";
> >> .
> >> CREATE TABLE "Example"."Association"
> >> (
> >> )
> >> WITH (
> >> OIDS = FALSE
> >> );
> >> ALTER TABLE "Example"."Association" OWNER TO "SomeoneElse";
> >> .
> >> ALTER TABLE "Example"."Association"
> >> ADD COLUMN id bigserial;
> >> ---------8<----------8<-----------
> >>
> >> Yields this result from SQL "Messages" tab:
> >>
> >> ---------8<----------8<-----------
> >> NOTICE: ALTER TABLE will create implicit sequence "Association_id_seq"
> >> for serial column "Association.id"
> >>
> >>
> >> ERROR: sequence must have same owner as table it is linked to
> >>
> >> ********** Error **********
> >>
> >> ERROR: sequence must have same owner as table it is linked to
> >> SQL state: 55000
> >> ---------8<----------8<-----------
> >>
> >> Repeating the same effective operations in a slightly different order:
> >>
> >> ---------8<----------8<-----------
> >> CREATE DATABASE "Play"
> >> WITH ENCODING='UTF8'
> >> OWNER="SomeoneElse"
> >> CONNECTION LIMIT=-1;
> >> .
> >> CREATE SCHEMA "Example"
> >> AUTHORIZATION "SomeoneElse";
> >> .
> >> CREATE TABLE "Example"."Association"
> >> (
> >> id bigserial
> >> )
> >> WITH (
> >> OIDS = FALSE
> >> );
> >> ALTER TABLE "Example"."Association" OWNER TO "SomeoneElse";
> >> ---------8<----------8<-----------
> >>
> >> completes with no problems.
> >>
> >> (No doubt logging in as "SomeoneElse" would be the best "PTF". :> )
> >
> > Well, I don't know what to say. This isn't an issue with pgAdmin.
> > PostgreSQL doesn't allow to add a column with a serial pseudo-type if
> > the table belongs to another user because PostgreSQL requires that the
> > sequence associated with the serial pseudo-type has the same owner than
> > the table. Not much we can do here.
>
> Understood. The point is, there is no way to /add/ a serial pseudo-type
> to a table owned by another user in pgadmin3.
>
Saying "in pgadmin" is not completely true. You also cannot do it in
phppgadmin, in psql... IOW, with any PostgreSQL client.
> Adding a column of type *serial won't work because the serial has
> to inherit the owner of the table to which it is being added.
>
Exactly. It has nothing to do with pgAdmin3.
> Similarly, you can /create/ the serial in pgadmin3. And, you can
> declare its owner to coincide with the owner of the table. But,
> you can't "move" it into the existing table (i.e., a drag 'n' drop
> style operation).
>
> Yet, if you add a serial column to the table WHILE YOU ARE CREATING
> THE TABLE (in pgadmin3), all will magically work as the serial gets
> created with the proper owner (as the table).
>
> The purpose of my post, here, is for future googlers that might
> find themselves in a similar situation (hence the suggested "fix",
> above)
>
OK.
--
Guillaume
http://blog.guillaume.lelarge.info
http://www.dalibo.com
From | Date | Subject | |
---|---|---|---|
Next Message | Guillaume Lelarge | 2012-02-07 18:54:04 | Re: Feedback on database designer (1.15 Dev) |
Previous Message | Colin Beckingham | 2012-02-07 11:27:20 | Re: Feedback on database designer (1.15 Dev) |