PostgreSQL, psycopg2 and OID-less tables
Steve Holden
steve at holdenweb.com
Thu Sep 28 05:43:12 EDT 2006
Stuart Bishop wrote:
[...]
> If you are using a modern PostgreSQL (8.1 for sure, maybe 8.0), this is
> better spelt:
>
> cur.execute("SELECT currval(pg_get_serial_sequence(%s, %s))" % (
> tableid, columnid))
>
> (Assuming of course your table name and column name don't contain odd
> characters like = or ' or ., in which case you need to properly quote them).
>
> The reason it is better is that in odd cases the sequence name will not
> always be %(tableid)s_%(columnid)s_seq, such as after you have renamed a table.
>
Thank you! I've been looking for this for about six months - it helps to
provide portability, and my current techniques relied on standard naming
of the sequences.
regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://holdenweb.blogspot.com
Recent Ramblings http://del.icio.us/steve.holden
More information about the Python-list
mailing list