aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2023-09-28 11:40:00 +0200
committerPeter Eisentraut <peter@eisentraut.org>2023-09-28 11:40:00 +0200
commit1d863c250461410e60c9ed5d3180f32336f4c3e2 (patch)
treeb60fb16fe03c28f6925d6d0d44201b81c1c226bc /src
parent7273945cafa7a068ca2bcc617df1be1c7404de87 (diff)
downloadpostgresql-1d863c250461410e60c9ed5d3180f32336f4c3e2.tar.gz
postgresql-1d863c250461410e60c9ed5d3180f32336f4c3e2.zip
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
Diffstat (limited to 'src')
-rw-r--r--src/bin/pg_resetwal/pg_resetwal.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/bin/pg_resetwal/pg_resetwal.c b/src/bin/pg_resetwal/pg_resetwal.c
index b7885e34f35..e344c9284db 100644
--- a/src/bin/pg_resetwal/pg_resetwal.c
+++ b/src/bin/pg_resetwal/pg_resetwal.c
@@ -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();