master register: create repmgr extension

This commit is contained in:
Ian Barwick
2017-04-21 18:38:28 +09:00
parent 001d887e8d
commit 77870d3887
4 changed files with 543 additions and 5 deletions
+29 -1
View File
@@ -82,10 +82,21 @@ typedef struct s_event_info
NULL \
}
/*
* Struct to store list of conninfo keywords and values
*/
typedef struct
{
int size;
char **keywords;
char **values;
} t_conninfo_param_list;
/*
* Struct to store replication slot information
*/
typedef struct s_replication_slot
{
char slot_name[MAXLEN];
@@ -98,6 +109,22 @@ typedef struct s_replication_slot
PGconn *establish_db_connection(const char *conninfo,
const bool exit_on_error);
PGconn *establish_db_connection_as_user(const char *conninfo,
const char *user,
const bool exit_on_error);
PGconn *establish_db_connection_by_params(const char *keywords[],
const char *values[],
const bool exit_on_error);
/* conninfo manipulation functions */
void initialize_conninfo_params(t_conninfo_param_list *param_list, bool set_defaults);
void copy_conninfo_params(t_conninfo_param_list *dest_list, t_conninfo_param_list *source_list);
void conn_to_param_list(PGconn *conn, t_conninfo_param_list *param_list);
void param_set(t_conninfo_param_list *param_list, const char *param, const char *value);
char *param_get(t_conninfo_param_list *param_list, const char *param);
bool parse_conninfo_string(const char *conninfo_str, t_conninfo_param_list *param_list, char *errmsg, bool ignore_application_name);
/* GUC manipulation functions */
bool set_config(PGconn *conn, const char *config_param, const char *config_value);
@@ -105,6 +132,7 @@ bool set_config_bool(PGconn *conn, const char *config_param, bool state);
/* Server information functions */
int get_server_version(PGconn *conn, char *server_version);
int is_standby(PGconn *conn);
#endif