find the sequence name from schema, table, field

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux