From 21e45ce972bc44ab8f98edb8bd5deb8a7cacb7e0 Mon Sep 17 00:00:00 2001 From: Olivier 'reivilibre Date: Mon, 1 Dec 2025 12:14:31 +0000 Subject: [PATCH] Revert "Add 'IF NOT EXISTS' to all 'CREATE INDEX CONCURRENTLY' statements to avoid deadlocks (#5297)" This reverts commit 396950806c08483f793272929b143da85edd3e75, reversing changes made to ef563f33c635e574666fb0cba0bbc85e7c3e7085. --- .../20250410000000_idx_compat_access_tokens_session_fk.sql | 2 +- .../20250410000001_idx_compat_refresh_tokens_session_fk.sql | 2 +- ...250410000002_idx_compat_refresh_tokens_access_token_fk.sql | 2 +- .../migrations/20250410000003_idx_compat_sessions_user_fk.sql | 2 +- .../20250410000004_idx_compat_sessions_user_session_fk.sql | 2 +- .../20250410000006_idx_compat_sso_logins_session_fk.sql | 2 +- .../20250410000007_idx_oauth2_access_tokens_session_fk.sql | 2 +- ...50410000008_idx_oauth2_authorization_grants_session_fk.sql | 2 +- ...250410000009_idx_oauth2_authorization_grants_client_fk.sql | 2 +- .../20250410000010_idx_oauth2_consents_client_fk.sql | 2 +- .../migrations/20250410000011_idx_oauth2_consents_user_fk.sql | 2 +- ...20250410000012_idx_oauth2_device_code_grants_client_fk.sql | 2 +- ...0250410000013_idx_oauth2_device_code_grants_session_fk.sql | 2 +- ...10000014_idx_oauth2_device_code_grants_user_session_fk.sql | 2 +- .../20250410000015_idx_oauth2_refresh_tokens_session_fk.sql | 2 +- ...250410000016_idx_oauth2_refresh_tokens_access_token_fk.sql | 2 +- ...000017_idx_oauth2_refresh_tokens_next_refresh_token_fk.sql | 2 +- .../20250410000018_idx_oauth2_sessions_user_session_fk.sql | 2 +- .../20250410000019_idx_oauth2_sessions_client_fk.sql | 2 +- .../migrations/20250410000020_idx_oauth2_sessions_user_fk.sql | 2 +- .../20250410000022_idx_queue_jobs_started_by_fk.sql | 2 +- .../20250410000023_idx_queue_jobs_next_attempt_fk.sql | 2 +- .../20250410000024_idx_queue_jobs_schedule_name_fk.sql | 2 +- ..._idx_upstream_oauth_authorization_sessions_provider_fk.sql | 2 +- ...0026_idx_upstream_oauth_authorization_sessions_link_fk.sql | 2 +- .../20250410000027_idx_upstream_oauth_links_provider_fk.sql | 2 +- .../20250410000028_idx_upstream_oauth_links_user_fk.sql | 2 +- ..._idx_user_email_authentication_codes_authentication_fk.sql | 2 +- ...0000030_idx_user_email_authentications_user_session_fk.sql | 2 +- ...31_idx_user_email_authentications_user_registration_fk.sql | 2 +- .../migrations/20250410000032_idx_user_emails_user_fk.sql | 2 +- .../migrations/20250410000033_idx_user_emails_email_idx.sql | 2 +- .../migrations/20250410000034_idx_user_passwords_user_fk.sql | 2 +- .../20250410000035_idx_user_recovery_tickets_session_fk.sql | 2 +- ...20250410000036_idx_user_recovery_tickets_user_email_fk.sql | 2 +- ...0000037_idx_user_registrations_email_authentication_fk.sql | 2 +- ...00038_idx_user_session_authentications_user_session_fk.sql | 2 +- ...0039_idx_user_session_authentications_user_password_fk.sql | 2 +- ...user_session_authentications_upstream_oauth_session_fk.sql | 2 +- .../migrations/20250410000041_idx_user_sessions_user_fk.sql | 2 +- .../migrations/20250410000043_idx_user_terms_user_fk.sql | 2 +- .../migrations/20250410000044_idx_users_primary_email_fk.sql | 2 +- .../20250410000045_idx_user_recovery_tickets_ticket_idx.sql | 2 +- .../migrations/20250410121612_users_lower_username_idx.sql | 2 +- .../migrations/20250602212101_idx_user_registration_token.sql | 4 ++-- .../migrations/20250708155857_idx_user_emails_lower_email.sql | 2 +- .../migrations/20250915092635_users_username_trgm_idx.sql | 2 +- ...127145951_user_registration_upstream_oauth_session_idx.sql | 2 +- 48 files changed, 49 insertions(+), 49 deletions(-) diff --git a/crates/storage-pg/migrations/20250410000000_idx_compat_access_tokens_session_fk.sql b/crates/storage-pg/migrations/20250410000000_idx_compat_access_tokens_session_fk.sql index 880488b54..777118233 100644 --- a/crates/storage-pg/migrations/20250410000000_idx_compat_access_tokens_session_fk.sql +++ b/crates/storage-pg/migrations/20250410000000_idx_compat_access_tokens_session_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY compat_access_tokens_session_fk ON compat_access_tokens (compat_session_id); diff --git a/crates/storage-pg/migrations/20250410000001_idx_compat_refresh_tokens_session_fk.sql b/crates/storage-pg/migrations/20250410000001_idx_compat_refresh_tokens_session_fk.sql index 806a9f1e1..d0e99ad9b 100644 --- a/crates/storage-pg/migrations/20250410000001_idx_compat_refresh_tokens_session_fk.sql +++ b/crates/storage-pg/migrations/20250410000001_idx_compat_refresh_tokens_session_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY compat_refresh_tokens_session_fk ON compat_refresh_tokens (compat_session_id); diff --git a/crates/storage-pg/migrations/20250410000002_idx_compat_refresh_tokens_access_token_fk.sql b/crates/storage-pg/migrations/20250410000002_idx_compat_refresh_tokens_access_token_fk.sql index 399f3731f..133b00072 100644 --- a/crates/storage-pg/migrations/20250410000002_idx_compat_refresh_tokens_access_token_fk.sql +++ b/crates/storage-pg/migrations/20250410000002_idx_compat_refresh_tokens_access_token_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY compat_refresh_tokens_access_token_fk ON compat_refresh_tokens (compat_access_token_id); diff --git a/crates/storage-pg/migrations/20250410000003_idx_compat_sessions_user_fk.sql b/crates/storage-pg/migrations/20250410000003_idx_compat_sessions_user_fk.sql index 1b038c53f..3234fc8ca 100644 --- a/crates/storage-pg/migrations/20250410000003_idx_compat_sessions_user_fk.sql +++ b/crates/storage-pg/migrations/20250410000003_idx_compat_sessions_user_fk.sql @@ -7,7 +7,7 @@ -- Including the `last_active_at` column lets us effeciently filter in-memory -- for those sessions without fetching the rows, and without including it in the -- index btree -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY compat_sessions_user_fk ON compat_sessions (user_id) INCLUDE (last_active_at); diff --git a/crates/storage-pg/migrations/20250410000004_idx_compat_sessions_user_session_fk.sql b/crates/storage-pg/migrations/20250410000004_idx_compat_sessions_user_session_fk.sql index 52633ad0b..4b35f9960 100644 --- a/crates/storage-pg/migrations/20250410000004_idx_compat_sessions_user_session_fk.sql +++ b/crates/storage-pg/migrations/20250410000004_idx_compat_sessions_user_session_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY compat_sessions_user_session_fk ON compat_sessions (user_session_id); diff --git a/crates/storage-pg/migrations/20250410000006_idx_compat_sso_logins_session_fk.sql b/crates/storage-pg/migrations/20250410000006_idx_compat_sso_logins_session_fk.sql index da209e586..e88224e66 100644 --- a/crates/storage-pg/migrations/20250410000006_idx_compat_sso_logins_session_fk.sql +++ b/crates/storage-pg/migrations/20250410000006_idx_compat_sso_logins_session_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY compat_sso_logins_session_fk ON compat_sso_logins (compat_session_id); diff --git a/crates/storage-pg/migrations/20250410000007_idx_oauth2_access_tokens_session_fk.sql b/crates/storage-pg/migrations/20250410000007_idx_oauth2_access_tokens_session_fk.sql index fd44fb6c4..7495af2a3 100644 --- a/crates/storage-pg/migrations/20250410000007_idx_oauth2_access_tokens_session_fk.sql +++ b/crates/storage-pg/migrations/20250410000007_idx_oauth2_access_tokens_session_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY oauth2_access_tokens_session_fk ON oauth2_access_tokens (oauth2_session_id); diff --git a/crates/storage-pg/migrations/20250410000008_idx_oauth2_authorization_grants_session_fk.sql b/crates/storage-pg/migrations/20250410000008_idx_oauth2_authorization_grants_session_fk.sql index 4a32010f2..dac57bf91 100644 --- a/crates/storage-pg/migrations/20250410000008_idx_oauth2_authorization_grants_session_fk.sql +++ b/crates/storage-pg/migrations/20250410000008_idx_oauth2_authorization_grants_session_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY oauth2_authorization_grants_session_fk ON oauth2_authorization_grants (oauth2_session_id); diff --git a/crates/storage-pg/migrations/20250410000009_idx_oauth2_authorization_grants_client_fk.sql b/crates/storage-pg/migrations/20250410000009_idx_oauth2_authorization_grants_client_fk.sql index 945d751db..fd5d30344 100644 --- a/crates/storage-pg/migrations/20250410000009_idx_oauth2_authorization_grants_client_fk.sql +++ b/crates/storage-pg/migrations/20250410000009_idx_oauth2_authorization_grants_client_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY oauth2_authorization_grants_client_fk ON oauth2_authorization_grants (oauth2_client_id); diff --git a/crates/storage-pg/migrations/20250410000010_idx_oauth2_consents_client_fk.sql b/crates/storage-pg/migrations/20250410000010_idx_oauth2_consents_client_fk.sql index b0928ef5e..ae8e0b5dd 100644 --- a/crates/storage-pg/migrations/20250410000010_idx_oauth2_consents_client_fk.sql +++ b/crates/storage-pg/migrations/20250410000010_idx_oauth2_consents_client_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY oauth2_consents_client_fk ON oauth2_consents (oauth2_client_id); diff --git a/crates/storage-pg/migrations/20250410000011_idx_oauth2_consents_user_fk.sql b/crates/storage-pg/migrations/20250410000011_idx_oauth2_consents_user_fk.sql index 89751503b..c9226b7d6 100644 --- a/crates/storage-pg/migrations/20250410000011_idx_oauth2_consents_user_fk.sql +++ b/crates/storage-pg/migrations/20250410000011_idx_oauth2_consents_user_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY oauth2_consents_user_fk ON oauth2_consents (user_id); diff --git a/crates/storage-pg/migrations/20250410000012_idx_oauth2_device_code_grants_client_fk.sql b/crates/storage-pg/migrations/20250410000012_idx_oauth2_device_code_grants_client_fk.sql index 3f97117f7..a9981fe4b 100644 --- a/crates/storage-pg/migrations/20250410000012_idx_oauth2_device_code_grants_client_fk.sql +++ b/crates/storage-pg/migrations/20250410000012_idx_oauth2_device_code_grants_client_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY oauth2_device_code_grants_client_fk ON oauth2_device_code_grant (oauth2_client_id); diff --git a/crates/storage-pg/migrations/20250410000013_idx_oauth2_device_code_grants_session_fk.sql b/crates/storage-pg/migrations/20250410000013_idx_oauth2_device_code_grants_session_fk.sql index 7400dcd5d..be8f685d1 100644 --- a/crates/storage-pg/migrations/20250410000013_idx_oauth2_device_code_grants_session_fk.sql +++ b/crates/storage-pg/migrations/20250410000013_idx_oauth2_device_code_grants_session_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY oauth2_device_code_grants_session_fk ON oauth2_device_code_grant (oauth2_session_id); diff --git a/crates/storage-pg/migrations/20250410000014_idx_oauth2_device_code_grants_user_session_fk.sql b/crates/storage-pg/migrations/20250410000014_idx_oauth2_device_code_grants_user_session_fk.sql index 8b07a4366..f3f6613d7 100644 --- a/crates/storage-pg/migrations/20250410000014_idx_oauth2_device_code_grants_user_session_fk.sql +++ b/crates/storage-pg/migrations/20250410000014_idx_oauth2_device_code_grants_user_session_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY oauth2_device_code_grants_user_session_fk ON oauth2_device_code_grant (user_session_id); diff --git a/crates/storage-pg/migrations/20250410000015_idx_oauth2_refresh_tokens_session_fk.sql b/crates/storage-pg/migrations/20250410000015_idx_oauth2_refresh_tokens_session_fk.sql index 7da896268..897d247c8 100644 --- a/crates/storage-pg/migrations/20250410000015_idx_oauth2_refresh_tokens_session_fk.sql +++ b/crates/storage-pg/migrations/20250410000015_idx_oauth2_refresh_tokens_session_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY oauth2_refresh_tokens_session_fk ON oauth2_refresh_tokens (oauth2_session_id); diff --git a/crates/storage-pg/migrations/20250410000016_idx_oauth2_refresh_tokens_access_token_fk.sql b/crates/storage-pg/migrations/20250410000016_idx_oauth2_refresh_tokens_access_token_fk.sql index f6059d223..5d391e6a5 100644 --- a/crates/storage-pg/migrations/20250410000016_idx_oauth2_refresh_tokens_access_token_fk.sql +++ b/crates/storage-pg/migrations/20250410000016_idx_oauth2_refresh_tokens_access_token_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY oauth2_refresh_tokens_access_token_fk ON oauth2_refresh_tokens (oauth2_access_token_id); diff --git a/crates/storage-pg/migrations/20250410000017_idx_oauth2_refresh_tokens_next_refresh_token_fk.sql b/crates/storage-pg/migrations/20250410000017_idx_oauth2_refresh_tokens_next_refresh_token_fk.sql index 40fd117cc..f593f1d28 100644 --- a/crates/storage-pg/migrations/20250410000017_idx_oauth2_refresh_tokens_next_refresh_token_fk.sql +++ b/crates/storage-pg/migrations/20250410000017_idx_oauth2_refresh_tokens_next_refresh_token_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY oauth2_refresh_tokens_next_refresh_token_fk ON oauth2_refresh_tokens (next_oauth2_refresh_token_id); diff --git a/crates/storage-pg/migrations/20250410000018_idx_oauth2_sessions_user_session_fk.sql b/crates/storage-pg/migrations/20250410000018_idx_oauth2_sessions_user_session_fk.sql index b2639e714..44d6d0e3c 100644 --- a/crates/storage-pg/migrations/20250410000018_idx_oauth2_sessions_user_session_fk.sql +++ b/crates/storage-pg/migrations/20250410000018_idx_oauth2_sessions_user_session_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY oauth2_sessions_user_session_fk ON oauth2_sessions (user_session_id); diff --git a/crates/storage-pg/migrations/20250410000019_idx_oauth2_sessions_client_fk.sql b/crates/storage-pg/migrations/20250410000019_idx_oauth2_sessions_client_fk.sql index 341d2dea1..ad868a310 100644 --- a/crates/storage-pg/migrations/20250410000019_idx_oauth2_sessions_client_fk.sql +++ b/crates/storage-pg/migrations/20250410000019_idx_oauth2_sessions_client_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY oauth2_sessions_client_fk ON oauth2_sessions (oauth2_client_id); diff --git a/crates/storage-pg/migrations/20250410000020_idx_oauth2_sessions_user_fk.sql b/crates/storage-pg/migrations/20250410000020_idx_oauth2_sessions_user_fk.sql index d7b5f52af..b47bb00a8 100644 --- a/crates/storage-pg/migrations/20250410000020_idx_oauth2_sessions_user_fk.sql +++ b/crates/storage-pg/migrations/20250410000020_idx_oauth2_sessions_user_fk.sql @@ -7,7 +7,7 @@ -- Including the `last_active_at` column lets us effeciently filter in-memory -- for those sessions without fetching the rows, and without including it in the -- index btree -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY oauth2_sessions_user_fk ON oauth2_sessions (user_id) INCLUDE (last_active_at); diff --git a/crates/storage-pg/migrations/20250410000022_idx_queue_jobs_started_by_fk.sql b/crates/storage-pg/migrations/20250410000022_idx_queue_jobs_started_by_fk.sql index 272785332..38bb79ede 100644 --- a/crates/storage-pg/migrations/20250410000022_idx_queue_jobs_started_by_fk.sql +++ b/crates/storage-pg/migrations/20250410000022_idx_queue_jobs_started_by_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY queue_jobs_started_by_fk ON queue_jobs (started_by); diff --git a/crates/storage-pg/migrations/20250410000023_idx_queue_jobs_next_attempt_fk.sql b/crates/storage-pg/migrations/20250410000023_idx_queue_jobs_next_attempt_fk.sql index 9824557e1..ea611f76e 100644 --- a/crates/storage-pg/migrations/20250410000023_idx_queue_jobs_next_attempt_fk.sql +++ b/crates/storage-pg/migrations/20250410000023_idx_queue_jobs_next_attempt_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY queue_jobs_next_attempt_fk ON queue_jobs (next_attempt_id); diff --git a/crates/storage-pg/migrations/20250410000024_idx_queue_jobs_schedule_name_fk.sql b/crates/storage-pg/migrations/20250410000024_idx_queue_jobs_schedule_name_fk.sql index 4c70fea50..02b2bfaea 100644 --- a/crates/storage-pg/migrations/20250410000024_idx_queue_jobs_schedule_name_fk.sql +++ b/crates/storage-pg/migrations/20250410000024_idx_queue_jobs_schedule_name_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY queue_jobs_schedule_name_fk ON queue_jobs (schedule_name); diff --git a/crates/storage-pg/migrations/20250410000025_idx_upstream_oauth_authorization_sessions_provider_fk.sql b/crates/storage-pg/migrations/20250410000025_idx_upstream_oauth_authorization_sessions_provider_fk.sql index b86b1e0ee..f5e388613 100644 --- a/crates/storage-pg/migrations/20250410000025_idx_upstream_oauth_authorization_sessions_provider_fk.sql +++ b/crates/storage-pg/migrations/20250410000025_idx_upstream_oauth_authorization_sessions_provider_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY upstream_oauth_authorization_sessions_provider_fk ON upstream_oauth_authorization_sessions (upstream_oauth_provider_id); diff --git a/crates/storage-pg/migrations/20250410000026_idx_upstream_oauth_authorization_sessions_link_fk.sql b/crates/storage-pg/migrations/20250410000026_idx_upstream_oauth_authorization_sessions_link_fk.sql index 1b296090a..aa08e7fa1 100644 --- a/crates/storage-pg/migrations/20250410000026_idx_upstream_oauth_authorization_sessions_link_fk.sql +++ b/crates/storage-pg/migrations/20250410000026_idx_upstream_oauth_authorization_sessions_link_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY upstream_oauth_authorization_sessions_link_fk ON upstream_oauth_authorization_sessions (upstream_oauth_link_id); diff --git a/crates/storage-pg/migrations/20250410000027_idx_upstream_oauth_links_provider_fk.sql b/crates/storage-pg/migrations/20250410000027_idx_upstream_oauth_links_provider_fk.sql index 55dd22612..9f6a9301f 100644 --- a/crates/storage-pg/migrations/20250410000027_idx_upstream_oauth_links_provider_fk.sql +++ b/crates/storage-pg/migrations/20250410000027_idx_upstream_oauth_links_provider_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY upstream_oauth_links_provider_fk ON upstream_oauth_links (upstream_oauth_provider_id); diff --git a/crates/storage-pg/migrations/20250410000028_idx_upstream_oauth_links_user_fk.sql b/crates/storage-pg/migrations/20250410000028_idx_upstream_oauth_links_user_fk.sql index 21ba23e40..af7791f18 100644 --- a/crates/storage-pg/migrations/20250410000028_idx_upstream_oauth_links_user_fk.sql +++ b/crates/storage-pg/migrations/20250410000028_idx_upstream_oauth_links_user_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY upstream_oauth_links_user_fk ON upstream_oauth_links (user_id); diff --git a/crates/storage-pg/migrations/20250410000029_idx_user_email_authentication_codes_authentication_fk.sql b/crates/storage-pg/migrations/20250410000029_idx_user_email_authentication_codes_authentication_fk.sql index 591409632..889fac2ab 100644 --- a/crates/storage-pg/migrations/20250410000029_idx_user_email_authentication_codes_authentication_fk.sql +++ b/crates/storage-pg/migrations/20250410000029_idx_user_email_authentication_codes_authentication_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY user_email_authentication_codes_authentication_fk ON user_email_authentication_codes (user_email_authentication_id); diff --git a/crates/storage-pg/migrations/20250410000030_idx_user_email_authentications_user_session_fk.sql b/crates/storage-pg/migrations/20250410000030_idx_user_email_authentications_user_session_fk.sql index bd1558b7d..3a6284f67 100644 --- a/crates/storage-pg/migrations/20250410000030_idx_user_email_authentications_user_session_fk.sql +++ b/crates/storage-pg/migrations/20250410000030_idx_user_email_authentications_user_session_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY user_email_authentications_user_session_fk ON user_email_authentications (user_session_id); diff --git a/crates/storage-pg/migrations/20250410000031_idx_user_email_authentications_user_registration_fk.sql b/crates/storage-pg/migrations/20250410000031_idx_user_email_authentications_user_registration_fk.sql index 7f233f7c3..9ad343ac9 100644 --- a/crates/storage-pg/migrations/20250410000031_idx_user_email_authentications_user_registration_fk.sql +++ b/crates/storage-pg/migrations/20250410000031_idx_user_email_authentications_user_registration_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY user_email_authentications_user_registration_fk ON user_email_authentications (user_registration_id); diff --git a/crates/storage-pg/migrations/20250410000032_idx_user_emails_user_fk.sql b/crates/storage-pg/migrations/20250410000032_idx_user_emails_user_fk.sql index c4834c714..f66117d43 100644 --- a/crates/storage-pg/migrations/20250410000032_idx_user_emails_user_fk.sql +++ b/crates/storage-pg/migrations/20250410000032_idx_user_emails_user_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY user_emails_user_fk ON user_emails (user_id); diff --git a/crates/storage-pg/migrations/20250410000033_idx_user_emails_email_idx.sql b/crates/storage-pg/migrations/20250410000033_idx_user_emails_email_idx.sql index b0f2ec4ac..e75e1e028 100644 --- a/crates/storage-pg/migrations/20250410000033_idx_user_emails_email_idx.sql +++ b/crates/storage-pg/migrations/20250410000033_idx_user_emails_email_idx.sql @@ -5,6 +5,6 @@ -- Please see LICENSE in the repository root for full details. -- This isn't a foreign key, but we really need that to be indexed -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY user_emails_email_idx ON user_emails (email); diff --git a/crates/storage-pg/migrations/20250410000034_idx_user_passwords_user_fk.sql b/crates/storage-pg/migrations/20250410000034_idx_user_passwords_user_fk.sql index 334fb878a..cfc1a9df7 100644 --- a/crates/storage-pg/migrations/20250410000034_idx_user_passwords_user_fk.sql +++ b/crates/storage-pg/migrations/20250410000034_idx_user_passwords_user_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY user_passwords_user_fk ON user_passwords (user_id); diff --git a/crates/storage-pg/migrations/20250410000035_idx_user_recovery_tickets_session_fk.sql b/crates/storage-pg/migrations/20250410000035_idx_user_recovery_tickets_session_fk.sql index 6cda37194..22537f6a1 100644 --- a/crates/storage-pg/migrations/20250410000035_idx_user_recovery_tickets_session_fk.sql +++ b/crates/storage-pg/migrations/20250410000035_idx_user_recovery_tickets_session_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY user_recovery_tickets_session_fk ON user_recovery_tickets (user_recovery_session_id); diff --git a/crates/storage-pg/migrations/20250410000036_idx_user_recovery_tickets_user_email_fk.sql b/crates/storage-pg/migrations/20250410000036_idx_user_recovery_tickets_user_email_fk.sql index e6561ade5..81bee0605 100644 --- a/crates/storage-pg/migrations/20250410000036_idx_user_recovery_tickets_user_email_fk.sql +++ b/crates/storage-pg/migrations/20250410000036_idx_user_recovery_tickets_user_email_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY user_recovery_tickets_user_email_fk ON user_recovery_tickets (user_email_id); diff --git a/crates/storage-pg/migrations/20250410000037_idx_user_registrations_email_authentication_fk.sql b/crates/storage-pg/migrations/20250410000037_idx_user_registrations_email_authentication_fk.sql index 95a9ec128..3385114d1 100644 --- a/crates/storage-pg/migrations/20250410000037_idx_user_registrations_email_authentication_fk.sql +++ b/crates/storage-pg/migrations/20250410000037_idx_user_registrations_email_authentication_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY user_registrations_email_authentication_fk ON user_registrations (email_authentication_id); diff --git a/crates/storage-pg/migrations/20250410000038_idx_user_session_authentications_user_session_fk.sql b/crates/storage-pg/migrations/20250410000038_idx_user_session_authentications_user_session_fk.sql index ee78dbd73..e71abc0a6 100644 --- a/crates/storage-pg/migrations/20250410000038_idx_user_session_authentications_user_session_fk.sql +++ b/crates/storage-pg/migrations/20250410000038_idx_user_session_authentications_user_session_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY user_session_authentications_user_session_fk ON user_session_authentications (user_session_id); diff --git a/crates/storage-pg/migrations/20250410000039_idx_user_session_authentications_user_password_fk.sql b/crates/storage-pg/migrations/20250410000039_idx_user_session_authentications_user_password_fk.sql index 450a0672a..c6e262d0e 100644 --- a/crates/storage-pg/migrations/20250410000039_idx_user_session_authentications_user_password_fk.sql +++ b/crates/storage-pg/migrations/20250410000039_idx_user_session_authentications_user_password_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY user_session_authentications_user_password_fk ON user_session_authentications (user_password_id); diff --git a/crates/storage-pg/migrations/20250410000040_idx_user_session_authentications_upstream_oauth_session_fk.sql b/crates/storage-pg/migrations/20250410000040_idx_user_session_authentications_upstream_oauth_session_fk.sql index c021595d7..98f5728ad 100644 --- a/crates/storage-pg/migrations/20250410000040_idx_user_session_authentications_upstream_oauth_session_fk.sql +++ b/crates/storage-pg/migrations/20250410000040_idx_user_session_authentications_upstream_oauth_session_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY user_session_authentications_upstream_oauth_session_fk ON user_session_authentications (upstream_oauth_authorization_session_id); diff --git a/crates/storage-pg/migrations/20250410000041_idx_user_sessions_user_fk.sql b/crates/storage-pg/migrations/20250410000041_idx_user_sessions_user_fk.sql index 443216bd9..e2b83345c 100644 --- a/crates/storage-pg/migrations/20250410000041_idx_user_sessions_user_fk.sql +++ b/crates/storage-pg/migrations/20250410000041_idx_user_sessions_user_fk.sql @@ -7,7 +7,7 @@ -- Including the `last_active_at` column lets us effeciently filter in-memory -- for those sessions without fetching the rows, and without including it in the -- index btree -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY user_sessions_user_fk ON user_sessions (user_id) INCLUDE (last_active_at); diff --git a/crates/storage-pg/migrations/20250410000043_idx_user_terms_user_fk.sql b/crates/storage-pg/migrations/20250410000043_idx_user_terms_user_fk.sql index f885b557d..f95b63a72 100644 --- a/crates/storage-pg/migrations/20250410000043_idx_user_terms_user_fk.sql +++ b/crates/storage-pg/migrations/20250410000043_idx_user_terms_user_fk.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY user_terms_user_fk ON user_terms (user_id); diff --git a/crates/storage-pg/migrations/20250410000044_idx_users_primary_email_fk.sql b/crates/storage-pg/migrations/20250410000044_idx_users_primary_email_fk.sql index 0a6318efa..57ae2d0d0 100644 --- a/crates/storage-pg/migrations/20250410000044_idx_users_primary_email_fk.sql +++ b/crates/storage-pg/migrations/20250410000044_idx_users_primary_email_fk.sql @@ -6,6 +6,6 @@ -- We don't use this column anymore, but… it will still tank the performance on -- deletions of user_emails if we don't have it -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY users_primary_email_fk ON users (primary_user_email_id); diff --git a/crates/storage-pg/migrations/20250410000045_idx_user_recovery_tickets_ticket_idx.sql b/crates/storage-pg/migrations/20250410000045_idx_user_recovery_tickets_ticket_idx.sql index 648b42fa6..3030078f9 100644 --- a/crates/storage-pg/migrations/20250410000045_idx_user_recovery_tickets_ticket_idx.sql +++ b/crates/storage-pg/migrations/20250410000045_idx_user_recovery_tickets_ticket_idx.sql @@ -5,6 +5,6 @@ -- Please see LICENSE in the repository root for full details. -- This isn't a foreign key, but we really need that to be indexed -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY user_recovery_tickets_ticket_idx ON user_recovery_tickets (ticket); diff --git a/crates/storage-pg/migrations/20250410121612_users_lower_username_idx.sql b/crates/storage-pg/migrations/20250410121612_users_lower_username_idx.sql index 0225f6a72..625e07e1b 100644 --- a/crates/storage-pg/migrations/20250410121612_users_lower_username_idx.sql +++ b/crates/storage-pg/migrations/20250410121612_users_lower_username_idx.sql @@ -6,5 +6,5 @@ -- Create an index on the username column, lower-cased, so that we can lookup -- usernames in a case-insensitive manner. -CREATE INDEX CONCURRENTLY IF NOT EXISTS users_lower_username_idx +CREATE INDEX CONCURRENTLY users_lower_username_idx ON users (LOWER(username)); diff --git a/crates/storage-pg/migrations/20250602212101_idx_user_registration_token.sql b/crates/storage-pg/migrations/20250602212101_idx_user_registration_token.sql index 957b453bf..a25d6358a 100644 --- a/crates/storage-pg/migrations/20250602212101_idx_user_registration_token.sql +++ b/crates/storage-pg/migrations/20250602212101_idx_user_registration_token.sql @@ -4,6 +4,6 @@ -- SPDX-License-Identifier: AGPL-3.0-only -- Please see LICENSE in the repository root for full details. -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY user_registrations_user_registration_token_id_fk - ON user_registrations (user_registration_token_id); + ON user_registrations (user_registration_token_id); \ No newline at end of file diff --git a/crates/storage-pg/migrations/20250708155857_idx_user_emails_lower_email.sql b/crates/storage-pg/migrations/20250708155857_idx_user_emails_lower_email.sql index 1b4f9afe7..06b3dde6a 100644 --- a/crates/storage-pg/migrations/20250708155857_idx_user_emails_lower_email.sql +++ b/crates/storage-pg/migrations/20250708155857_idx_user_emails_lower_email.sql @@ -6,6 +6,6 @@ -- When we're looking up an email address, we want to be able to do a case-insensitive -- lookup, so we index the email address lowercase and request it like that -CREATE INDEX CONCURRENTLY IF NOT EXISTS +CREATE INDEX CONCURRENTLY user_emails_lower_email_idx ON user_emails (LOWER(email)); diff --git a/crates/storage-pg/migrations/20250915092635_users_username_trgm_idx.sql b/crates/storage-pg/migrations/20250915092635_users_username_trgm_idx.sql index 3e2cd4dca..5f007d750 100644 --- a/crates/storage-pg/migrations/20250915092635_users_username_trgm_idx.sql +++ b/crates/storage-pg/migrations/20250915092635_users_username_trgm_idx.sql @@ -6,5 +6,5 @@ -- This adds an index on the username field for ILIKE '%search%' operations, -- enabling fuzzy searches of usernames -CREATE INDEX CONCURRENTLY IF NOT EXISTS users_username_trgm_idx +CREATE INDEX CONCURRENTLY users_username_trgm_idx ON users USING gin(username gin_trgm_ops); diff --git a/crates/storage-pg/migrations/20251127145951_user_registration_upstream_oauth_session_idx.sql b/crates/storage-pg/migrations/20251127145951_user_registration_upstream_oauth_session_idx.sql index 665a2ff18..b9890ffad 100644 --- a/crates/storage-pg/migrations/20251127145951_user_registration_upstream_oauth_session_idx.sql +++ b/crates/storage-pg/migrations/20251127145951_user_registration_upstream_oauth_session_idx.sql @@ -5,5 +5,5 @@ -- Please see LICENSE in the repository root for full details. -- Index on the new foreign key added by the previous migration -CREATE INDEX CONCURRENTLY IF NOT EXISTS user_registrations_upstream_oauth_session_id_idx +CREATE INDEX CONCURRENTLY user_registrations_upstream_oauth_session_id_idx ON user_registrations (upstream_oauth_authorization_session_id);