diff --git a/contrib/pg_tde/expected/default_principal_key.out b/contrib/pg_tde/expected/default_principal_key.out index 0bae2551e2f..8569aab5b42 100644 --- a/contrib/pg_tde/expected/default_principal_key.out +++ b/contrib/pg_tde/expected/default_principal_key.out @@ -39,8 +39,9 @@ ERROR: Can't delete a provider which is currently in use SELECT id, provider_name FROM pg_tde_list_all_global_key_providers(); id | provider_name ----+--------------- + -1 | file-keyring -3 | file-provider -(1 row) +(2 rows) -- Should fail: no principal key for the database yet SELECT key_provider_id, key_provider_name, key_name diff --git a/contrib/pg_tde/expected/default_principal_key_1.out b/contrib/pg_tde/expected/default_principal_key_1.out index 9ad23893325..0a90d7696ea 100644 --- a/contrib/pg_tde/expected/default_principal_key_1.out +++ b/contrib/pg_tde/expected/default_principal_key_1.out @@ -40,8 +40,9 @@ SELECT id, provider_name FROM pg_tde_list_all_global_key_providers(); id | provider_name ----+----------------- -1 | reg_file-global + -2 | file-keyring -4 | file-provider -(2 rows) +(3 rows) -- Should fail: no principal key for the database yet SELECT key_provider_id, key_provider_name, key_name diff --git a/contrib/pg_tde/expected/key_provider.out b/contrib/pg_tde/expected/key_provider.out index 733efc46cd3..202555ae9da 100644 --- a/contrib/pg_tde/expected/key_provider.out +++ b/contrib/pg_tde/expected/key_provider.out @@ -139,16 +139,13 @@ SELECT pg_tde_set_key_using_global_key_provider('test-db-key', 'file-keyring', f -- fails SELECT pg_tde_delete_global_key_provider('file-keyring'); - pg_tde_delete_global_key_provider ------------------------------------ - -(1 row) - +ERROR: Can't delete a provider which is currently in use SELECT id, provider_name FROM pg_tde_list_all_global_key_providers(); id | provider_name ----+--------------- + -1 | file-keyring -2 | file-keyring2 -(1 row) +(2 rows) -- works SELECT pg_tde_delete_global_key_provider('file-keyring2'); @@ -160,6 +157,7 @@ SELECT pg_tde_delete_global_key_provider('file-keyring2'); SELECT id, provider_name FROM pg_tde_list_all_global_key_providers(); id | provider_name ----+--------------- -(0 rows) + -1 | file-keyring +(1 row) DROP EXTENSION pg_tde; diff --git a/contrib/pg_tde/expected/key_provider_1.out b/contrib/pg_tde/expected/key_provider_1.out index 3463d6a384f..a583cc3dad1 100644 --- a/contrib/pg_tde/expected/key_provider_1.out +++ b/contrib/pg_tde/expected/key_provider_1.out @@ -141,17 +141,14 @@ SELECT pg_tde_set_key_using_global_key_provider('test-db-key', 'file-keyring', f -- fails SELECT pg_tde_delete_global_key_provider('file-keyring'); - pg_tde_delete_global_key_provider ------------------------------------ - -(1 row) - +ERROR: Can't delete a provider which is currently in use SELECT id, provider_name FROM pg_tde_list_all_global_key_providers(); id | provider_name ----+----------------- -1 | reg_file-global + -2 | file-keyring -3 | file-keyring2 -(2 rows) +(3 rows) -- works SELECT pg_tde_delete_global_key_provider('file-keyring2'); @@ -164,6 +161,7 @@ SELECT id, provider_name FROM pg_tde_list_all_global_key_providers(); id | provider_name ----+----------------- -1 | reg_file-global -(1 row) + -2 | file-keyring +(2 rows) DROP EXTENSION pg_tde; diff --git a/contrib/pg_tde/src/catalog/tde_principal_key.c b/contrib/pg_tde/src/catalog/tde_principal_key.c index 6b4f1174c20..a3457e7f1de 100644 --- a/contrib/pg_tde/src/catalog/tde_principal_key.c +++ b/contrib/pg_tde/src/catalog/tde_principal_key.c @@ -953,7 +953,7 @@ pg_tde_is_provider_used(Oid databaseOid, Oid providerId) continue; } - if (providerId == principal_key->keyInfo.keyringId && principal_key->keyInfo.databaseId == GLOBAL_DATA_TDE_OID) + if (providerId == principal_key->keyInfo.keyringId) { systable_endscan(scan); table_close(rel, AccessShareLock);