Thread: System catalogues

System catalogues

From
Zak McGregor
Date:
Hi all

I have a problem which I'm not sure how to fix. I store my own metadata
about tables and databases in a central admin database. I would like to
combine data from the admin database with data from pg_attribute

for eg:
SELECT distinct a.attname FROM pg_class c, pg_attribute a, pg_type t WHERE
c.relkind = 'r' and  c.relname = 'example' and a.attnum > 0  and
a.attrelid = c.oid and a.atttypid = t.oid ORDER BY attname

but where 'example' is a table in another database, not the admin
database. What I would like to do is a join on my admin metadata with the
data in pg_attribute to see where I have no metadata on the field in
question in the admin database. I hope that makes sense!

Is this possible? Has anyone written any sort of documentation on the
system catalogues that I might be able to read?

Thanks a lot guys

Cheers

Zak

Re: System catalogues

From
Peter Eisentraut
Date:
Zak McGregor writes:

> for eg:
> SELECT distinct a.attname FROM pg_class c, pg_attribute a, pg_type t WHERE
> c.relkind = 'r' and  c.relname = 'example' and a.attnum > 0  and
> a.attrelid = c.oid and a.atttypid = t.oid ORDER BY attname
>
> but where 'example' is a table in another database, not the admin
> database. What I would like to do is a join on my admin metadata with the
> data in pg_attribute to see where I have no metadata on the field in
> question in the admin database. I hope that makes sense!

This seems like the right idea, but you can't make queries that span more
than one database.

> Is this possible? Has anyone written any sort of documentation on the
> system catalogues that I might be able to read?

In the Developer's Guide on the web site or in your local installation.

--
Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter