Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 7e5f517

Browse filesBrowse files
committed
Improve "user mapping not found" error message
Display the name of the foreign server for which the user mapping was not found. Author: Ian Lawrence Barwick <barwick@gmail.com> Reviewed-by: Laurenz Albe <laurenz.albe@cybertec.at> Reviewed-by: Peter Eisentraut <peter@eisentraut.org> Discussion: https://www.postgresql.org/message-id/flat/CAB8KJ=jFzNaeyFtLcTZNOc6fd1+F93pGVLFa-wyt31wn7VNxqQ@mail.gmail.com
1 parent 3e36e48 commit 7e5f517
Copy full SHA for 7e5f517

File tree

Expand file treeCollapse file tree

2 files changed

+8
-4
lines changed
Filter options
Expand file treeCollapse file tree

2 files changed

+8
-4
lines changed

‎contrib/postgres_fdw/expected/postgres_fdw.out

Copy file name to clipboardExpand all lines: contrib/postgres_fdw/expected/postgres_fdw.out
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2717,10 +2717,10 @@ ALTER FOREIGN TABLE ft4 OPTIONS (ADD use_remote_estimate 'true');
27172717
-- regress_view_owner_another, the view owner, though it fails as expected
27182718
-- due to the lack of a user mapping for that user.
27192719
EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM v4;
2720-
ERROR: user mapping not found for "regress_view_owner_another"
2720+
ERROR: user mapping not found for user "regress_view_owner_another", server "loopback"
27212721
-- Likewise, but with the query under an UNION ALL
27222722
EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM (SELECT * FROM v4 UNION ALL SELECT * FROM v4);
2723-
ERROR: user mapping not found for "regress_view_owner_another"
2723+
ERROR: user mapping not found for user "regress_view_owner_another", server "loopback"
27242724
-- Should not get that error once a user mapping is created
27252725
CREATE USER MAPPING FOR regress_view_owner_another SERVER loopback OPTIONS (password_required 'false');
27262726
EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM v4;

‎src/backend/foreign/foreign.c

Copy file name to clipboardExpand all lines: src/backend/foreign/foreign.c
+6-2Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,10 +217,14 @@ GetUserMapping(Oid userid, Oid serverid)
217217
}
218218

219219
if (!HeapTupleIsValid(tp))
220+
{
221+
ForeignServer *server = GetForeignServer(serverid);
222+
220223
ereport(ERROR,
221224
(errcode(ERRCODE_UNDEFINED_OBJECT),
222-
errmsg("user mapping not found for \"%s\"",
223-
MappingUserName(userid))));
225+
errmsg("user mapping not found for user \"%s\", server \"%s\"",
226+
MappingUserName(userid), server->servername)));
227+
}
224228

225229
um = (UserMapping *) palloc(sizeof(UserMapping));
226230
um->umid = ((Form_pg_user_mapping) GETSTRUCT(tp))->oid;

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.