Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

find the sequence name from schema, table, field



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



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group