42 int loglevel = is_server_start ?
ERROR :
LOG;
59 errmsg(
"could not execute command \"%s\": %m",
71 errmsg(
"could not read from command \"%s\": %m",
83 errmsg(
"could not close pipe to external command: %m")));
86 else if (pclose_rc != 0)
94 errmsg(
"command \"%s\" failed",
116 int loglevel = isServerStart ?
FATAL :
LOG;
123 errmsg(
"could not access private key file \"%s\": %m",
132 (
errcode(ERRCODE_CONFIG_FILE_ERROR),
133 errmsg(
"private key file \"%s\" is not a regular file",
154 #if !defined(WIN32) && !defined(__CYGWIN__)
155 if (
buf.st_uid != geteuid() &&
buf.st_uid != 0)
158 (
errcode(ERRCODE_CONFIG_FILE_ERROR),
159 errmsg(
"private key file \"%s\" must be owned by the database user or root",
168 (
errcode(ERRCODE_CONFIG_FILE_ERROR),
169 errmsg(
"private key file \"%s\" has group or world access",
171 errdetail(
"File must have permissions u=rw (0600) or less if owned by the database user, or permissions u=rw,g=r (0640) or less if owned by root.")));
bool check_ssl_key_file_permissions(const char *ssl_key_file, bool isServerStart)
int run_ssl_passphrase_command(const char *prompt, bool is_server_start, char *buf, int size)
char * ssl_passphrase_command
#define Assert(condition)
int errdetail_internal(const char *fmt,...)
int errcode_for_file_access(void)
int errdetail(const char *fmt,...)
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
int ClosePipeStream(FILE *file)
FILE * OpenPipeStream(const char *command, const char *mode)
void pfree(void *pointer)
char * replace_percent_placeholders(const char *instr, const char *param_name, const char *letters,...)
void explicit_bzero(void *buf, size_t len)
static pg_noinline void Size size
int pg_strip_crlf(char *str)
char * wait_result_to_str(int exitstatus)