Skip site navigation (1) Skip section navigation (2)

Re: using system catalogs

From: Michael Glaesemann <grzm(at)seespotcode(dot)net>
To: Mija Lee <mija(at)scharp(dot)org>
Cc: pgsql-novice(at)postgresql(dot)org
Subject: Re: using system catalogs
Date: 2007-08-29 19:58:05
Message-ID: 16778518-4F3D-4E2C-AD46-6D3EB94A92DA@seespotcode.net (view raw or flat)
Thread:
Lists: pgsql-novice
On Aug 29, 2007, at 13:26 , Mija Lee wrote:

> I'm definitely a postgres newbie, and was wondering about how much  
> can be done with the system
> catalogs. I'd like to a create table that links up with the  
> pg_database catalog so I can track more
> info on each database (users, associated application, status, etc).

Have you looked a the information schema? Does that provide views to  
information you need? If there's something more specific, you can  
always write views to gather this information for you, possibly  
storing some additional information in other tables, as you've  
alluded to below.

> - I assume I cannot and should not attempt to add fields to  
> pg_database

Yup.

> - I have tried to create a table that uses has a reference to  
> pg_database (datname) which it
> complains about. ERROR:  permission denied: "pg_database" is a  
> system catalog_database(datname));

Yup.

> - I can create another table with a field that matches the datname  
> in pg_database and try to write a
> trigger that inserts into my table when a record is inserted into  
> pg_database, but I have the feeling
> that may also be
> a dead end.

You might also want to look at client apps like pgAdmin III: I'm not  
familiar with them, but they may provide convenient views into the  
information you want.

> On a related note, I'm also trying to find the system table that  
> links database oids with table or
> schema oids, but I can't seem to find it. I know it's there  
> somewhere, but don't see it in the doc.

It sounds like you've been looking at the system catalog  
documentation, but I think you should look pg_database, pg_namespace,  
and pg_class in more depth. I think they provide the information  
you're looking for.

Michael Glaesemann
grzm seespotcode net



In response to

pgsql-novice by date

Next:From: Matthews, JamesDate: 2007-08-30 13:30:56
Subject: Querying a parent table's child schemas
Previous:From: Tom LaneDate: 2007-08-29 18:53:54
Subject: Re: using system catalogs

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group