While using third party modules is not really a barrier for people deep in the PostgreSQL world, here is what I would need to do to use GUIDs today. 1. Get a set of GUID/UUID patches (there seem to be many) and recompile the necessary code. 2. Do the same thing for Windows, assuming that the patches were created in a cross-platform manner. This is a much larger barrier on Windows, since the tools to recompile things aren't immediately available and require considerable effort to install and configure. 3. Perform a manual install of the patched server/modules. 4. Get the source code for the higher level libraries (such as Npgsql). Modify those libraries to support GUIDs. Every time those libraries are upgraded, re-modify your local copies to support them. 5. If installing to multiple client sites, I also need to ensure that the patched servers reach them and get around any objections they might have to running the custom changes. It's not hard to see why a busy developer wouldn't have time to go through those steps. Certainly support for the GUID field type itself is most important. As for the generators, though they are non-essential, they are very useful. Other platforms and libraries have standardized on uuid generators, so I don't see why PostgreSQL can't. I hope I don't come across as complaining, I'm just trying to give this feature a bit of a boost. It's undoubtedly a practical feature (as indicated by the number of implementations and messages about it) that is supported by other databases (such as oracle and mssql). I hope that we can dot our Is and cross our Ts and get this feature into the next version. Patrick