Re: Inverse of pg_get_serial_sequence?

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: Inverse of pg_get_serial_sequence?
Дата
Msg-id 20140903144457.GB4298@alap3.anarazel.de
обсуждение исходный текст
Ответ на Re: Inverse of pg_get_serial_sequence?  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: Inverse of pg_get_serial_sequence?  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
On 2014-09-03 09:31:50 -0400, Robert Haas wrote:
> On Fri, Aug 29, 2014 at 1:26 PM, Andres Freund <andres@2ndquadrant.com> wrote:
> > We have pg_get_serial_sequence() mapping (relation, colum) to the
> > sequence. What I'm missing right now is the inverse. I.e. given a
> > sequence tell me the owner.
> > describe.c has a query for that, and it's not too hard to write, but it
> > still seems 'unfriendly' not to provide it.
> >
> > Does anybody dislike adding a function for that?
> 
> I'll go out on a limb and say that it sounds like pointless catalog
> bloat to me.  I am all in favor of adding things like this where the
> SQL query is painful to write (e.g. things involving pg_depend) but if
> it's a simple SELECT query then, eh, not really excited about it.

There's not really a simple select for it, is there? psql uses:
    /* Get the column that owns this sequence */    printfPQExpBuffer(&buf, "SELECT pg_catalog.quote_ident(nspname) ||
'.'||"                      "\n   pg_catalog.quote_ident(relname) || '.' ||"                      "\n
pg_catalog.quote_ident(attname)"                     "\nFROM pg_catalog.pg_class c"                "\nINNER JOIN
pg_catalog.pg_dependd ON c.oid=d.refobjid"         "\nINNER JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespace"
                "\nINNER JOIN pg_catalog.pg_attribute a ON ("                      "\n a.attrelid=c.oid AND"
         "\n a.attnum=d.refobjsubid)"           "\nWHERE d.classid='pg_catalog.pg_class'::pg_catalog.regclass"
"\nAND d.refclassid='pg_catalog.pg_class'::pg_catalog.regclass"                      "\n AND d.objid=%s"
     "\n AND d.deptype='a'",                      oid);
 

Greetings,

Andres Freund

-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: pg_receivexlog and replication slots
Следующее
От: Andres Freund
Дата:
Сообщение: Re: Misleading error message in logical decoding for binary plugins