diff options
author | Nathan Bossart <nathan@postgresql.org> | 2023-05-12 13:50:46 -0700 |
---|---|---|
committer | Nathan Bossart <nathan@postgresql.org> | 2023-05-12 14:16:56 -0700 |
commit | 4d5105a684ba20bf6a98e6ae48224fe93382c040 (patch) | |
tree | 60de6c858c2d2a075f76bd49fc8afe1a565d40f5 | |
parent | 51b2c08798867cb9788090704b37c4698b456240 (diff) | |
download | postgresql-4d5105a684ba20bf6a98e6ae48224fe93382c040.tar.gz |
Improve error message for pg_create_subscription.
c3afe8cf5a updated this error message, but it didn't use the new
style established in de4d456b40.
Reviewed-by: Tom Lane
Discussion: https://postgr.es/m/20230512203721.GA2644063%40nathanxps13.home
-rw-r--r-- | src/backend/commands/subscriptioncmds.c | 4 | ||||
-rw-r--r-- | src/test/regress/expected/subscription.out | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c index 8b3de032ee..e8b288d01c 100644 --- a/src/backend/commands/subscriptioncmds.c +++ b/src/backend/commands/subscriptioncmds.c @@ -611,7 +611,9 @@ CreateSubscription(ParseState *pstate, CreateSubscriptionStmt *stmt, if (!has_privs_of_role(owner, ROLE_PG_CREATE_SUBSCRIPTION)) ereport(ERROR, (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), - errmsg("must have privileges of pg_create_subscription to create subscriptions"))); + errmsg("permission denied to create subscription"), + errdetail("Only roles with privileges of the \"%s\" role may create subscriptions.", + "pg_create_subscription"))); /* * Since a subscription is a database object, we also check for CREATE diff --git a/src/test/regress/expected/subscription.out b/src/test/regress/expected/subscription.out index d736246259..8b5f657897 100644 --- a/src/test/regress/expected/subscription.out +++ b/src/test/regress/expected/subscription.out @@ -79,7 +79,8 @@ ERROR: subscription "regress_testsub" already exists -- fail - must be superuser SET SESSION AUTHORIZATION 'regress_subscription_user2'; CREATE SUBSCRIPTION regress_testsub2 CONNECTION 'dbname=regress_doesnotexist' PUBLICATION foo WITH (connect = false); -ERROR: must have privileges of pg_create_subscription to create subscriptions +ERROR: permission denied to create subscription +DETAIL: Only roles with privileges of the "pg_create_subscription" role may create subscriptions. SET SESSION AUTHORIZATION 'regress_subscription_user'; -- fail - invalid option combinations CREATE SUBSCRIPTION regress_testsub2 CONNECTION 'dbname=regress_doesnotexist' PUBLICATION testpub WITH (connect = false, copy_data = true); |