Thread: Getting a list of tables in a database with Perl
I would like to know how I can fetch a list of existing tables in a database within a Perl script. Could someone please tell me how this can be done, or, at least, a good reference to look it up? Thanks.
Do you Yahoo!?
Yahoo! Web Hosting - Let the expert host your site
Do you Yahoo!?
Yahoo! Web Hosting - Let the expert host your site
Try this from the command line.... psql -c "\d" And if you want to bring this into a perl script, try perl -e '$list = `psql -c "\\d" `; print "$list\n";' A more readable version is $list = ` psql -c "\\d" `; print "$list \n"; Or use DBI and go after pg_tables; Andrew Magnus wrote: > I would like to know how I can fetch a list of existing tables in a > database within a Perl script. Could someone please tell me how this > can be done, or, at least, a good reference to look it up? Thanks. > > > ------------------------------------------------------------------------ > Do you Yahoo!? > Yahoo! Web Hosting > <http://rd.yahoo.com/hosting/mailsig/*http://webhosting.yahoo.com> - > Let the expert host your site
I am, actually, using DBI. I'm using Postgres on Linux with Perl 5.8.
What I'm trying to do is this: the script checks to see if a table exists in the database, and if it doesn't, it creates it. It then carries the name of the table in a $variable for use with inserting, etc. That's it.
Thanks.
--andrew:
--are you looking for just a list of tables, or, are you trying
--to do something with the tables (insert / update / copy / etc)?
--also, what database are you using and on what platform?
--you may end up installing and using a DBI::DBD module.
--i am running PostgreSQL on a Linux platform ... if i can help,
--just post again and i'll submit the few examples i have.
--laters!
-X
-----Original Message-----I would like to know how I can fetch a list of existing tables in a database within a Perl script. Could someone please tell me how this can be done, or, at least, a good reference to look it up? Thanks.
From: Andrew Magnus [mailto:xanadian99@yahoo.com]
Sent: Tuesday, November 19, 2002 4:53 PM
To: pgsql-general@postgresql.org
Subject: [GENERAL] Getting a list of tables in a database with Perl
Do you Yahoo!?
Yahoo! Web Hosting - Let the expert host your site
If you want slightly less formatted output, you can pull some relational database magic: select c.relname as "Table" from pg_class c where c.relkind = 'r' and c.relname !~ '^pg_'; will pull up a list of all user-created tables. On Tuesday, November 19, 2002, at 04:06 PM, Medi Montaseri wrote: > Try this from the command line.... > > psql -c "\d" > > And if you want to bring this into a perl script, try > > perl -e '$list = `psql -c "\\d" `; print "$list\n";' > > A more readable version is > > $list = ` psql -c "\\d" `; > print "$list \n"; > > Or use DBI and go after pg_tables; > > Andrew Magnus wrote: > >> I would like to know how I can fetch a list of existing tables in a >> database within a Perl script. Could someone please tell me how this >> can be done, or, at least, a good reference to look it up? Thanks. >> >> >> ---------------------------------------------------------------------- >> -- >> Do you Yahoo!? >> Yahoo! Web Hosting >> <http://rd.yahoo.com/hosting/mailsig/*http://webhosting.yahoo.com> - >> Let the expert host your site > > > > > > ---------------------------(end of > broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly