On Jul 27, 2005, at 4:49 AM, Tino Wildenhain wrote:
I'd create a sequence: CREATE SEQUENCE global_unique_id_seq; and a function: CREATE OR REPLACE FUNCTION newid() RETURNS text AS $BODY$ SELECT nextval('global_unique_id_seq')::text; $BODY$ LANGUAGE 'sql' VOLATILE; now every call to newid() returns a garantied unique id for say the next 18446744073709551616 calls. Of course you can obfuscate the ID even more using md5, include servername and so on, but this will not improve security in any way (unless you mix data with 2nd database)
This is not really a viable replacement for a GUID == globally unique identifier. Here global means that if I use the application in multiple databases, I'm guaranteed that no two identifiers will be the same. Using a sequence will only support uniqueness for a single database.
Best, John DeSoi, Ph.D. http://pgedit.com/ Power Tools for PostgreSQL ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org