Re: Show sequences owned by - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: Show sequences owned by
Date
Msg-id CABUevEw1h0zmD4RyUc=+JPQ582+w-Yif8H4crkWi32jgm2LNzQ@mail.gmail.com
Whole thread Raw
In response to Re: Show sequences owned by  (Stephen Frost <sfrost@snowman.net>)
List pgsql-hackers
On Fri, Nov 4, 2011 at 15:29, Stephen Frost <sfrost@snowman.net> wrote:
> * Magnus Hagander (magnus@hagander.net) wrote:
>> If there is noone owning it at all, it just falls through the if/else
>> block and ignores it if that happens (PQntuples() returns 0).
>
> Ah, right, but 'result' is still non-zero, ok.

Yes, that's a regular libpq result set...

>> Is there really a case for multiple sequences to own it? How would you
>> go about making that happen? ALTER SEQUENCE.. OWNED BY.. only takes
>> one table, afaics?
>
> I just noticed it was pulling from pg_depend and we could be creating
> multiple dependencies on a single sequence by having two tables use it
> as a default value.  If that situation doesn't cause a problem for this,
> then that's fine. :)  Couldn't remember if we distinguished 'owned by'
> from 'dependend upon' for seqeunces.

I tried that now to be sure, and to confirm, this is the scenario:
CREATE TABLE seqtest (a SERIAL PRIMARY KEY);
CREATE TABLE seqtest2 (a int NOT NULL DEFAULT
nextval('seqtest_a_seq'::regclass);

In this case, we end up with just one entry in pg_depend, which refers
to seqtest.a.

--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: IDLE in transaction introspection
Next
From: Tom Lane
Date:
Subject: Re: Show sequences owned by