diff --git a/contrib/oid2name/oid2name.c b/contrib/oid2name/oid2name.c index e8a389e49e..754eac5f8a 100644 --- a/contrib/oid2name/oid2name.c +++ b/contrib/oid2name/oid2name.c @@ -44,6 +44,7 @@ struct options char *hostname; char *port; char *username; + const char *progname; }; /* function prototypes */ @@ -80,6 +81,7 @@ get_opts(int argc, char **argv, struct options * my_opts) my_opts->hostname = NULL; my_opts->port = NULL; my_opts->username = NULL; + my_opts->progname = progname; if (argc > 1) { @@ -308,14 +310,29 @@ sql_conn(struct options * my_opts) */ do { +#define PARAMS_ARRAY_SIZE 7 + + const char *keywords[PARAMS_ARRAY_SIZE]; + const char *values[PARAMS_ARRAY_SIZE]; + + keywords[0] = "host"; + values[0] = my_opts->hostname; + keywords[1] = "port"; + values[1] = my_opts->port; + keywords[2] = "user"; + values[2] = my_opts->username; + keywords[3] = "password"; + values[3] = password; + keywords[4] = "dbname"; + values[4] = my_opts->dbname; + keywords[5] = "fallback_application_name"; + values[5] = my_opts->progname; + keywords[6] = NULL; + values[6] = NULL; + new_pass = false; - conn = PQsetdbLogin(my_opts->hostname, - my_opts->port, - NULL, /* options */ - NULL, /* tty */ - my_opts->dbname, - my_opts->username, - password); + conn = PQconnectdbParams(keywords, values, true); + if (!conn) { fprintf(stderr, "%s: could not connect to database %s\n", diff --git a/contrib/pgbench/pgbench.c b/contrib/pgbench/pgbench.c index d3f6b51589..a744f5fedb 100644 --- a/contrib/pgbench/pgbench.c +++ b/contrib/pgbench/pgbench.c @@ -151,10 +151,9 @@ int main_pid; /* main process id used in log filename */ char *pghost = ""; char *pgport = ""; -char *pgoptions = NULL; -char *pgtty = NULL; char *login = NULL; char *dbName; +const char *progname; volatile bool timer_exceeded = false; /* flag from signal handler */ @@ -339,7 +338,7 @@ xstrdup(const char *s) static void -usage(const char *progname) +usage(void) { printf("%s is a benchmarking tool for PostgreSQL.\n\n" "Usage:\n" @@ -431,10 +430,30 @@ doConnect(void) */ do { +#define PARAMS_ARRAY_SIZE 7 + + const char *keywords[PARAMS_ARRAY_SIZE]; + const char *values[PARAMS_ARRAY_SIZE]; + + keywords[0] = "host"; + values[0] = pghost; + keywords[1] = "port"; + values[1] = pgport; + keywords[2] = "user"; + values[2] = login; + keywords[3] = "password"; + values[3] = password; + keywords[4] = "dbname"; + values[4] = dbName; + keywords[5] = "fallback_application_name"; + values[5] = progname; + keywords[6] = NULL; + values[6] = NULL; + new_pass = false; - conn = PQsetdbLogin(pghost, pgport, pgoptions, pgtty, dbName, - login, password); + conn = PQconnectdbParams(keywords, values, true); + if (!conn) { fprintf(stderr, "Connection to database \"%s\" failed\n", @@ -1907,15 +1926,13 @@ main(int argc, char **argv) char val[64]; - const char *progname; - progname = get_progname(argv[0]); if (argc > 1) { if (strcmp(argv[1], "--help") == 0 || strcmp(argv[1], "-?") == 0) { - usage(progname); + usage(); exit(0); } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) diff --git a/contrib/vacuumlo/vacuumlo.c b/contrib/vacuumlo/vacuumlo.c index 7f5287c27a..86c0962526 100644 --- a/contrib/vacuumlo/vacuumlo.c +++ b/contrib/vacuumlo/vacuumlo.c @@ -44,6 +44,7 @@ struct _param enum trivalue pg_prompt; char *pg_port; char *pg_host; + const char *progname; int verbose; int dry_run; long transaction_limit; @@ -81,15 +82,28 @@ vacuumlo(const char *database, const struct _param * param) */ do { - new_pass = false; +#define PARAMS_ARRAY_SIZE 7 - conn = PQsetdbLogin(param->pg_host, - param->pg_port, - NULL, - NULL, - database, - param->pg_user, - password); + const char *keywords[PARAMS_ARRAY_SIZE]; + const char *values[PARAMS_ARRAY_SIZE]; + + keywords[0] = "host"; + values[0] = param->pg_host; + keywords[1] = "port"; + values[1] = param->pg_port; + keywords[2] = "user"; + values[2] = param->pg_user; + keywords[3] = "password"; + values[3] = password; + keywords[4] = "dbname"; + values[4] = database; + keywords[5] = "fallback_application_name"; + values[5] = param->progname; + keywords[6] = NULL; + values[6] = NULL; + + new_pass = false; + conn = PQconnectdbParams(keywords, values, true); if (!conn) { fprintf(stderr, "Connection to database \"%s\" failed\n", @@ -416,6 +430,7 @@ main(int argc, char **argv) param.pg_prompt = TRI_DEFAULT; param.pg_host = NULL; param.pg_port = NULL; + param.progname = progname; param.verbose = 0; param.dry_run = 0; param.transaction_limit = 1000;