vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| 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 |
| |||
| johnf wrote: > 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). pg_get_serial_sequence() -- Alvaro Herrera http://www.CommandPrompt.com/ PostgreSQL Replication, Consulting, Custom Development, 24x7 support ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org |
| ||||
| On Thursday 10 January 2008 06:12:43 am Alvaro Herrera wrote: > pg_get_serial_sequence But it only works with a serial data type. Create a sequence "mySequence" Create a field "myField smallint NOT NULL DEFAULT nextval('mysequence'::regclass)" So given the name of the table and the name of the field. How can I find the name of the associated squence? -- John Fabiani ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq |