find the sequence name from schema, table, field - Mailing list pgsql-admin

From johnf
Subject find the sequence name from schema, table, field
Date
Msg-id 200801092329.31115.jfabiani@yolo.com
Whole thread Raw
Responses Re: find the sequence name from schema, table, field  (Alvaro Herrera <alvherre@commandprompt.com>)
List pgsql-admin
Hi,
I have to go to the well and ask you guys how in the he_l I can determine the
sequence name if I only have the schema name (normally 'public'), the table
name, and the field name (normally the PK).  Below is the current SQL I'm
using but it does not account for field data types that are not 'serial'.
IOW if the sequence name I'm looking for is not associated with a field which
has 'serial' for a data type it does not find the sequence name.

From a python script
 """SELECT seq.relname::text
        FROM pg_class src, pg_class seq, pg_namespace, pg_attribute,
        pg_depend
        WHERE
        pg_depend.refobjsubid = pg_attribute.attnum AND
        pg_depend.refobjid = src.oid AND
        seq.oid = pg_depend.objid AND
        src.relnamespace = pg_namespace.oid AND
        pg_attribute.attrelid = src.oid AND
        pg_namespace.nspname = '%s' AND
        src.relname = '%s' AND
        pg_attribute.attname = '%s'""" %
(localSchemaName,localTableName,cursor.KeyField)

Thanks in advance for any help you may provide!
--
John Fabiani

pgsql-admin by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: pg_dumpall --exclude
Next
From: nalini
Date:
Subject: Postgres replication