|
|
@ -21,6 +21,8 @@ struct options |
|
|
|
int gettable; |
|
|
|
int gettable; |
|
|
|
int getoid; |
|
|
|
int getoid; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int quiet; |
|
|
|
|
|
|
|
|
|
|
|
int systables; |
|
|
|
int systables; |
|
|
|
|
|
|
|
|
|
|
|
int remotehost; |
|
|
|
int remotehost; |
|
|
@ -59,6 +61,8 @@ get_opts(int argc, char **argv, struct options * my_opts) |
|
|
|
my_opts->gettable = 0; |
|
|
|
my_opts->gettable = 0; |
|
|
|
my_opts->getoid = 0; |
|
|
|
my_opts->getoid = 0; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
my_opts->quiet = 0; |
|
|
|
|
|
|
|
|
|
|
|
my_opts->systables = 0; |
|
|
|
my_opts->systables = 0; |
|
|
|
|
|
|
|
|
|
|
|
my_opts->remotehost = 0; |
|
|
|
my_opts->remotehost = 0; |
|
|
@ -67,7 +71,7 @@ get_opts(int argc, char **argv, struct options * my_opts) |
|
|
|
my_opts->remotepass = 0; |
|
|
|
my_opts->remotepass = 0; |
|
|
|
|
|
|
|
|
|
|
|
/* get opts */ |
|
|
|
/* get opts */ |
|
|
|
while ((c = getopt(argc, argv, "H:p:U:P:d:t:o:xh?")) != -1) |
|
|
|
while ((c = getopt(argc, argv, "H:p:U:P:d:t:o:qxh?")) != -1) |
|
|
|
{ |
|
|
|
{ |
|
|
|
switch (c) |
|
|
|
switch (c) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -82,13 +86,13 @@ get_opts(int argc, char **argv, struct options * my_opts) |
|
|
|
/* make sure we set the database first */ |
|
|
|
/* make sure we set the database first */ |
|
|
|
if (!my_opts->getdatabase) |
|
|
|
if (!my_opts->getdatabase) |
|
|
|
{ |
|
|
|
{ |
|
|
|
fprintf(stderr, "Sorry, but you must specify a database to dump from.\n"); |
|
|
|
fprintf(stderr, "You must specify a database to dump from.\n"); |
|
|
|
exit(1); |
|
|
|
exit(1); |
|
|
|
} |
|
|
|
} |
|
|
|
/* make sure we don't try to do a -o also */ |
|
|
|
/* make sure we don't try to do a -o also */ |
|
|
|
if (my_opts->getoid) |
|
|
|
if (my_opts->getoid) |
|
|
|
{ |
|
|
|
{ |
|
|
|
fprintf(stderr, "Sorry, you can only specify either oid or table\n"); |
|
|
|
fprintf(stderr, "You can only specify either oid or table\n"); |
|
|
|
exit(1); |
|
|
|
exit(1); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -102,13 +106,13 @@ get_opts(int argc, char **argv, struct options * my_opts) |
|
|
|
/* make sure we set the database first */ |
|
|
|
/* make sure we set the database first */ |
|
|
|
if (!my_opts->getdatabase) |
|
|
|
if (!my_opts->getdatabase) |
|
|
|
{ |
|
|
|
{ |
|
|
|
fprintf(stderr, "Sorry, but you must specify a database to dump from.\n"); |
|
|
|
fprintf(stderr, "You must specify a database to dump from.\n"); |
|
|
|
exit(1); |
|
|
|
exit(1); |
|
|
|
} |
|
|
|
} |
|
|
|
/* make sure we don't try to do a -t also */ |
|
|
|
/* make sure we don't try to do a -t also */ |
|
|
|
if (my_opts->gettable) |
|
|
|
if (my_opts->gettable) |
|
|
|
{ |
|
|
|
{ |
|
|
|
fprintf(stderr, "Sorry, you can only specify either oid or table\n"); |
|
|
|
fprintf(stderr, "You can only specify either oid or table\n"); |
|
|
|
exit(1); |
|
|
|
exit(1); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -117,6 +121,10 @@ get_opts(int argc, char **argv, struct options * my_opts) |
|
|
|
|
|
|
|
|
|
|
|
break; |
|
|
|
break; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case 'q': |
|
|
|
|
|
|
|
my_opts->quiet = 1; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
|
|
/* host to connect to */ |
|
|
|
/* host to connect to */ |
|
|
|
case 'H': |
|
|
|
case 'H': |
|
|
|
my_opts->remotehost = 1; |
|
|
|
my_opts->remotehost = 1; |
|
|
@ -149,17 +157,18 @@ get_opts(int argc, char **argv, struct options * my_opts) |
|
|
|
/* help! (ugly in code for easier editing) */ |
|
|
|
/* help! (ugly in code for easier editing) */ |
|
|
|
case '?': |
|
|
|
case '?': |
|
|
|
case 'h': |
|
|
|
case 'h': |
|
|
|
fprintf(stderr, "\n\
|
|
|
|
fprintf(stderr, "\
|
|
|
|
Usage: pg_oid2name [-d database [-x] ] [-t table | -o oid] \n\
|
|
|
|
Usage: pg_oid2name [-d database [-x] ] [-t table | -o oid]\n\
|
|
|
|
default action display all databases\n\
|
|
|
|
default action display all databases\n\
|
|
|
|
-d database database to oid2name\n\
|
|
|
|
-d database database to oid2name\n\
|
|
|
|
-x display system tables\n\
|
|
|
|
-x display system tables\n\
|
|
|
|
-t table | -o oid search for table name (-t) or\n\
|
|
|
|
-t table | -o oid search for table name (-t) or\n\
|
|
|
|
oid (-o) in -d database\n\
|
|
|
|
oid (-o) in -d database\n\
|
|
|
|
|
|
|
|
-q quiet\n\
|
|
|
|
-H host connect to remote host\n\
|
|
|
|
-H host connect to remote host\n\
|
|
|
|
-p port host port to connect to\n\
|
|
|
|
-p port host port to connect to\n\
|
|
|
|
-U username username to connect with\n\
|
|
|
|
-U username username to connect with\n\
|
|
|
|
-P password password for username\n\n\
|
|
|
|
-P password password for username\n\
|
|
|
|
"); |
|
|
|
"); |
|
|
|
exit(1); |
|
|
|
exit(1); |
|
|
|
break; |
|
|
|
break; |
|
|
@ -402,9 +411,11 @@ main(int argc, char **argv) |
|
|
|
/* display all the tables in the database */ |
|
|
|
/* display all the tables in the database */ |
|
|
|
if (my_opts->getdatabase & my_opts->gettable) |
|
|
|
if (my_opts->getdatabase & my_opts->gettable) |
|
|
|
{ |
|
|
|
{ |
|
|
|
printf("Oid of table %s from database \"%s\":\n", my_opts->_tbname, my_opts->_dbname); |
|
|
|
if (!my_opts->quiet) |
|
|
|
printf("_______________________________\n"); |
|
|
|
{ |
|
|
|
|
|
|
|
printf("Oid of table %s from database \"%s\":\n", my_opts->_tbname, my_opts->_dbname); |
|
|
|
|
|
|
|
printf("---------------------------------\n"); |
|
|
|
|
|
|
|
} |
|
|
|
pgconn = sql_conn(my_opts->_dbname, my_opts); |
|
|
|
pgconn = sql_conn(my_opts->_dbname, my_opts); |
|
|
|
sql_exec_searchtable(pgconn, my_opts->_tbname); |
|
|
|
sql_exec_searchtable(pgconn, my_opts->_tbname); |
|
|
|
PQfinish(pgconn); |
|
|
|
PQfinish(pgconn); |
|
|
@ -415,9 +426,11 @@ main(int argc, char **argv) |
|
|
|
/* search for the tablename of the given OID */ |
|
|
|
/* search for the tablename of the given OID */ |
|
|
|
if (my_opts->getdatabase & my_opts->getoid) |
|
|
|
if (my_opts->getdatabase & my_opts->getoid) |
|
|
|
{ |
|
|
|
{ |
|
|
|
printf("Tablename of oid %i from database \"%s\":\n", my_opts->_oid, my_opts->_dbname); |
|
|
|
if (!my_opts->quiet) |
|
|
|
printf("---------------------------------\n"); |
|
|
|
{ |
|
|
|
|
|
|
|
printf("Tablename of oid %i from database \"%s\":\n", my_opts->_oid, my_opts->_dbname); |
|
|
|
|
|
|
|
printf("---------------------------------\n"); |
|
|
|
|
|
|
|
} |
|
|
|
pgconn = sql_conn(my_opts->_dbname, my_opts); |
|
|
|
pgconn = sql_conn(my_opts->_dbname, my_opts); |
|
|
|
sql_exec_searchoid(pgconn, my_opts->_oid); |
|
|
|
sql_exec_searchoid(pgconn, my_opts->_oid); |
|
|
|
PQfinish(pgconn); |
|
|
|
PQfinish(pgconn); |
|
|
@ -428,9 +441,11 @@ main(int argc, char **argv) |
|
|
|
/* search for the oid for the given tablename */ |
|
|
|
/* search for the oid for the given tablename */ |
|
|
|
if (my_opts->getdatabase) |
|
|
|
if (my_opts->getdatabase) |
|
|
|
{ |
|
|
|
{ |
|
|
|
printf("All tables from database \"%s\":\n", my_opts->_dbname); |
|
|
|
if (!my_opts->quiet) |
|
|
|
printf("---------------------------------\n"); |
|
|
|
{ |
|
|
|
|
|
|
|
printf("All tables from database \"%s\":\n", my_opts->_dbname); |
|
|
|
|
|
|
|
printf("---------------------------------\n"); |
|
|
|
|
|
|
|
} |
|
|
|
pgconn = sql_conn(my_opts->_dbname, my_opts); |
|
|
|
pgconn = sql_conn(my_opts->_dbname, my_opts); |
|
|
|
sql_exec_dumptable(pgconn, my_opts->systables); |
|
|
|
sql_exec_dumptable(pgconn, my_opts->systables); |
|
|
|
PQfinish(pgconn); |
|
|
|
PQfinish(pgconn); |
|
|
@ -439,9 +454,11 @@ main(int argc, char **argv) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/* display all the databases for the server we are connected to.. */ |
|
|
|
/* display all the databases for the server we are connected to.. */ |
|
|
|
printf("All databases:\n"); |
|
|
|
if (!my_opts->quiet) |
|
|
|
printf("---------------------------------\n"); |
|
|
|
{ |
|
|
|
|
|
|
|
printf("All databases:\n"); |
|
|
|
|
|
|
|
printf("---------------------------------\n"); |
|
|
|
|
|
|
|
} |
|
|
|
pgconn = sql_conn("template1", my_opts); |
|
|
|
pgconn = sql_conn("template1", my_opts); |
|
|
|
sql_exec_dumpdb(pgconn); |
|
|
|
sql_exec_dumpdb(pgconn); |
|
|
|
PQfinish(pgconn); |
|
|
|
PQfinish(pgconn); |
|
|
|