James B. Byrne
James B. Byrne

Reputation: 1066

PostgreSQL cannot generate uuid but uuid-ossp extension is installed?

postgresql11-server-11.8_2

When I try to add a new client in idempiere I get the following error message:

    idempiere Version=7.1.0.202008290007

    Initial Client Setup Process

Do you want to start the Process?

** org.postgresql.util.PSQLException: ERROR: function uuid_generate_v4() does not exist Hint: No function matches the given name and argument types. You might need to add explicit type casts. Where: PL/pgSQL function generate_uuid() line 3 at RETURN

This usually indicates that the uuid extension is missing from the database. But this is not the case.

[root@accounting-2 ~ (master)]# sudo -u postgres psql --dbname=idempiere
psql (11.8)
Type "help" for help.

idempiere=# \dx
                            List of installed extensions
   Name    | Version |   Schema   |                   Description                   
-----------+---------+------------+-------------------------------------------------
 plpgsql   | 1.0     | pg_catalog | PL/pgSQL procedural language
 uuid-ossp | 1.1     | public     | generate universally unique identifiers (UUIDs)

What is causing this? How is it fixed?

Upvotes: 0

Views: 2669

Answers (1)

CarlosRuiz
CarlosRuiz

Reputation: 391

The output of \dx in my postgres looks like this:

 plpgsql   | 1.0     | pg_catalog | PL/pgSQL procedural language
 uuid-ossp | 1.1     | adempiere  | generate universally unique identifiers (UUIDs)

In your case it shows uuid-ossp installed in the public schema, while in my case is installed in adempiere schema.

Please try the following command in your idempiere database:

CREATE EXTENSION "uuid-ossp"

Upvotes: 1

Related Questions