Database diagnostics page: Feedback issue
Summary
In GitLab 18.3, we added a Database diagnostics
page in the Admin page
attempt to flag common problems with the database:
- Index corruption caused by change in PostgreSQL collations
- Schema discrepancies
MR links
- Collation health check introduced in GitLab 18.3.
- Schema health check introduced in GitLab 18.3.
- Missing indexes, tables, foreign keys, and sequences check introduced in GitLab 18.3.
- Wrong sequence owners check introduced in GitLab 18.4.
Known False Positives
Misnamed Indexes
GitLab 18.3 fixes many of these in !203313 (merged).
Old Name (Incorrect) | New Name (Correct) | Table | Columns |
---|---|---|---|
p_ci_builds_metadata_build_id_convert_to_bigint_id_convert__idx | p_ci_builds_metadata_build_id_id_idx | p_ci_builds_metadata | build_id |
p_ci_builds_metadata_build_id_convert_to_bigint_idx | p_ci_builds_metadata_build_id_idx | p_ci_builds_metadata | build_id |
p_ci_pipelines_ci_ref_id_id_convert_to_bigint_idx | p_ci_pipelines_ci_ref_id_id_idx | p_ci_pipelines | ci_ref_id, id |
p_ci_pipelines_ci_ref_id_id_convert_to_bigint_source_status_idx | p_ci_pipelines_ci_ref_id_id_source_status_idx | p_ci_pipelines | ci_ref_id, id, source, status |
p_ci_pipelines_id_convert_to_bigint_idx | p_ci_pipelines_id_idx | p_ci_pipelines | id |
p_ci_pipelines_pipeline_schedule_id_id_convert_to_bigint_idx | p_ci_pipelines_pipeline_schedule_id_id_idx | p_ci_pipelines | pipeline_schedule_id, id |
p_ci_pipelines_project_id_id_convert_to_bigint_idx | p_ci_pipelines_project_id_id_idx | p_ci_pipelines | project_id, id |
p_ci_pipelines_project_id_ref_id_convert_to_bigint_idx | p_ci_pipelines_project_id_ref_id_idx | p_ci_pipelines | project_id, ref, id |
p_ci_pipelines_project_id_ref_status_id_convert_to_bigint_idx | p_ci_pipelines_project_id_ref_status_id_idx | p_ci_pipelines | project_id, ref, status, id |
p_ci_pipelines_status_id_convert_to_bigint_idx | p_ci_pipelines_status_id_idx | p_ci_pipelines | status, id |
p_ci_pipelines_user_id_id_convert_to_bigint_idx | p_ci_pipelines_user_id_id_idx | p_ci_pipelines | user_id, id |
p_ci_pipelines_user_id_id_convert_to_bigint_idx1 | p_ci_pipelines_user_id_id_idx1 | p_ci_pipelines | user_id, id |
p_ci_stages_pipeline_id_convert_to_bigint_id_idx | p_ci_stages_pipeline_id_id_idx | p_ci_stages | pipeline_id, id |
p_ci_stages_pipeline_id_convert_to_bigint_position_idx | p_ci_stages_pipeline_id_position_idx | p_ci_stages | pipeline_id, position |
Misnamed Foreign Keys
These will be fixed in GitLab 18.4 with !203323 (merged):
Old Name (Incorrect) | New Name (Correct) | Table | Notes |
---|---|---|---|
fk_rails_2b18ae9256 | fk_rails_1dfc868911 | packages_tags | Originally from packages_package_tags table |
fk_rails_95a99c2d56 | fk_rails_af3f8c5d62 | pool_repositories | Originally from repositories table |
fk_03c671965c | fk_rails_03c671965c | design_management_designs_versions | Missing fk_rails_ prefix |
fk_f4d25ba00c | fk_rails_f4d25ba00c | design_management_designs_versions | Missing fk_rails_ prefix |
fk_a27c483435 | fk_rails_a27c483435 | todos | Missing fk_rails_ prefix |
fk_1e9a074a35 | fk_rails_1e9a074a35 | boards | Missing fk_rails_ prefix |
fk_43a9aa4ca8 | fk_rails_43a9aa4ca8 | remote_mirrors | Missing fk_rails_ prefix |
fk_61fbf6ca48 | fk_rails_61fbf6ca48 | events | Missing fk_rails_ prefix |
fk_d1aad367d7 | fk_rails_d1aad367d7 | project_mirror_data | Missing fk_rails_ prefix |
fk_08722e8ac7 | fk_rails_08722e8ac7 | security_policies | Missing fk_rails_ prefix |
fk_616ddd680a | fk_rails_616ddd680a | dependency_proxy_group_settings | Missing fk_rails_ prefix |
fk_a3c10bcf7d | fk_rails_a3c10bcf7d | jira_connect_subscriptions | Missing fk_rails_ prefix |
fk_db58bbc5d7 | fk_rails_db58bbc5d7 | dependency_proxy_blobs | Missing fk_rails_ prefix |
fk_e344cb2d35 | fk_rails_e344cb2d35 | approval_policy_rules | Missing fk_rails_ prefix |
fk_f1d617343f | fk_rails_f1d617343f | jira_connect_subscriptions | Missing fk_rails_ prefix |
Unneeded Sequences
This will dropped in GitLab 18.4 with !203299 (merged):
project_incident_management_settings_project_id_seq
user_statuses_user_id_seq
Summary
Common Patterns:
-
Indexes: Most had
convert_to_bigint
remnants from previous migration work -
Foreign Keys: Most were missing the standard
fk_rails_
prefix, while 2 had incorrect hash values due to original table name changes
Edited by 🤖 GitLab Bot 🤖