Hello.
When I ran pg_ls_dir('..'), the error message I received was somewhat
difficult to understand.
postgres=> select * from pg_ls_dir('..');
ERROR: path must be in or below the current directory
As far as I know the concept of a "current directory" doesn't apply to
the server side. In fact, the function comment for
convert_and_check_filename explicitly states that:
> * Filename may be absolute or relative to the DataDir
Thus I think that the message should read "path must be in or below
the data directory" instead.
What do you think about making this change?
regards.
--
Kyotaro Horiguchi
NTT Open Source Software Center
diff --git a/src/backend/utils/adt/genfile.c b/src/backend/utils/adt/genfile.c
index 75588eebb3..f281ce9806 100644
--- a/src/backend/utils/adt/genfile.c
+++ b/src/backend/utils/adt/genfile.c
@@ -86,7 +86,7 @@ convert_and_check_filename(text *arg)
else if (!path_is_relative_and_below_cwd(filename))
ereport(ERROR,
(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
- errmsg("path must be in or below the current directory")));
+ errmsg("path must be in or below the data directory")));
return filename;
}