you can retrieve any information of tables by queryng the catalog of your database. For example, to get a description of table "sales", you can query:
SELECT
C.relname, A.attname, T.typname
FROM
pg_class C
INNER JOIN pg_attribute A ON(C.oid=A.attrelid)
INNER JOIN pg_type T ON (T.oid=A.atttypid)
WHERE
C.relname='sales';
from perl, php, c or whatever.
Here (
http://www.postgresql.org/docs/7.3/interactive/catalogs.html) is the catalog tables documentation.
About your second question, you need to install contrb/dbsize. Then you can query
SELECT relation_size('sales');
to get the size of your sales table.
On Fri, 2003-08-15 at 12:35, Rich Parker wrote:
Hello everyone.
I have been using PostgreSQL for about 3-4 years now, it's wonderful how
I can make it do things and write Perl programs to interface with it.
Since I do all of the DBA behind the scenes on our company Intranet
(Linux-Apache based), and I really prefer writing Perl programs to do my
simple admin functions. I really like those \d commands (via telnet) and
they tell me a lot of what I need for writing new programs etc, but I
would really like a way to use those through my Perl programs, but
haven't found a way to do so, has anyone done this in this manner yet?
Also, I'd like a way to query a table to find out how much space it is
using, like it's percentage for example, is there a way to do that?
Excuse me if these questions have been asked before, I tried to search
the LIST area and I also did not see anything related to this in the FAQS.
Thanks for any info you can provide me.