Use printf's %m format instead of strerror(errno) in more places

Most callers of strerror() are removed from the backend code.  The
remaining callers require special handling with a saved errno from a
previous system call.  The frontend code still needs strerror() where
error states need to be handled outside of fprintf.

Note that pg_regress is not changed to use %m as the TAP output may
clobber errno, since those functions call fprintf() and friends before
evaluating the format string.

Support for %m in src/port/snprintf.c has been added in d6c55de1f9,
hence all the stable branches currently supported include it.

Author: Dagfinn Ilmari Mannsåker
Discussion: https://postgr.es/m/87sf13jhuw.fsf@wibble.ilmari.org
This commit is contained in:
Michael Paquier 2024-03-12 10:02:54 +09:00
parent 3045324214
commit 2c8118ee5d
24 changed files with 158 additions and 192 deletions

View File

@ -1375,12 +1375,12 @@ PostmasterMain(int argc, char *argv[])
/* Make PID file world readable */ /* Make PID file world readable */
if (chmod(external_pid_file, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH) != 0) if (chmod(external_pid_file, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH) != 0)
write_stderr("%s: could not change permissions of external PID file \"%s\": %s\n", write_stderr("%s: could not change permissions of external PID file \"%s\": %m\n",
progname, external_pid_file, strerror(errno)); progname, external_pid_file);
} }
else else
write_stderr("%s: could not write external PID file \"%s\": %s\n", write_stderr("%s: could not write external PID file \"%s\": %m\n",
progname, external_pid_file, strerror(errno)); progname, external_pid_file);
on_proc_exit(unlink_external_pid_file, 0); on_proc_exit(unlink_external_pid_file, 0);
} }
@ -1589,8 +1589,8 @@ checkControlFile(void)
{ {
write_stderr("%s: could not find the database system\n" write_stderr("%s: could not find the database system\n"
"Expected to find it in the directory \"%s\",\n" "Expected to find it in the directory \"%s\",\n"
"but could not open file \"%s\": %s\n", "but could not open file \"%s\": %m\n",
progname, DataDir, path, strerror(errno)); progname, DataDir, path);
ExitPostmaster(2); ExitPostmaster(2);
} }
FreeFile(fp); FreeFile(fp);
@ -6277,15 +6277,13 @@ read_backend_variables(char *id, Port **port, BackgroundWorker **worker)
fp = AllocateFile(id, PG_BINARY_R); fp = AllocateFile(id, PG_BINARY_R);
if (!fp) if (!fp)
{ {
write_stderr("could not open backend variables file \"%s\": %s\n", write_stderr("could not open backend variables file \"%s\": %m\n", id);
id, strerror(errno));
exit(1); exit(1);
} }
if (fread(&param, sizeof(param), 1, fp) != 1) if (fread(&param, sizeof(param), 1, fp) != 1)
{ {
write_stderr("could not read from backend variables file \"%s\": %s\n", write_stderr("could not read from backend variables file \"%s\": %m\n", id);
id, strerror(errno));
exit(1); exit(1);
} }
@ -6293,8 +6291,7 @@ read_backend_variables(char *id, Port **port, BackgroundWorker **worker)
FreeFile(fp); FreeFile(fp);
if (unlink(id) != 0) if (unlink(id) != 0)
{ {
write_stderr("could not remove file \"%s\": %s\n", write_stderr("could not remove file \"%s\": %m\n", id);
id, strerror(errno));
exit(1); exit(1);
} }
#else #else

View File

@ -1173,7 +1173,7 @@ write_syslogger_file(const char *buffer, int count, int destination)
* to our input pipe which would result in a different sort of looping. * to our input pipe which would result in a different sort of looping.
*/ */
if (rc != count) if (rc != count)
write_stderr("could not write to log file: %s\n", strerror(errno)); write_stderr("could not write to log file: %m\n");
} }
#ifdef WIN32 #ifdef WIN32

View File

