50 if (connOptions == NULL)
57 if (strcmp(opt->keyword,
"replication") == 0 ||
58 strcmp(opt->keyword,
"dbname") == 0 ||
59 strcmp(opt->keyword,
"fallback_application_name") == 0 ||
61 (opt->val != NULL && opt->val[0] ==
'\0'))
65 if (conninfo_buf.
len != 0)
82 if (conninfo_buf.
len != 0)
129 bool use_recovery_conf;
137 use_recovery_conf ?
"recovery.conf" :
"postgresql.auto.conf");
139 cf = fopen(
filename, use_recovery_conf ?
"w" :
"a");
143 if (fwrite(contents->
data, contents->
len, 1, cf) != 1)
148 if (!use_recovery_conf)
187 if (strcmp(conn_opt->keyword,
"dbname") == 0 &&
188 conn_opt->val != NULL && conn_opt->val[0] !=
'\0')
207 char *err_msg = NULL;
214 if (conn_opts == NULL)
229 if (conn_opts == NULL)
int PQserverVersion(const PGconn *conn)
PQconninfoOption * PQconninfo(PGconn *conn)
void PQconninfoFree(PQconninfoOption *connOptions)
PQconninfoOption * PQconninfoParse(const char *conninfo, char **errmsg)
PQconninfoOption * PQconndefaults(void)
char * pg_strdup(const char *in)
Assert(PointerIsAligned(start, uint64))
static char * replication_slot
static const char * connstr
char * escape_single_quotes_ascii(const char *src)
PQExpBuffer createPQExpBuffer(void)
void initPQExpBuffer(PQExpBuffer str)
void appendPQExpBuffer(PQExpBuffer str, const char *fmt,...)
void appendPQExpBufferChar(PQExpBuffer str, char ch)
void appendPQExpBufferStr(PQExpBuffer str, const char *data)
void termPQExpBuffer(PQExpBuffer str)
#define PQExpBufferBroken(str)
#define PQExpBufferDataBroken(buf)
void WriteRecoveryConfig(PGconn *pgconn, const char *target_dir, PQExpBuffer contents)
PQExpBuffer GenerateRecoveryConfig(PGconn *pgconn, const char *replication_slot, char *dbname)
static char * FindDbnameInConnOpts(PQconninfoOption *conn_opts)
char * GetDbnameFromConnectionOptions(const char *connstr)
static char * escape_quotes(const char *src)
#define MINIMUM_VERSION_FOR_RECOVERY_GUC
void appendConnStrVal(PQExpBuffer buf, const char *str)