Make oid2name, pgbench, and vacuumlo set fallback_application_name.

Amit Kapila, reviewed by Shigeru Hanada and Peter Eisentraut,
with some modifications by me.
This commit is contained in:
Robert Haas 2012-07-04 15:39:33 -04:00
parent 10e0dd8f91
commit 17676c785a
3 changed files with 72 additions and 23 deletions

View File

@ -44,6 +44,7 @@ struct options
char *hostname; char *hostname;
char *port; char *port;
char *username; char *username;
const char *progname;
}; };
/* function prototypes */ /* function prototypes */
@ -80,6 +81,7 @@ get_opts(int argc, char **argv, struct options * my_opts)
my_opts->hostname = NULL; my_opts->hostname = NULL;
my_opts->port = NULL; my_opts->port = NULL;
my_opts->username = NULL; my_opts->username = NULL;
my_opts->progname = progname;
if (argc > 1) if (argc > 1)
{ {
@ -308,14 +310,29 @@ sql_conn(struct options * my_opts)
*/ */
do 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; new_pass = false;
conn = PQsetdbLogin(my_opts->hostname, conn = PQconnectdbParams(keywords, values, true);
my_opts->port,
NULL, /* options */
NULL, /* tty */
my_opts->dbname,
my_opts->username,
password);
if (!conn) if (!conn)
{ {
fprintf(stderr, "%s: could not connect to database %s\n", fprintf(stderr, "%s: could not connect to database %s\n",

View File

@ -151,10 +151,9 @@ int main_pid; /* main process id used in log filename */
char *pghost = ""; char *pghost = "";
char *pgport = ""; char *pgport = "";
char *pgoptions = NULL;
char *pgtty = NULL;
char *login = NULL; char *login = NULL;
char *dbName; char *dbName;
const char *progname;
volatile bool timer_exceeded = false; /* flag from signal handler */ volatile bool timer_exceeded = false; /* flag from signal handler */
@ -339,7 +338,7 @@ xstrdup(const char *s)
static void static void
usage(const char *progname) usage(void)
{ {
printf("%s is a benchmarking tool for PostgreSQL.\n\n" printf("%s is a benchmarking tool for PostgreSQL.\n\n"
"Usage:\n" "Usage:\n"
@ -431,10 +430,30 @@ doConnect(void)
*/ */
do 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; new_pass = false;
conn = PQsetdbLogin(pghost, pgport, pgoptions, pgtty, dbName, conn = PQconnectdbParams(keywords, values, true);
login, password);
if (!conn) if (!conn)
{ {
fprintf(stderr, "Connection to database \"%s\" failed\n", fprintf(stderr, "Connection to database \"%s\" failed\n",
@ -1907,15 +1926,13 @@ main(int argc, char **argv)
char val[64]; char val[64];
const char *progname;
progname = get_progname(argv[0]); progname = get_progname(argv[0]);
if (argc > 1) if (argc > 1)
{ {
if (strcmp(argv[1], "--help") == 0 || strcmp(argv[1], "-?") == 0) if (strcmp(argv[1], "--help") == 0 || strcmp(argv[1], "-?") == 0)
{ {
usage(progname); usage();
exit(0); exit(0);
} }
if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0)

View File

@ -44,6 +44,7 @@ struct _param
enum trivalue pg_prompt; enum trivalue pg_prompt;
char *pg_port; char *pg_port;
char *pg_host; char *pg_host;
const char *progname;
int verbose; int verbose;
int dry_run; int dry_run;
long transaction_limit; long transaction_limit;
@ -81,15 +82,28 @@ vacuumlo(const char *database, const struct _param * param)
*/ */
do do
{ {
new_pass = false; #define PARAMS_ARRAY_SIZE 7
conn = PQsetdbLogin(param->pg_host, const char *keywords[PARAMS_ARRAY_SIZE];
param->pg_port, const char *values[PARAMS_ARRAY_SIZE];
NULL,
NULL, keywords[0] = "host";
database, values[0] = param->pg_host;
param->pg_user, keywords[1] = "port";
password); 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) if (!conn)
{ {
fprintf(stderr, "Connection to database \"%s\" failed\n", fprintf(stderr, "Connection to database \"%s\" failed\n",
@ -416,6 +430,7 @@ main(int argc, char **argv)
param.pg_prompt = TRI_DEFAULT; param.pg_prompt = TRI_DEFAULT;
param.pg_host = NULL; param.pg_host = NULL;
param.pg_port = NULL; param.pg_port = NULL;
param.progname = progname;
param.verbose = 0; param.verbose = 0;
param.dry_run = 0; param.dry_run = 0;
param.transaction_limit = 1000; param.transaction_limit = 1000;