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