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; }