@ -1799,10 +1799,9 @@ SelectConfigFiles(const char *userDoption, const char *progname)
if (configdir && stat(configdir, &stat_buf) != 0) if (configdir && stat(configdir, &stat_buf) != 0)
{ {
write_stderr("%s: could not access directory \"%s\": %s\n", write_stderr("%s: could not access directory \"%s\": %m\n",
progname, progname,
configdir, configdir);
strerror(errno));
if (errno == ENOENT) if (errno == ENOENT)
write_stderr("Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n"); write_stderr("Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n");
return false; return false;
@ -1851,8 +1850,8 @@ SelectConfigFiles(const char *userDoption, const char *progname)
*/ */
if (stat(ConfigFileName, &stat_buf) != 0) if (stat(ConfigFileName, &stat_buf) != 0)
{ {
write_stderr("%s: could not access the server configuration file \"%s\": %s\n", write_stderr("%s: could not access the server configuration file \"%s\": %m\n",
progname, ConfigFileName, strerror(errno)); progname, ConfigFileName);
free(configdir); free(configdir);
return false; return false;
} }

View File

@ -680,8 +680,8 @@ scan_available_timezones(char *tzdir, char *tzdirsub, struct tztry *tt,
if (stat(tzdir, &statbuf) != 0) if (stat(tzdir, &statbuf) != 0)
{ {
#ifdef DEBUG_IDENTIFY_TIMEZONE #ifdef DEBUG_IDENTIFY_TIMEZONE
fprintf(stderr, "could not stat \"%s\": %s\n", fprintf(stderr, "could not stat \"%s\": %m\n",
tzdir, strerror(errno)); tzdir);
#endif #endif
tzdir[tzdir_orig_len] = '\0'; tzdir[tzdir_orig_len] = '\0';
continue; continue;

View File

@ -254,8 +254,8 @@ get_pgpid(bool is_status_request)
write_stderr(_("%s: directory \"%s\" does not exist\n"), progname, write_stderr(_("%s: directory \"%s\" does not exist\n"), progname,
pg_data); pg_data);
else else
write_stderr(_("%s: could not access directory \"%s\": %s\n"), progname, write_stderr(_("%s: could not access directory \"%s\": %m\n"), progname,
pg_data, strerror(errno)); pg_data);
/* /*
* The Linux Standard Base Core Specification 3.1 says this should * The Linux Standard Base Core Specification 3.1 says this should
@ -280,8 +280,8 @@ get_pgpid(bool is_status_request)
return 0; return 0;
else else
{ {
write_stderr(_("%s: could not open PID file \"%s\": %s\n"), write_stderr(_("%s: could not open PID file \"%s\": %m\n"),
progname, pid_file, strerror(errno)); progname, pid_file);
exit(1); exit(1);
} }
} }
@ -454,8 +454,8 @@ start_postmaster(void)
if (pm_pid < 0) if (pm_pid < 0)
{ {
/* fork failed */ /* fork failed */
write_stderr(_("%s: could not start server: %s\n"), write_stderr(_("%s: could not start server: %m\n"),
progname, strerror(errno)); progname);
exit(1); exit(1);
} }
if (pm_pid > 0) if (pm_pid > 0)
@ -474,8 +474,8 @@ start_postmaster(void)
#ifdef HAVE_SETSID #ifdef HAVE_SETSID
if (setsid() < 0) if (setsid() < 0)
{ {
write_stderr(_("%s: could not start server due to setsid() failure: %s\n"), write_stderr(_("%s: could not start server due to setsid() failure: %m\n"),
progname, strerror(errno)); progname);
exit(1); exit(1);
} }
#endif #endif
@ -496,8 +496,8 @@ start_postmaster(void)
(void) execl("/bin/sh", "/bin/sh", "-c", cmd, (char *) NULL); (void) execl("/bin/sh", "/bin/sh", "-c", cmd, (char *) NULL);
/* exec failed */ /* exec failed */
write_stderr(_("%s: could not start server: %s\n"), write_stderr(_("%s: could not start server: %m\n"),
progname, strerror(errno)); progname);
exit(1); exit(1);
return 0; /* keep dumb compilers quiet */ return 0; /* keep dumb compilers quiet */
@ -544,8 +544,8 @@ start_postmaster(void)
*/ */
if (errno != ENOENT) if (errno != ENOENT)
{ {
write_stderr(_("%s: could not open log file \"%s\": %s\n"), write_stderr(_("%s: could not open log file \"%s\": %m\n"),
progname, log_file, strerror(errno)); progname, log_file);
exit(1); exit(1);
} }
} }
@ -851,8 +851,8 @@ trap_sigint_during_startup(SIGNAL_ARGS)
if (postmasterPID != -1) if (postmasterPID != -1)
{ {
if (kill(postmasterPID, SIGINT) != 0) if (kill(postmasterPID, SIGINT) != 0)
write_stderr(_("%s: could not send stop signal (PID: %d): %s\n"), write_stderr(_("%s: could not send stop signal (PID: %d): %m\n"),
progname, (int) postmasterPID, strerror(errno)); progname, (int) postmasterPID);
} }
/* /*
@ -1035,8 +1035,7 @@ do_stop(void)
if (kill(pid, sig) != 0) if (kill(pid, sig) != 0)
{ {
write_stderr(_("%s: could not send stop signal (PID: %d): %s\n"), progname, (int) pid, write_stderr(_("%s: could not send stop signal (PID: %d): %m\n"), progname, (int) pid);
strerror(errno));
exit(1); exit(1);
} }
@ -1103,8 +1102,7 @@ do_restart(void)
{ {
if (kill(pid, sig) != 0) if (kill(pid, sig) != 0)
{ {
write_stderr(_("%s: could not send stop signal (PID: %d): %s\n"), progname, (int) pid, write_stderr(_("%s: could not send stop signal (PID: %d): %m\n"), progname, (int) pid);
strerror(errno));
exit(1); exit(1);
} }
@ -1159,8 +1157,8 @@ do_reload(void)
if (kill(pid, sig) != 0) if (kill(pid, sig) != 0)
{ {
write_stderr(_("%s: could not send reload signal (PID: %d): %s\n"), write_stderr(_("%s: could not send reload signal (PID: %d): %m\n"),
progname, (int) pid, strerror(errno)); progname, (int) pid);
exit(1); exit(1);
} }
@ -1207,25 +1205,25 @@ do_promote(void)
if ((prmfile = fopen(promote_file, "w")) == NULL) if ((prmfile = fopen(promote_file, "w")) == NULL)
{ {
write_stderr(_("%s: could not create promote signal file \"%s\": %s\n"), write_stderr(_("%s: could not create promote signal file \"%s\": %m\n"),
progname, promote_file, strerror(errno)); progname, promote_file);
exit(1); exit(1);
} }
if (fclose(prmfile)) if (fclose(prmfile))
{ {
write_stderr(_("%s: could not write promote signal file \"%s\": %s\n"), write_stderr(_("%s: could not write promote signal file \"%s\": %m\n"),
progname, promote_file, strerror(errno)); progname, promote_file);
exit(1); exit(1);
} }
sig = SIGUSR1; sig = SIGUSR1;
if (kill(pid, sig) != 0) if (kill(pid, sig) != 0)
{ {
write_stderr(_("%s: could not send promote signal (PID: %d): %s\n"), write_stderr(_("%s: could not send promote signal (PID: %d): %m\n"),
progname, (int) pid, strerror(errno)); progname, (int) pid);
if (unlink(promote_file) != 0) if (unlink(promote_file) != 0)
write_stderr(_("%s: could not remove promote signal file \"%s\": %s\n"), write_stderr(_("%s: could not remove promote signal file \"%s\": %m\n"),
progname, promote_file, strerror(errno)); progname, promote_file);
exit(1); exit(1);
} }
@ -1280,25 +1278,25 @@ do_logrotate(void)
if ((logrotatefile = fopen(logrotate_file, "w")) == NULL) if ((logrotatefile = fopen(logrotate_file, "w")) == NULL)
{ {
write_stderr(_("%s: could not create log rotation signal file \"%s\": %s\n"), write_stderr(_("%s: could not create log rotation signal file \"%s\": %m\n"),
progname, logrotate_file, strerror(errno)); progname, logrotate_file);
exit(1); exit(1);
} }
if (fclose(logrotatefile)) if (fclose(logrotatefile))
{ {
write_stderr(_("%s: could not write log rotation signal file \"%s\": %s\n"), write_stderr(_("%s: could not write log rotation signal file \"%s\": %m\n"),
progname, logrotate_file, strerror(errno)); progname, logrotate_file);
exit(1); exit(1);
} }
sig = SIGUSR1; sig = SIGUSR1;
if (kill(pid, sig) != 0) if (kill(pid, sig) != 0)
{ {
write_stderr(_("%s: could not send log rotation signal (PID: %d): %s\n"), write_stderr(_("%s: could not send log rotation signal (PID: %d): %m\n"),
progname, (int) pid, strerror(errno)); progname, (int) pid);
if (unlink(logrotate_file) != 0) if (unlink(logrotate_file) != 0)
write_stderr(_("%s: could not remove log rotation signal file \"%s\": %s\n"), write_stderr(_("%s: could not remove log rotation signal file \"%s\": %m\n"),
progname, logrotate_file, strerror(errno)); progname, logrotate_file);
exit(1); exit(1);
} }
@ -1396,8 +1394,8 @@ do_kill(pid_t pid)
{ {
if (kill(pid, sig) != 0) if (kill(pid, sig) != 0)
{ {
write_stderr(_("%s: could not send signal %d (PID: %d): %s\n"), write_stderr(_("%s: could not send signal %d (PID: %d): %m\n"),
progname, sig, (int) pid, strerror(errno)); progname, sig, (int) pid);
exit(1); exit(1);
} }
} }

View File

@ -292,7 +292,7 @@ Gzip_getc(CompressFileHandle *CFH)
if (ret == EOF) if (ret == EOF)
{ {
if (!gzeof(gzfp)) if (!gzeof(gzfp))
pg_fatal("could not read from input file: %s", strerror(errno)); pg_fatal("could not read from input file: %m");
else else
pg_fatal("could not read from input file: end of file"); pg_fatal("could not read from input file: end of file");
} }

View File

@ -94,8 +94,7 @@ read_none(void *ptr, size_t size, size_t *rsize, CompressFileHandle *CFH)
ret = fread(ptr, 1, size, fp); ret = fread(ptr, 1, size, fp);
if (ret != size && !feof(fp)) if (ret != size && !feof(fp))
pg_fatal("could not read from input file: %s", pg_fatal("could not read from input file: %m");
strerror(errno));
if (rsize) if (rsize)
*rsize = ret; *rsize = ret;
@ -137,7 +136,7 @@ getc_none(CompressFileHandle *CFH)
if (ret == EOF) if (ret == EOF)
{ {
if (!feof(fp)) if (!feof(fp))
pg_fatal("could not read from input file: %s", strerror(errno)); pg_fatal("could not read from input file: %m");
else else
pg_fatal("could not read from input file: end of file"); pg_fatal("could not read from input file: end of file");
} }

View File

@ -505,8 +505,8 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name)
prep_status("Creating script to delete old cluster"); prep_status("Creating script to delete old cluster");
if ((script = fopen_priv(*deletion_script_file_name, "w")) == NULL) if ((script = fopen_priv(*deletion_script_file_name, "w")) == NULL)
pg_fatal("could not open file \"%s\": %s", pg_fatal("could not open file \"%s\": %m",
*deletion_script_file_name, strerror(errno)); *deletion_script_file_name);
#ifndef WIN32 #ifndef WIN32
/* add shebang header */ /* add shebang header */
@ -556,8 +556,8 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name)
#ifndef WIN32 #ifndef WIN32
if (chmod(*deletion_script_file_name, S_IRWXU) != 0) if (chmod(*deletion_script_file_name, S_IRWXU) != 0)
pg_fatal("could not add execute permission to file \"%s\": %s", pg_fatal("could not add execute permission to file \"%s\": %m",
*deletion_script_file_name, strerror(errno)); *deletion_script_file_name);
#endif #endif
check_ok(); check_ok();
@ -678,8 +678,7 @@ check_proper_datallowconn(ClusterInfo *cluster)
if (strcmp(datallowconn, "f") == 0) if (strcmp(datallowconn, "f") == 0)
{ {
if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL) if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
pg_fatal("could not open file \"%s\": %s", pg_fatal("could not open file \"%s\": %m", output_path);
output_path, strerror(errno));
fprintf(script, "%s\n", datname); fprintf(script, "%s\n", datname);
} }
@ -794,8 +793,7 @@ check_for_isn_and_int8_passing_mismatch(ClusterInfo *cluster)
for (rowno = 0; rowno < ntups; rowno++) for (rowno = 0; rowno < ntups; rowno++)
{ {
if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL) if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
pg_fatal("could not open file \"%s\": %s", pg_fatal("could not open file \"%s\": %m", output_path);
output_path, strerror(errno));
if (!db_used) if (!db_used)
{ {
fprintf(script, "In database: %s\n", active_db->db_name); fprintf(script, "In database: %s\n", active_db->db_name);
@ -889,8 +887,7 @@ check_for_user_defined_postfix_ops(ClusterInfo *cluster)
{ {
if (script == NULL && if (script == NULL &&
(script = fopen_priv(output_path, "w")) == NULL) (script = fopen_priv(output_path, "w")) == NULL)
pg_fatal("could not open file \"%s\": %s", pg_fatal("could not open file \"%s\": %m", output_path);
output_path, strerror(errno));
if (!db_used) if (!db_used)
{ {
fprintf(script, "In database: %s\n", active_db->db_name); fprintf(script, "In database: %s\n", active_db->db_name);
@ -1018,8 +1015,7 @@ check_for_incompatible_polymorphics(ClusterInfo *cluster)
{ {
if (script == NULL && if (script == NULL &&
(script = fopen_priv(output_path, "w")) == NULL) (script = fopen_priv(output_path, "w")) == NULL)
pg_fatal("could not open file \"%s\": %s", pg_fatal("could not open file \"%s\": %m", output_path);
output_path, strerror(errno));
if (!db_used) if (!db_used)
{ {
fprintf(script, "In database: %s\n", active_db->db_name); fprintf(script, "In database: %s\n", active_db->db_name);
@ -1095,8 +1091,7 @@ check_for_tables_with_oids(ClusterInfo *cluster)
for (rowno = 0; rowno < ntups; rowno++) for (rowno = 0; rowno < ntups; rowno++)
{ {
if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL) if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
pg_fatal("could not open file \"%s\": %s", pg_fatal("could not open file \"%s\": %m", output_path);
output_path, strerror(errno));
if (!db_used) if (!db_used)
{ {
fprintf(script, "In database: %s\n", active_db->db_name); fprintf(script, "In database: %s\n", active_db->db_name);
@ -1374,8 +1369,7 @@ check_for_pg_role_prefix(ClusterInfo *cluster)
for (int rowno = 0; rowno < ntups; rowno++) for (int rowno = 0; rowno < ntups; rowno++)
{ {
if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL) if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
pg_fatal("could not open file \"%s\": %s", pg_fatal("could not open file \"%s\": %m", output_path);
output_path, strerror(errno));
fprintf(script, "%s (oid=%s)\n", fprintf(script, "%s (oid=%s)\n",
PQgetvalue(res, rowno, i_rolname), PQgetvalue(res, rowno, i_rolname),
PQgetvalue(res, rowno, i_roloid)); PQgetvalue(res, rowno, i_roloid));
@ -1448,8 +1442,7 @@ check_for_user_defined_encoding_conversions(ClusterInfo *cluster)
{ {
if (script == NULL && if (script == NULL &&
(script = fopen_priv(output_path, "w")) == NULL) (script = fopen_priv(output_path, "w")) == NULL)
pg_fatal("could not open file \"%s\": %s", pg_fatal("could not open file \"%s\": %m", output_path);
output_path, strerror(errno));
if (!db_used) if (!db_used)
{ {
fprintf(script, "In database: %s\n", active_db->db_name); fprintf(script, "In database: %s\n", active_db->db_name);
@ -1631,8 +1624,7 @@ check_old_cluster_for_valid_slots(bool live_check)
{ {
if (script == NULL && if (script == NULL &&
(script = fopen_priv(output_path, "w")) == NULL) (script = fopen_priv(output_path, "w")) == NULL)
pg_fatal("could not open file \"%s\": %s", pg_fatal("could not open file \"%s\": %m", output_path);
output_path, strerror(errno));
fprintf(script, "The slot \"%s\" is invalid\n", fprintf(script, "The slot \"%s\" is invalid\n",
slot->slotname); slot->slotname);
@ -1651,8 +1643,7 @@ check_old_cluster_for_valid_slots(bool live_check)
{ {
if (script == NULL && if (script == NULL &&
(script = fopen_priv(output_path, "w")) == NULL) (script = fopen_priv(output_path, "w")) == NULL)
pg_fatal("could not open file \"%s\": %s", pg_fatal("could not open file \"%s\": %m", output_path);
output_path, strerror(errno));
fprintf(script, fprintf(script,
"The slot \"%s\" has not consumed the WAL yet\n", "The slot \"%s\" has not consumed the WAL yet\n",
@ -1721,8 +1712,7 @@ check_old_cluster_subscription_state(void)
for (int i = 0; i < ntup; i++) for (int i = 0; i < ntup; i++)
{ {
if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL) if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
pg_fatal("could not open file \"%s\": %s", pg_fatal("could not open file \"%s\": %m", output_path);
output_path, strerror(errno));
fprintf(script, "The replication origin is missing for database:\"%s\" subscription:\"%s\"\n", fprintf(script, "The replication origin is missing for database:\"%s\" subscription:\"%s\"\n",
PQgetvalue(res, i, 0), PQgetvalue(res, i, 0),
PQgetvalue(res, i, 1)); PQgetvalue(res, i, 1));
@ -1774,8 +1764,7 @@ check_old_cluster_subscription_state(void)
for (int i = 0; i < ntup; i++) for (int i = 0; i < ntup; i++)
{ {
if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL) if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
pg_fatal("could not open file \"%s\": %s", pg_fatal("could not open file \"%s\": %m", output_path);
output_path, strerror(errno));
fprintf(script, "The table sync state \"%s\" is not allowed for database:\"%s\" subscription:\"%s\" schema:\"%s\" relation:\"%s\"\n", fprintf(script, "The table sync state \"%s\" is not allowed for database:\"%s\" subscription:\"%s\" schema:\"%s\" relation:\"%s\"\n",
PQgetvalue(res, i, 0), PQgetvalue(res, i, 0),

View File

@ -126,8 +126,7 @@ get_control_data(ClusterInfo *cluster, bool live_check)
fflush(NULL); fflush(NULL);
if ((output = popen(cmd, "r")) == NULL) if ((output = popen(cmd, "r")) == NULL)
pg_fatal("could not get control data using %s: %s", pg_fatal("could not get control data using %s: %m", cmd);
cmd, strerror(errno));
/* we have the result of cmd in "output". so parse it line by line now */ /* we have the result of cmd in "output". so parse it line by line now */
while (fgets(bufin, sizeof(bufin), output)) while (fgets(bufin, sizeof(bufin), output))
@ -197,8 +196,7 @@ get_control_data(ClusterInfo *cluster, bool live_check)
fflush(NULL); fflush(NULL);
if ((output = popen(cmd, "r")) == NULL) if ((output = popen(cmd, "r")) == NULL)
pg_fatal("could not get control data using %s: %s", pg_fatal("could not get control data using %s: %m", cmd);
cmd, strerror(errno));
/* Only in <= 9.2 */ /* Only in <= 9.2 */
if (GET_MAJOR_VERSION(cluster->major_version) <= 902) if (GET_MAJOR_VERSION(cluster->major_version) <= 902)

View File

@ -44,8 +44,7 @@ get_bin_version(ClusterInfo *cluster)
if ((output = popen(cmd, "r")) == NULL || if ((output = popen(cmd, "r")) == NULL ||
fgets(cmd_output, sizeof(cmd_output), output) == NULL) fgets(cmd_output, sizeof(cmd_output), output) == NULL)
pg_fatal("could not get pg_ctl version data using %s: %s", pg_fatal("could not get pg_ctl version data using %s: %m", cmd);
cmd, strerror(errno));
rc = pclose(output); rc = pclose(output);
if (rc != 0) if (rc != 0)
@ -242,8 +241,7 @@ pid_lock_file_exists(const char *datadir)
{ {
/* ENOTDIR means we will throw a more useful error later */ /* ENOTDIR means we will throw a more useful error later */
if (errno != ENOENT && errno != ENOTDIR) if (errno != ENOENT && errno != ENOTDIR)
pg_fatal("could not open file \"%s\" for reading: %s", pg_fatal("could not open file \"%s\" for reading: %m", path);
path, strerror(errno));
return false; return false;
} }
@ -322,8 +320,8 @@ check_single_dir(const char *pg_data, const char *subdir)
subdir); subdir);
if (stat(subDirName, &statBuf) != 0) if (stat(subDirName, &statBuf) != 0)
report_status(PG_FATAL, "check for \"%s\" failed: %s", report_status(PG_FATAL, "check for \"%s\" failed: %m",
subDirName, strerror(errno)); subDirName);
else if (!S_ISDIR(statBuf.st_mode)) else if (!S_ISDIR(statBuf.st_mode))
report_status(PG_FATAL, "\"%s\" is not a directory", report_status(PG_FATAL, "\"%s\" is not a directory",
subDirName); subDirName);
@ -388,8 +386,8 @@ check_bin_dir(ClusterInfo *cluster, bool check_versions)
/* check bindir */ /* check bindir */
if (stat(cluster->bindir, &statBuf) != 0) if (stat(cluster->bindir, &statBuf) != 0)
report_status(PG_FATAL, "check for \"%s\" failed: %s", report_status(PG_FATAL, "check for \"%s\" failed: %m",
cluster->bindir, strerror(errno)); cluster->bindir);
else if (!S_ISDIR(statBuf.st_mode)) else if (!S_ISDIR(statBuf.st_mode))
report_status(PG_FATAL, "\"%s\" is not a directory", report_status(PG_FATAL, "\"%s\" is not a directory",
cluster->bindir); cluster->bindir);

View File

@ -41,20 +41,20 @@ cloneFile(const char *src, const char *dst,
{ {
#if defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE) #if defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE)
if (copyfile(src, dst, NULL, COPYFILE_CLONE_FORCE) < 0) if (copyfile(src, dst, NULL, COPYFILE_CLONE_FORCE) < 0)
pg_fatal("error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s", pg_fatal("error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %m",
schemaName, relName, src, dst, strerror(errno)); schemaName, relName, src, dst);
#elif defined(__linux__) && defined(FICLONE) #elif defined(__linux__) && defined(FICLONE)
int src_fd; int src_fd;
int dest_fd; int dest_fd;
if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0) if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
pg_fatal("error while cloning relation \"%s.%s\": could not open file \"%s\": %s", pg_fatal("error while cloning relation \"%s.%s\": could not open file \"%s\": %m",
schemaName, relName, src, strerror(errno)); schemaName, relName, src);
if ((dest_fd = open(dst, O_RDWR | O_CREAT | O_EXCL | PG_BINARY, if ((dest_fd = open(dst, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
pg_file_create_mode)) < 0) pg_file_create_mode)) < 0)
pg_fatal("error while cloning relation \"%s.%s\": could not create file \"%s\": %s", pg_fatal("error while cloning relation \"%s.%s\": could not create file \"%s\": %m",
schemaName, relName, dst, strerror(errno)); schemaName, relName, dst);
if (ioctl(dest_fd, FICLONE, src_fd) < 0) if (ioctl(dest_fd, FICLONE, src_fd) < 0)
{ {
@ -88,13 +88,13 @@ copyFile(const char *src, const char *dst,
char *buffer; char *buffer;
if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0) if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
pg_fatal("error while copying relation \"%s.%s\": could not open file \"%s\": %s", pg_fatal("error while copying relation \"%s.%s\": could not open file \"%s\": %m",
schemaName, relName, src, strerror(errno)); schemaName, relName, src);
if ((dest_fd = open(dst, O_RDWR | O_CREAT | O_EXCL | PG_BINARY, if ((dest_fd = open(dst, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
pg_file_create_mode)) < 0) pg_file_create_mode)) < 0)
pg_fatal("error while copying relation \"%s.%s\": could not create file \"%s\": %s", pg_fatal("error while copying relation \"%s.%s\": could not create file \"%s\": %m",
schemaName, relName, dst, strerror(errno)); schemaName, relName, dst);
/* copy in fairly large chunks for best efficiency */ /* copy in fairly large chunks for best efficiency */
#define COPY_BUF_SIZE (50 * BLCKSZ) #define COPY_BUF_SIZE (50 * BLCKSZ)
@ -107,8 +107,8 @@ copyFile(const char *src, const char *dst,
ssize_t nbytes = read(src_fd, buffer, COPY_BUF_SIZE); ssize_t nbytes = read(src_fd, buffer, COPY_BUF_SIZE);
if (nbytes < 0) if (nbytes < 0)
pg_fatal("error while copying relation \"%s.%s\": could not read file \"%s\": %s", pg_fatal("error while copying relation \"%s.%s\": could not read file \"%s\": %m",
schemaName, relName, src, strerror(errno)); schemaName, relName, src);
if (nbytes == 0) if (nbytes == 0)
break; break;
@ -119,8 +119,8 @@ copyFile(const char *src, const char *dst,
/* if write didn't set errno, assume problem is no disk space */ /* if write didn't set errno, assume problem is no disk space */
if (errno == 0) if (errno == 0)
errno = ENOSPC; errno = ENOSPC;
pg_fatal("error while copying relation \"%s.%s\": could not write file \"%s\": %s", pg_fatal("error while copying relation \"%s.%s\": could not write file \"%s\": %m",
schemaName, relName, dst, strerror(errno)); schemaName, relName, dst);
} }
} }
@ -133,8 +133,8 @@ copyFile(const char *src, const char *dst,
if (CopyFile(src, dst, true) == 0) if (CopyFile(src, dst, true) == 0)
{ {
_dosmaperr(GetLastError()); _dosmaperr(GetLastError());
pg_fatal("error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %s", pg_fatal("error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %m",
schemaName, relName, src, dst, strerror(errno)); schemaName, relName, src, dst);
} }
#endif /* WIN32 */ #endif /* WIN32 */
@ -157,20 +157,20 @@ copyFileByRange(const char *src, const char *dst,
ssize_t nbytes; ssize_t nbytes;
if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0) if ((src_fd = open(src, O_RDONLY | PG_BINARY, 0)) < 0)
pg_fatal("error while copying relation \"%s.%s\": could not open file \"%s\": %s", pg_fatal("error while copying relation \"%s.%s\": could not open file \"%s\": %m",
schemaName, relName, src, strerror(errno)); schemaName, relName, src);
if ((dest_fd = open(dst, O_RDWR | O_CREAT | O_EXCL | PG_BINARY, if ((dest_fd = open(dst, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
pg_file_create_mode)) < 0) pg_file_create_mode)) < 0)
pg_fatal("error while copying relation \"%s.%s\": could not create file \"%s\": %s", pg_fatal("error while copying relation \"%s.%s\": could not create file \"%s\": %m",
schemaName, relName, dst, strerror(errno)); schemaName, relName, dst);
do do
{ {
nbytes = copy_file_range(src_fd, NULL, dest_fd, NULL, SSIZE_MAX, 0); nbytes = copy_file_range(src_fd, NULL, dest_fd, NULL, SSIZE_MAX, 0);
if (nbytes < 0) if (nbytes < 0)
pg_fatal("error while copying relation \"%s.%s\": could not copy file range from \"%s\" to \"%s\": %s", pg_fatal("error while copying relation \"%s.%s\": could not copy file range from \"%s\" to \"%s\": %m",
schemaName, relName, src, dst, strerror(errno)); schemaName, relName, src, dst);
} }
while (nbytes > 0); while (nbytes > 0);
@ -191,8 +191,8 @@ linkFile(const char *src, const char *dst,
const char *schemaName, const char *relName) const char *schemaName, const char *relName)
{ {
if (link(src, dst) < 0) if (link(src, dst) < 0)
pg_fatal("error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %s", pg_fatal("error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %m",
schemaName, relName, src, dst, strerror(errno)); schemaName, relName, src, dst);
} }
@ -230,17 +230,17 @@ rewriteVisibilityMap(const char *fromfile, const char *tofile,
rewriteVmBytesPerPage = (BLCKSZ - SizeOfPageHeaderData) / 2; rewriteVmBytesPerPage = (BLCKSZ - SizeOfPageHeaderData) / 2;
if ((src_fd = open(fromfile, O_RDONLY | PG_BINARY, 0)) < 0) if ((src_fd = open(fromfile, O_RDONLY | PG_BINARY, 0)) < 0)
pg_fatal("error while copying relation \"%s.%s\": could not open file \"%s\": %s", pg_fatal("error while copying relation \"%s.%s\": could not open file \"%s\": %m",
schemaName, relName, fromfile, strerror(errno)); schemaName, relName, fromfile);
if (fstat(src_fd, &statbuf) != 0) if (fstat(src_fd, &statbuf) != 0)
pg_fatal("error while copying relation \"%s.%s\": could not stat file \"%s\": %s", pg_fatal("error while copying relation \"%s.%s\": could not stat file \"%s\": %m",
schemaName, relName, fromfile, strerror(errno)); schemaName, relName, fromfile);
if ((dst_fd = open(tofile, O_RDWR | O_CREAT | O_EXCL | PG_BINARY, if ((dst_fd = open(tofile, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
pg_file_create_mode)) < 0) pg_file_create_mode)) < 0)
pg_fatal("error while copying relation \"%s.%s\": could not create file \"%s\": %s", pg_fatal("error while copying relation \"%s.%s\": could not create file \"%s\": %m",
schemaName, relName, tofile, strerror(errno)); schemaName, relName, tofile);
/* Save old file size */ /* Save old file size */
src_filesize = statbuf.st_size; src_filesize = statbuf.st_size;
@ -263,8 +263,8 @@ rewriteVisibilityMap(const char *fromfile, const char *tofile,
if ((bytesRead = read(src_fd, buffer.data, BLCKSZ)) != BLCKSZ) if ((bytesRead = read(src_fd, buffer.data, BLCKSZ)) != BLCKSZ)
{ {
if (bytesRead < 0) if (bytesRead < 0)
pg_fatal("error while copying relation \"%s.%s\": could not read file \"%s\": %s", pg_fatal("error while copying relation \"%s.%s\": could not read file \"%s\": %m",
schemaName, relName, fromfile, strerror(errno)); schemaName, relName, fromfile);
else else
pg_fatal("error while copying relation \"%s.%s\": partial page found in file \"%s\"", pg_fatal("error while copying relation \"%s.%s\": partial page found in file \"%s\"",
schemaName, relName, fromfile); schemaName, relName, fromfile);
@ -341,8 +341,8 @@ rewriteVisibilityMap(const char *fromfile, const char *tofile,
/* if write didn't set errno, assume problem is no disk space */ /* if write didn't set errno, assume problem is no disk space */
if (errno == 0) if (errno == 0)
errno = ENOSPC; errno = ENOSPC;
pg_fatal("error while copying relation \"%s.%s\": could not write file \"%s\": %s", pg_fatal("error while copying relation \"%s.%s\": could not write file \"%s\": %m",
schemaName, relName, tofile, strerror(errno)); schemaName, relName, tofile);
} }
/* Advance for next new page */ /* Advance for next new page */
@ -368,25 +368,23 @@ check_file_clone(void)
#if defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE) #if defined(HAVE_COPYFILE) && defined(COPYFILE_CLONE_FORCE)
if (copyfile(existing_file, new_link_file, NULL, COPYFILE_CLONE_FORCE) < 0) if (copyfile(existing_file, new_link_file, NULL, COPYFILE_CLONE_FORCE) < 0)
pg_fatal("could not clone file between old and new data directories: %s", pg_fatal("could not clone file between old and new data directories: %m");
strerror(errno));
#elif defined(__linux__) && defined(FICLONE) #elif defined(__linux__) && defined(FICLONE)
{ {
int src_fd; int src_fd;
int dest_fd; int dest_fd;
if ((src_fd = open(existing_file, O_RDONLY | PG_BINARY, 0)) < 0) if ((src_fd = open(existing_file, O_RDONLY | PG_BINARY, 0)) < 0)
pg_fatal("could not open file \"%s\": %s", pg_fatal("could not open file \"%s\": %m",
existing_file, strerror(errno)); existing_file);
if ((dest_fd = open(new_link_file, O_RDWR | O_CREAT | O_EXCL | PG_BINARY, if ((dest_fd = open(new_link_file, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
pg_file_create_mode)) < 0) pg_file_create_mode)) < 0)
pg_fatal("could not create file \"%s\": %s", pg_fatal("could not create file \"%s\": %m",
new_link_file, strerror(errno)); new_link_file);
if (ioctl(dest_fd, FICLONE, src_fd) < 0) if (ioctl(dest_fd, FICLONE, src_fd) < 0)
pg_fatal("could not clone file between old and new data directories: %s", pg_fatal("could not clone file between old and new data directories: %m");
strerror(errno));
close(src_fd); close(src_fd);
close(dest_fd); close(dest_fd);
@ -414,17 +412,16 @@ check_copy_file_range(void)
int dest_fd; int dest_fd;
if ((src_fd = open(existing_file, O_RDONLY | PG_BINARY, 0)) < 0) if ((src_fd = open(existing_file, O_RDONLY | PG_BINARY, 0)) < 0)
pg_fatal("could not open file \"%s\": %s", pg_fatal("could not open file \"%s\": %m",
existing_file, strerror(errno)); existing_file);
if ((dest_fd = open(new_link_file, O_RDWR | O_CREAT | O_EXCL | PG_BINARY, if ((dest_fd = open(new_link_file, O_RDWR | O_CREAT | O_EXCL | PG_BINARY,
pg_file_create_mode)) < 0) pg_file_create_mode)) < 0)
pg_fatal("could not create file \"%s\": %s", pg_fatal("could not create file \"%s\": %m",
new_link_file, strerror(errno)); new_link_file);
if (copy_file_range(src_fd, NULL, dest_fd, NULL, SSIZE_MAX, 0) < 0) if (copy_file_range(src_fd, NULL, dest_fd, NULL, SSIZE_MAX, 0) < 0)
pg_fatal("could not copy file range between old and new data directories: %s", pg_fatal("could not copy file range between old and new data directories: %m");
strerror(errno));
close(src_fd); close(src_fd);
close(dest_fd); close(dest_fd);
@ -447,9 +444,8 @@ check_hard_link(void)
unlink(new_link_file); /* might fail */ unlink(new_link_file); /* might fail */
if (link(existing_file, new_link_file) < 0) if (link(existing_file, new_link_file) < 0)
pg_fatal("could not create hard link between old and new data directories: %s\n" pg_fatal("could not create hard link between old and new data directories: %m\n"
"In link mode the old and new data directories must be on the same file system.", "In link mode the old and new data directories must be on the same file system.");
strerror(errno));
unlink(new_link_file); unlink(new_link_file);
} }

View File

@ -186,8 +186,7 @@ check_loadable_libraries(void)
was_load_failure = true; was_load_failure = true;
if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL) if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
pg_fatal("could not open file \"%s\": %s", pg_fatal("could not open file \"%s\": %m", output_path);
output_path, strerror(errno));
fprintf(script, _("could not load library \"%s\": %s"), fprintf(script, _("could not load library \"%s\": %s"),
lib, lib,
PQerrorMessage(conn)); PQerrorMessage(conn));

View File

@ -445,8 +445,7 @@ adjust_data_dir(ClusterInfo *cluster)
if ((output = popen(cmd, "r")) == NULL || if ((output = popen(cmd, "r")) == NULL ||
fgets(cmd_output, sizeof(cmd_output), output) == NULL) fgets(cmd_output, sizeof(cmd_output), output) == NULL)
pg_fatal("could not get data directory using %s: %s", pg_fatal("could not get data directory using %s: %m", cmd);
cmd, strerror(errno));
rc = pclose(output); rc = pclose(output);
if (rc != 0) if (rc != 0)
@ -491,16 +490,15 @@ get_sock_dir(ClusterInfo *cluster, bool live_check)
snprintf(filename, sizeof(filename), "%s/postmaster.pid", snprintf(filename, sizeof(filename), "%s/postmaster.pid",
cluster->pgdata); cluster->pgdata);
if ((fp = fopen(filename, "r")) == NULL) if ((fp = fopen(filename, "r")) == NULL)
pg_fatal("could not open file \"%s\": %s", pg_fatal("could not open file \"%s\": %m", filename);
filename, strerror(errno));
for (lineno = 1; for (lineno = 1;
lineno <= Max(LOCK_FILE_LINE_PORT, LOCK_FILE_LINE_SOCKET_DIR); lineno <= Max(LOCK_FILE_LINE_PORT, LOCK_FILE_LINE_SOCKET_DIR);
lineno++) lineno++)
{ {
if (fgets(line, sizeof(line), fp) == NULL) if (fgets(line, sizeof(line), fp) == NULL)
pg_fatal("could not read line %d from file \"%s\": %s", pg_fatal("could not read line %d from file \"%s\": %m",
lineno, filename, strerror(errno)); lineno, filename);
/* potentially overwrite user-supplied value */ /* potentially overwrite user-supplied value */
if (lineno == LOCK_FILE_LINE_PORT) if (lineno == LOCK_FILE_LINE_PORT)

View File

@ -124,7 +124,7 @@ parallel_exec_prog(const char *log_file, const char *opt_log_file,
_exit(!exec_prog(log_file, opt_log_file, true, true, "%s", cmd)); _exit(!exec_prog(log_file, opt_log_file, true, true, "%s", cmd));
else if (child < 0) else if (child < 0)
/* fork failed */ /* fork failed */
pg_fatal("could not create worker process: %s", strerror(errno)); pg_fatal("could not create worker process: %m");
#else #else
/* empty array element are always at the end */ /* empty array element are always at the end */
new_arg = exec_thread_args[parallel_jobs - 1]; new_arg = exec_thread_args[parallel_jobs - 1];
@ -140,7 +140,7 @@ parallel_exec_prog(const char *log_file, const char *opt_log_file,
child = (HANDLE) _beginthreadex(NULL, 0, (void *) win32_exec_prog, child = (HANDLE) _beginthreadex(NULL, 0, (void *) win32_exec_prog,
new_arg, 0, NULL); new_arg, 0, NULL);
if (child == 0) if (child == 0)
pg_fatal("could not create worker thread: %s", strerror(errno)); pg_fatal("could not create worker thread: %m");
thread_handles[parallel_jobs - 1] = child; thread_handles[parallel_jobs - 1] = child;
#endif #endif
@ -232,7 +232,7 @@ parallel_transfer_all_new_dbs(DbInfoArr *old_db_arr, DbInfoArr *new_db_arr,
} }
else if (child < 0) else if (child < 0)
/* fork failed */ /* fork failed */
pg_fatal("could not create worker process: %s", strerror(errno)); pg_fatal("could not create worker process: %m");
#else #else
/* empty array element are always at the end */ /* empty array element are always at the end */
new_arg = transfer_thread_args[parallel_jobs - 1]; new_arg = transfer_thread_args[parallel_jobs - 1];
@ -250,7 +250,7 @@ parallel_transfer_all_new_dbs(DbInfoArr *old_db_arr, DbInfoArr *new_db_arr,
child = (HANDLE) _beginthreadex(NULL, 0, (void *) win32_transfer_all_new_dbs, child = (HANDLE) _beginthreadex(NULL, 0, (void *) win32_transfer_all_new_dbs,
new_arg, 0, NULL); new_arg, 0, NULL);
if (child == 0) if (child == 0)
pg_fatal("could not create worker thread: %s", strerror(errno)); pg_fatal("could not create worker thread: %m");
thread_handles[parallel_jobs - 1] = child; thread_handles[parallel_jobs - 1] = child;
#endif #endif
@ -291,7 +291,7 @@ reap_child(bool wait_for_child)
#ifndef WIN32 #ifndef WIN32
child = waitpid(-1, &work_status, wait_for_child ? 0 : WNOHANG); child = waitpid(-1, &work_status, wait_for_child ? 0 : WNOHANG);
if (child == (pid_t) -1) if (child == (pid_t) -1)
pg_fatal("%s() failed: %s", "waitpid", strerror(errno)); pg_fatal("%s() failed: %m", "waitpid");
if (child == 0) if (child == 0)
return false; /* no children, or no dead children */ return false; /* no children, or no dead children */
if (work_status != 0) if (work_status != 0)
@ -310,7 +310,7 @@ reap_child(bool wait_for_child)
/* get the result */ /* get the result */
GetExitCodeThread(thread_handles[thread_num], &res); GetExitCodeThread(thread_handles[thread_num], &res);
if (res != 0) if (res != 0)
pg_fatal("child worker exited abnormally: %s", strerror(errno)); pg_fatal("child worker exited abnormally: %m");
/* dispose of handle to stop leaks */ /* dispose of handle to stop leaks */
CloseHandle(thread_handles[thread_num]); CloseHandle(thread_handles[thread_num]);

View File

@ -105,8 +105,8 @@ main(int argc, char **argv)
* output directories with correct permissions. * output directories with correct permissions.
*/ */
if (!GetDataDirectoryCreatePerm(new_cluster.pgdata)) if (!GetDataDirectoryCreatePerm(new_cluster.pgdata))
pg_fatal("could not read permissions of directory \"%s\": %s", pg_fatal("could not read permissions of directory \"%s\": %m",
new_cluster.pgdata, strerror(errno)); new_cluster.pgdata);
umask(pg_mode_mask); umask(pg_mode_mask);

View File

@ -218,9 +218,8 @@ transfer_relfile(FileNameMap *map, const char *type_suffix, bool vm_must_add_fro
if (errno == ENOENT) if (errno == ENOENT)
return; return;
else else
pg_fatal("error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s", pg_fatal("error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %m",
map->nspname, map->relname, old_file, new_file, map->nspname, map->relname, old_file, new_file);
strerror(errno));
} }
/* If file is empty, just return */ /* If file is empty, just return */

View File

@ -84,8 +84,8 @@ get_tablespace_paths(void)
os_info.old_tablespaces[tblnum]); os_info.old_tablespaces[tblnum]);
else else
report_status(PG_FATAL, report_status(PG_FATAL,
"could not stat tablespace directory \"%s\": %s", "could not stat tablespace directory \"%s\": %m",
os_info.old_tablespaces[tblnum], strerror(errno)); os_info.old_tablespaces[tblnum]);
} }
if (!S_ISDIR(statBuf.st_mode)) if (!S_ISDIR(statBuf.st_mode))
report_status(PG_FATAL, report_status(PG_FATAL,

View File

@ -113,8 +113,7 @@ check_for_data_types_usage(ClusterInfo *cluster,
{ {
found = true; found = true;
if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL) if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
pg_fatal("could not open file \"%s\": %s", output_path, pg_fatal("could not open file \"%s\": %m", output_path);
strerror(errno));
if (!db_used) if (!db_used)
{ {
fprintf(script, "In database: %s\n", active_db->db_name); fprintf(script, "In database: %s\n", active_db->db_name);
@ -289,8 +288,7 @@ old_9_6_invalidate_hash_indexes(ClusterInfo *cluster, bool check_mode)
if (!check_mode) if (!check_mode)
{ {
if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL) if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
pg_fatal("could not open file \"%s\": %s", output_path, pg_fatal("could not open file \"%s\": %m", output_path);
strerror(errno));
if (!db_used) if (!db_used)
{ {
PQExpBufferData connectbuf; PQExpBufferData connectbuf;
@ -423,8 +421,7 @@ report_extension_updates(ClusterInfo *cluster)
for (rowno = 0; rowno < ntups; rowno++) for (rowno = 0; rowno < ntups; rowno++)
{ {
if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL) if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL)
pg_fatal("could not open file \"%s\": %s", output_path, pg_fatal("could not open file \"%s\": %m", output_path);
strerror(errno));
if (!db_used) if (!db_used)
{ {
PQExpBufferData connectbuf; PQExpBufferData connectbuf;

View File

@ -115,8 +115,8 @@ pvsnprintf(char *buf, size_t len, const char *fmt, va_list args)
#ifndef FRONTEND #ifndef FRONTEND
elog(ERROR, "vsnprintf failed: %m with format string \"%s\"", fmt); elog(ERROR, "vsnprintf failed: %m with format string \"%s\"", fmt);
#else #else
fprintf(stderr, "vsnprintf failed: %s with format string \"%s\"\n", fprintf(stderr, "vsnprintf failed: %m with format string \"%s\"\n",
strerror(errno), fmt); fmt);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
#endif #endif
} }

View File

@ -216,8 +216,8 @@ main(int argc, char *const argv[])
if (base_yyout == NULL) if (base_yyout == NULL)
{ {
fprintf(stderr, _("%s: could not open file \"%s\": %s\n"), fprintf(stderr, _("%s: could not open file \"%s\": %m\n"),
progname, output_filename, strerror(errno)); progname, output_filename);
output_filename = NULL; output_filename = NULL;
} }
else else
@ -331,8 +331,8 @@ main(int argc, char *const argv[])
base_yyout = fopen(output_filename, PG_BINARY_W); base_yyout = fopen(output_filename, PG_BINARY_W);
if (base_yyout == NULL) if (base_yyout == NULL)
{ {
fprintf(stderr, _("%s: could not open file \"%s\": %s\n"), fprintf(stderr, _("%s: could not open file \"%s\": %m\n"),
progname, output_filename, strerror(errno)); progname, output_filename);
free(output_filename); free(output_filename);
output_filename = NULL; output_filename = NULL;
free(input_filename); free(input_filename);
@ -342,8 +342,8 @@ main(int argc, char *const argv[])
} }
if (base_yyin == NULL) if (base_yyin == NULL)
fprintf(stderr, _("%s: could not open file \"%s\": %s\n"), fprintf(stderr, _("%s: could not open file \"%s\": %m\n"),
progname, argv[fnr], strerror(errno)); progname, argv[fnr]);
else else
{ {
struct cursor *ptr; struct cursor *ptr;

View File

@ -772,8 +772,7 @@ make_absolute_path(const char *path)
#ifndef FRONTEND #ifndef FRONTEND
elog(ERROR, "could not get current working directory: %m"); elog(ERROR, "could not get current working directory: %m");
#else #else
fprintf(stderr, _("could not get current working directory: %s\n"), fprintf(stderr, _("could not get current working directory: %m\n"));
strerror(errno));
return NULL; return NULL;
#endif #endif
} }

View File

@ -871,7 +871,7 @@ try_complete_step(TestSpec *testspec, PermutationStep *pstep, int flags)
{ {
if (errno == EINTR) if (errno == EINTR)
continue; continue;
fprintf(stderr, "select failed: %s\n", strerror(errno)); fprintf(stderr, "select failed: %m\n");
exit(1); exit(1);
} }
else if (ret == 0) /* select() timeout: check for lock wait */ else if (ret == 0) /* select() timeout: check for lock wait */

View File

@ -492,7 +492,7 @@ test_nosync(PGconn *conn)
tv.tv_usec = 0; tv.tv_usec = 0;
if (select(sock + 1, &input_mask, NULL, NULL, &tv) < 0) if (select(sock + 1, &input_mask, NULL, NULL, &tv) < 0)
{ {
fprintf(stderr, "select() failed: %s\n", strerror(errno)); fprintf(stderr, "select() failed: %m\n");
exit_nicely(conn); exit_nicely(conn);
} }
if (FD_ISSET(sock, &input_mask) && PQconsumeInput(conn) != 1) if (FD_ISSET(sock, &input_mask) && PQconsumeInput(conn) != 1)
@ -943,7 +943,7 @@ test_pipelined_insert(PGconn *conn, int n_rows)
if (select(sock + 1, &input_mask, &output_mask, NULL, NULL) < 0) if (select(sock + 1, &input_mask, &output_mask, NULL, NULL) < 0)
{ {
fprintf(stderr, "select() failed: %s\n", strerror(errno)); fprintf(stderr, "select() failed: %m\n");
exit_nicely(conn); exit_nicely(conn);
} }

View File

@ -66,6 +66,6 @@ main(int argc, char *argv[])
#endif #endif
if (pg_foreach_ifaddr(callback, NULL) < 0) if (pg_foreach_ifaddr(callback, NULL) < 0)
fprintf(stderr, "pg_foreach_ifaddr failed: %s\n", strerror(errno)); fprintf(stderr, "pg_foreach_ifaddr failed: %m\n");
return 0; return 0;
} }