diff --git a/db/post_migrate/20240212120012_remove_index_on_pipeline_metadata.rb b/db/post_migrate/20240212120012_remove_index_on_pipeline_metadata.rb
new file mode 100644
index 0000000000000000000000000000000000000000..a377b8ac038928867f18775196bde4e909ffd463
--- /dev/null
+++ b/db/post_migrate/20240212120012_remove_index_on_pipeline_metadata.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+class RemoveIndexOnPipelineMetadata < Gitlab::Database::Migration[2.2]
+  disable_ddl_transaction!
+
+  milestone '16.10'
+
+  INDEX_NAME = 'index_pipeline_metadata_on_pipeline_id_name_text_pattern'
+
+  def up
+    remove_concurrent_index_by_name :ci_pipeline_metadata, INDEX_NAME
+  end
+
+  def down
+    add_concurrent_index :ci_pipeline_metadata, 'pipeline_id, name text_pattern_ops', name: INDEX_NAME
+  end
+end
diff --git a/db/schema_migrations/20240212120012 b/db/schema_migrations/20240212120012
new file mode 100644
index 0000000000000000000000000000000000000000..c03c3cffd32d877ffc7f25ab4452257ebc267c2e
--- /dev/null
+++ b/db/schema_migrations/20240212120012
@@ -0,0 +1 @@
+daa3f7f6ef7068929f9050df5e49fe7c2744dd12b491cd350b73ccafb8385b97
\ No newline at end of file
diff --git a/db/structure.sql b/db/structure.sql
index 2d12315c9f8d3fc292dca3b77aec1e9c7b35ca7c..71c020a0cc6b9b443a819cc8131b890e56ba465a 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -26101,8 +26101,6 @@ CREATE INDEX index_personal_access_tokens_on_user_id ON personal_access_tokens U
 
 CREATE INDEX index_pipeline_metadata_on_name_text_pattern_pipeline_id ON ci_pipeline_metadata USING btree (name text_pattern_ops, pipeline_id);
 
-CREATE INDEX index_pipeline_metadata_on_pipeline_id_name_text_pattern ON ci_pipeline_metadata USING btree (pipeline_id, name text_pattern_ops);
-
 CREATE UNIQUE INDEX p_ci_pipeline_variables_pipeline_id_key_partition_id_idx ON ONLY p_ci_pipeline_variables USING btree (pipeline_id, key, partition_id);
 
 CREATE UNIQUE INDEX index_pipeline_variables_on_pipeline_id_key_partition_id_unique ON ci_pipeline_variables USING btree (pipeline_id, key, partition_id);