diff --git a/arkindex/documents/migrations/0001_initial.py b/arkindex/documents/migrations/0001_initial.py
index 31468a0014fb07f2e1496507625c8dbb61151664..d52a0da513f6ca742d8badc5d89e82a23fea813b 100644
--- a/arkindex/documents/migrations/0001_initial.py
+++ b/arkindex/documents/migrations/0001_initial.py
@@ -6,7 +6,6 @@ import django.contrib.postgres.fields.hstore
 import django.core.validators
 import django.db.models.deletion
 import enumfields.fields
-from django.contrib.postgres.operations import CreateExtension
 from django.db import migrations, models
 
 import arkindex.documents.dates
@@ -23,7 +22,6 @@ class Migration(migrations.Migration):
     ]
 
     operations = [
-        CreateExtension("uuid-ossp"),
         migrations.CreateModel(
             name="AllowedMetaData",
             fields=[
diff --git a/arkindex/documents/models.py b/arkindex/documents/models.py
index 3a683208e802dcc78d2b870fa1f4696d721beed8..e6eb2bc4a66f5a14d6ae9a94885850cdc2d6521f 100644
--- a/arkindex/documents/models.py
+++ b/arkindex/documents/models.py
@@ -431,7 +431,7 @@ class Element(IndexableModel):
                 query = """
                 INSERT INTO documents_elementpath (id, element_id, path, ordering)
                 SELECT
-                    uuid_generate_v4(),
+                    gen_random_uuid(),
                     %(self_id)s,
                     path || %(parent_id)s,
                     %(ordering)s
@@ -483,7 +483,7 @@ class Element(IndexableModel):
                 query = """
                 INSERT INTO documents_elementpath (id, element_id, path, ordering)
                 SELECT
-                    uuid_generate_v4(),
+                    gen_random_uuid(),
                     child_paths.element_id,
                     new_parent_paths.path || %(new_parent_id)s || child_paths.path[%(start_index)s:],
                     child_paths.ordering
diff --git a/arkindex/process/managers.py b/arkindex/process/managers.py
index c7ca82b2d00d2fd1e91b162e86a5013a7543203a..5685e1567cbfb2f7d3021acb0df5a674158793fe 100644
--- a/arkindex/process/managers.py
+++ b/arkindex/process/managers.py
@@ -56,7 +56,7 @@ class ActivityManager(Manager):
                 INSERT INTO process_workeractivity
                     (element_id, worker_version_id, configuration_id, model_version_id, state, process_id, id, created, updated)
                 SELECT
-                    elt.id, %s, %s, %s, 'queued', %s, uuid_generate_v4(), current_timestamp, current_timestamp
+                    elt.id, %s, %s, %s, 'queued', %s, gen_random_uuid(), current_timestamp, current_timestamp
                 FROM ({sql}) AS elt
                 ON CONFLICT {conflict_target} DO UPDATE SET
                     process_id = EXCLUDED.process_id,
diff --git a/arkindex/sql_validation/add_first_parent.sql b/arkindex/sql_validation/add_first_parent.sql
index 755f1b3fba9910e0f10aa7928806985768a33b4b..296ee48210be34bf8a23848b1b3586df69cbf9cf 100644
--- a/arkindex/sql_validation/add_first_parent.sql
+++ b/arkindex/sql_validation/add_first_parent.sql
@@ -33,7 +33,7 @@ SELECT EXISTS
 	AND path[array_length(path, 1)] = '{A}'::uuid ) ;
 
 INSERT INTO documents_elementpath (id, element_id, path, ordering)
-SELECT uuid_generate_v4(),
+SELECT gen_random_uuid(),
        '{B}'::uuid,
        path || '{A}'::uuid,
                1
@@ -52,7 +52,7 @@ SET "path" = array_cat(ARRAY['{first_parent}'::uuid, '{A}'::uuid], "documents_el
 WHERE "documents_elementpath"."path" && (ARRAY['{B}'::uuid])::uuid[];
 
 INSERT INTO documents_elementpath (id, element_id, path, ordering)
-SELECT uuid_generate_v4(),
+SELECT gen_random_uuid(),
        child_paths.element_id,
        new_parent_paths.path || '{A}'::uuid || child_paths.path[3:],
        child_paths.ordering
diff --git a/arkindex/sql_validation/add_second_parent.sql b/arkindex/sql_validation/add_second_parent.sql
index 0d8691022ae2be762d6e99705a4321f2915617e4..27375cfedebc965bf8443bed799a01847d6a589c 100644
--- a/arkindex/sql_validation/add_second_parent.sql
+++ b/arkindex/sql_validation/add_second_parent.sql
@@ -33,7 +33,7 @@ SELECT EXISTS
 	AND path[array_length(path, 1)] = '{A}'::uuid ) ;
 
 INSERT INTO documents_elementpath (id, element_id, path, ordering)
-SELECT uuid_generate_v4(),
+SELECT gen_random_uuid(),
        '{B}'::uuid,
        path || '{A}'::uuid,
                1
@@ -41,7 +41,7 @@ FROM documents_elementpath
 WHERE element_id = '{A}'::uuid ;
 
 INSERT INTO documents_elementpath (id, element_id, path, ordering)
-SELECT uuid_generate_v4(),
+SELECT gen_random_uuid(),
        child_paths.element_id,
        new_parent_paths.path || '{A}'::uuid || child_paths.path[2:],
        child_paths.ordering
diff --git a/arkindex/sql_validation/workeractivity_bulk_insert.sql b/arkindex/sql_validation/workeractivity_bulk_insert.sql
index 3052489a20b734609bf857bdd73674b064dc3463..cd72f2a05b239f05ccdc9a44ef850091458a1862 100644
--- a/arkindex/sql_validation/workeractivity_bulk_insert.sql
+++ b/arkindex/sql_validation/workeractivity_bulk_insert.sql
@@ -5,7 +5,7 @@ SELECT elt.id,
        '{model_version_id}'::uuid,
        'queued',
        '{process_id}'::uuid,
-       uuid_generate_v4(),
+       gen_random_uuid(),
        current_timestamp,
        current_timestamp
 FROM
diff --git a/arkindex/sql_validation/workeractivity_bulk_insert_no_configuration.sql b/arkindex/sql_validation/workeractivity_bulk_insert_no_configuration.sql
index 1b5f3b10e036318a341a76126ad05a5229554dbe..7e92328e47098e77ffeb1ccf6a3c1362a467e981 100644
--- a/arkindex/sql_validation/workeractivity_bulk_insert_no_configuration.sql
+++ b/arkindex/sql_validation/workeractivity_bulk_insert_no_configuration.sql
@@ -5,7 +5,7 @@ SELECT elt.id,
        '{model_version_id}'::uuid,
        'queued',
        '{process_id}'::uuid,
-       uuid_generate_v4(),
+       gen_random_uuid(),
        current_timestamp,
        current_timestamp
 FROM
diff --git a/arkindex/sql_validation/workeractivity_bulk_insert_no_model.sql b/arkindex/sql_validation/workeractivity_bulk_insert_no_model.sql
index 4bdacbfe4bb6141ebdaf14ea31eabf60c27c6ef3..cd539dd953c2b4c3a74fd7ccc0009cc4da7b1ea5 100644
--- a/arkindex/sql_validation/workeractivity_bulk_insert_no_model.sql
+++ b/arkindex/sql_validation/workeractivity_bulk_insert_no_model.sql
@@ -5,7 +5,7 @@ SELECT elt.id,
        NULL,
        'queued',
        '{process_id}'::uuid,
-       uuid_generate_v4(),
+       gen_random_uuid(),
        current_timestamp,
        current_timestamp
 FROM
diff --git a/arkindex/sql_validation/workeractivity_bulk_insert_worker_version_only.sql b/arkindex/sql_validation/workeractivity_bulk_insert_worker_version_only.sql
index 0d4cc39a45278bead5bae4a2852d3415f68cc867..55c03afaea5e90237ad6fb8358e8d523737ee676 100644
--- a/arkindex/sql_validation/workeractivity_bulk_insert_worker_version_only.sql
+++ b/arkindex/sql_validation/workeractivity_bulk_insert_worker_version_only.sql
@@ -5,7 +5,7 @@ SELECT elt.id,
        NULL,
        'queued',
        '{process_id}'::uuid,
-       uuid_generate_v4(),
+       gen_random_uuid(),
        current_timestamp,
        current_timestamp
 FROM
diff --git a/arkindex/training/migrations/0007_datasetset_model.py b/arkindex/training/migrations/0007_datasetset_model.py
index 7f21a630dc4b22f6cca6c3d83c32ab867b66f0d4..a14d756ebc40b9c673b0c610e744217390512d9f 100644
--- a/arkindex/training/migrations/0007_datasetset_model.py
+++ b/arkindex/training/migrations/0007_datasetset_model.py
@@ -51,7 +51,7 @@ class Migration(migrations.Migration):
             [
                 """
                 INSERT INTO training_datasetset (id, dataset_id, name)
-                SELECT uuid_generate_v4(), ds.id, ds.set
+                SELECT gen_random_uuid(), ds.id, ds.set
                 FROM (
                     SELECT DISTINCT id, unnest(sets) AS set
                     FROM training_dataset
@@ -59,7 +59,7 @@ class Migration(migrations.Migration):
                 """,
                 """
                 INSERT INTO training_datasetset (id, dataset_id, name)
-                SELECT uuid_generate_v4(), sets.dataset_id, sets.set
+                SELECT gen_random_uuid(), sets.dataset_id, sets.set
                 FROM (
                     SELECT DISTINCT dataset_id, set
                     FROM training_datasetelement