Extension exists but uuid_generate_v4 fails Extension exists but uuid_generate_v4 fails postgresql postgresql

Extension exists but uuid_generate_v4 fails


The extension is available but not installed in this database.

CREATE EXTENSION IF NOT EXISTS "uuid-ossp";


If the extension is already there but you don't see the uuid_generate_v4() function when you do a describe functions \df command then all you need to do is drop the extension and re-add it so that the functions are also added. Here is the issue replication:

db=# \df                       List of functions Schema | Name | Result data type | Argument data types | Type--------+------+------------------+---------------------+------(0 rows)CREATE EXTENSION "uuid-ossp";ERROR:  extension "uuid-ossp" already existsDROP EXTENSION "uuid-ossp";CREATE EXTENSION "uuid-ossp";db=# \df                                  List of functions Schema |        Name        | Result data type |    Argument data types    |  Type--------+--------------------+------------------+---------------------------+-------- 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             |                           | normaldb=# select uuid_generate_v4();           uuid_generate_v4-------------------------------------- b19d597c-8f54-41ba-ba73-02299c1adf92(1 row)

What probably happened is that the extension was originally added to the cluster at some point in the past and then you probably created a new database within that cluster afterward. If that was the case then the new database will only be "aware" of the extension but it will not have the uuid functions added which happens when you add the extension. Therefore you must re-add it.


Looks like the extension is not installed in the particular database you require it.

You should connect to this particular database with

 \CONNECT my_database

Then install the extension in this database

 CREATE EXTENSION "uuid-ossp";