pg_resetwal: Improve error with wrong/missing data directory

Run chdir() before permission check to get a less confusing error
message if the specified data directory does not exist.

Reviewed-by: Aleksander Alekseev <aleksander@timescale.com>
Discussion: https://www.postgresql.org/message-id/flat/0f3ab4a1-ae80-56e8-3426-6b4a02507687@eisentraut.org
This commit is contained in:
Peter Eisentraut 2023-09-28 11:40:00 +02:00
parent 7273945caf
commit 1d863c2504
1 changed files with 4 additions and 4 deletions

View File

@ -345,6 +345,10 @@ main(int argc, char *argv[])
get_restricted_token();
if (chdir(DataDir) < 0)
pg_fatal("could not change directory to \"%s\": %m",
DataDir);
/* Set mask based on PGDATA permissions */
if (!GetDataDirectoryCreatePerm(DataDir))
pg_fatal("could not read permissions of directory \"%s\": %m",
@ -352,10 +356,6 @@ main(int argc, char *argv[])
umask(pg_mode_mask);
if (chdir(DataDir) < 0)
pg_fatal("could not change directory to \"%s\": %m",
DataDir);
/* Check that data directory matches our server version */
CheckDataVersion();