Thread: BUG #4914: uuid_generate_v4 not present in either source or yum/rpm
The following bug has been logged online: Bug reference: 4914 Logged by: Dan Boeriu Email address: dan.boeriu@roost.com PostgreSQL version: 8.4 Operating system: Red Hat 5.3 Description: uuid_generate_v4 not present in either source or yum/rpm Details: I tried several times to build Postgres 8.4 with the ossp uuid both from source and from yum/rpm. I do have installed on the server uuid 1.6 The only functions I have in 8.4 are: roost=# \df *uuid* List of functions Schema | Name | Result data type | Argument data types | Type ------------+-----------+------------------+---------------------+-------- pg_catalog | uuid_cmp | integer | uuid, uuid | normal pg_catalog | uuid_eq | boolean | uuid, uuid | normal pg_catalog | uuid_ge | boolean | uuid, uuid | normal pg_catalog | uuid_gt | boolean | uuid, uuid | normal pg_catalog | uuid_hash | integer | uuid | normal pg_catalog | uuid_in | uuid | cstring | normal pg_catalog | uuid_le | boolean | uuid, uuid | normal pg_catalog | uuid_lt | boolean | uuid, uuid | normal pg_catalog | uuid_ne | boolean | uuid, uuid | normal pg_catalog | uuid_out | cstring | uuid | normal pg_catalog | uuid_recv | uuid | internal | normal pg_catalog | uuid_send | bytea | uuid | normal (12 rows) What I used to have is: roost=# \df *uuid* List of functions Schema | Name | Result data type | Argument data types ------------+--------------------+------------------+----------------------- ---- pg_catalog | uuid_cmp | integer | uuid, uuid pg_catalog | uuid_eq | boolean | uuid, uuid pg_catalog | uuid_ge | boolean | uuid, uuid pg_catalog | uuid_gt | boolean | uuid, uuid pg_catalog | uuid_hash | integer | uuid pg_catalog | uuid_le | boolean | uuid, uuid pg_catalog | uuid_lt | boolean | uuid, uuid pg_catalog | uuid_ne | boolean | uuid, uuid pg_catalog | uuid_recv | uuid | internal pg_catalog | uuid_send | bytea | uuid public | uuid_generate_v1 | uuid | public | uuid_generate_v1mc | uuid | public | uuid_generate_v3 | uuid | namespace uuid, name text public | uuid_generate_v4 | uuid | public | uuid_generate_v5 | uuid | namespace uuid, name text public | uuid_nil | uuid | public | uuid_ns_dns | uuid | public | uuid_ns_oid | uuid | public | uuid_ns_url | uuid | public | uuid_ns_x500 | uuid | (20 rows) Now in 8.3.7 I installed a uuid package from postgres yum and run a script: /usr/share/pgsql/contrib/uuid-ossp.sql which I cannot find anymore in 8.4. The uninstall script though is present in both 8.3.7 and 8.4: /usr/share/pgsql/contrib/uninstall_uuid-ossp.sql How could I get the uuid_generate_vX functions in Postgres 8.4? Thanks a bunch, Dan Boeriu.
Dan Boeriu wrote: > I tried several times to build Postgres 8.4 with the ossp uuid both from > source and from yum/rpm. > I do have installed on the server uuid 1.6 > Now in 8.3.7 I installed a uuid package from postgres yum and run a script: > /usr/share/pgsql/contrib/uuid-ossp.sql > which I cannot find anymore in 8.4. > The uninstall script though is present in both 8.3.7 and 8.4: > /usr/share/pgsql/contrib/uninstall_uuid-ossp.sql This seems a packaging mistake, because the file is present in the build tree, and after installing it the uuid_generate_v4 function is present. Maybe you just need to install to postgresql-contrib package? (But if the uninstall script is there I guess you already have it) alvherre=# \i /pgsql/install/84_rel/share/contrib/uuid-ossp.sql SET CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION alvherre=# \df *uuid* Listado de funciones Esquema | Nombre | Tipo de dato de salida | Tipos de datos de argumentos | Tipo ------------+--------------------+------------------------+------------------------------+-------- pg_catalog | uuid_cmp | integer | uuid, uuid | normal pg_catalog | uuid_eq | boolean | uuid, uuid | normal pg_catalog | uuid_ge | boolean | uuid, uuid | normal pg_catalog | uuid_gt | boolean | uuid, uuid | normal pg_catalog | uuid_hash | integer | uuid | normal pg_catalog | uuid_in | uuid | cstring | normal pg_catalog | uuid_le | boolean | uuid, uuid | normal pg_catalog | uuid_lt | boolean | uuid, uuid | normal pg_catalog | uuid_ne | boolean | uuid, uuid | normal pg_catalog | uuid_out | cstring | uuid | normal pg_catalog | uuid_recv | uuid | internal | normal pg_catalog | uuid_send | bytea | uuid | normal public | uuid_generate_v1 | uuid | | normal public | uuid_generate_v1mc | uuid | | normal public | uuid_generate_v3 | uuid | namespace uuid, name text | normal public | uuid_generate_v4 | uuid | | normal public | uuid_generate_v5 | uuid | namespace uuid, name text | normal public | uuid_nil | uuid | | normal public | uuid_ns_dns | uuid | | normal public | uuid_ns_oid | uuid | | normal public | uuid_ns_url | uuid | | normal public | uuid_ns_x500 | uuid | | normal (22 filas) -- Alvaro Herrera http://www.CommandPrompt.com/ PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Dan Boeriu wrote: > Could you please tell me how you installed it? What exact version did you download? Was it source or yum/rpm? > I tried both with source compiling with the flags for oops-uuid and still didn't get the function uuid_generate_v4. > > If you installed from source please send me the configure flags you used. > If you installed from yum/rpm please tell me what version/platform. I compiled from source. Did you enter the contrib/uuid-ossp directory and ran make install in there? $ pg_config --configure '--enable-debug' '--enable-depend' '--enable-cassert' '--enable-nls' '--cache-file=/home/alvherre/tmp/pgconfig.84_rel.cache''--enable-thread-safety' '--with-python' '--with-perl' '--with-tcl''--with-openssl' '--with-libxml' '--with-ossp-uuid' '--prefix=/pgsql/install/84_rel' '--with-pgport=55516' -- Alvaro Herrera Valdivia, Chile ICBM: S 39º 48' 55.3", W 73º 15' 24.7" Syntax error: function hell() needs an argument. Please choose what hell you want to involve.
On Fri, Jul 10, 2009 at 12:31:05PM -0400, Alvaro Herrera wrote: - Dan Boeriu wrote: - > Could you please tell me how you installed it? What exact version did you download? Was it source or yum/rpm? - > I tried both with source compiling with the flags for oops-uuid and still didn't get the function uuid_generate_v4. - > - > If you installed from source please send me the configure flags you used. - > If you installed from yum/rpm please tell me what version/platform. - - I compiled from source. Did you enter the contrib/uuid-ossp directory - and ran make install in there? - - $ pg_config --configure - '--enable-debug' '--enable-depend' '--enable-cassert' '--enable-nls' '--cache-file=/home/alvherre/tmp/pgconfig.84_rel.cache''--enable-thread-safety' '--with-python' '--with-perl' '--with-tcl''--with-openssl' '--with-libxml' '--with-ossp-uuid' '--prefix=/pgsql/install/84_rel' '--with-pgport=55516' - Just an addition to this topic. We're using SLES 11, and uuid-ossp isn't delivered in the postgresql-contrib package, we opened a case with Novell and this was their reply: --- With regards to Service Request # 10497898141: Thank you for the response. Since the PostgreSQL project determined uuid off by default, the SLES RPMs have been left atthe default. Recompiling with the settings to turn on uuid is how to enable uuid, but recompiling in no something supported. I will close this Service Request, since enabling uuid and recompiling are not supported. --- Dave
David Kerr wrote: > --- > With regards to Service Request # 10497898141: > > Thank you for the response. Since the PostgreSQL project determined > uuid off by default, the SLES RPMs have been left at the default. > Recompiling with the settings to turn on uuid is how to enable uuid, > but recompiling in no something supported. That seems pretty silly. Surely if they distribute the OSSP uuid library they could enable the feature on their packages. Of course, you can install the contrib module yourself without recompiling the whole of Postgres, to avoid losing support. -- Alvaro Herrera http://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc.
On Monday 13 July 2009 19:17:49 David Kerr wrote: > We're using SLES 11, and uuid-ossp isn't delivered in the > postgresql-contrib package, we opened a case with Novell and this was their > reply: > [some nonsense] I'm sorry to say that SUSE just isn't a good source if you want to do serious PostgreSQL deployment. They ship PostgreSQL because it's there, but they, as an organization, just don't care enough to consistently provide the packages, updates, and support that you'd want for serious use. So if you can't use a different operating system, either accept what you get and hope you get away with it, or prepare to spend some resources to do your own maintenance.
On Tue, Jul 14, 2009 at 01:18:55AM +0300, Peter Eisentraut wrote: - On Monday 13 July 2009 19:17:49 David Kerr wrote: - > We're using SLES 11, and uuid-ossp isn't delivered in the - > postgresql-contrib package, we opened a case with Novell and this was their - > reply: - > [some nonsense] - - I'm sorry to say that SUSE just isn't a good source if you want to do serious - PostgreSQL deployment. They ship PostgreSQL because it's there, but they, as - an organization, just don't care enough to consistently provide the packages, - updates, and support that you'd want for serious use. So if you can't use a - different operating system, either accept what you get and hope you get away - with it, or prepare to spend some resources to do your own maintenance. - I'm working on my management to allow me to roll my own PG and get a 3rd party support. Responses from Novell (like what I sent to the list) only help to further that cause. Dave
David Kerr <dmk@mr-paradox.net> wrote: > I'm working on my management to allow me to roll my own PG and get a > 3rd party support. FWIW, we're a SLES shop, and we've found it best to build our own. -Kevin