INFORMATION_SCHEMA is what should be exposed to the end-users of PostgreSQL.
Pg_schema (for lack of a better name for internal metadata) can be useful as well for all sorts of special purposes. Probably, INFORMATION_SCHEMA (as designed by the SQL Standards committee) does not need to worry about table inheritance, for example. The only danger I see is Pg_schema forging ahead and INFORMATION_SCHEMA lacking some crucial piece of data. Pg_schema should NOT be the end-user database catalog. I would even advocate hiding it from anything but internal processes. Anything that is totally crucial as a piece of functionality should be added to INFORMATION_SCHEMA as a kind of enhancement, if it cannot be stored in that schema as-is. I suspect that: 1. There is not a whole lot of stuff that cannot be directly stored in the INFORMATION_SCHEMA location without modifying it. 2. Almost all of the information that cannot fit will be useful to other database systems as well, and should be suggested to the ANSI/ISO committee. Since INFORMATION_SCHEMA is a very new idea (only two adopters that I know of so far) I expect it will need to grow and PostgreSQL could be one of the contributors. Whether the enhancements are accepted or not, it would be good to at least attempt to get them noticed. 3. Of the fragment that does not fall under 1 and 2, it should be a carefully documented extension that lives in the same place (INFORMATION_SCHEMA) so that we know where to look to find it. > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:pgsql-hackers- > [EMAIL PROTECTED] On Behalf Of elein > Sent: Thursday, May 05, 2005 4:55 PM > To: PostgreSQL-development > Cc: Josh Berkus; Peter Eisentraut > Subject: Re: [HACKERS] Views, views, views! (long) > > There are several things to address in the flurry of messages. > > The first thing that the qa/support team did at Illustra was to > write a series of views on the system catalog. It was the most > pressing thing to do. Every single db engineer probably has one > or two or seven views to look at objects in PostgreSQL. > > I have seen one decent schema diagram of > the system catalogs and have despaired at creating one myself even > though I know the catalogs pretty well. Using the -E option > on psql does not even help much anymore because the queries are > so complex they've been broken into smaller queries even though > one should suffice. The \ options have improved but some, like > df are still useless. Asking users to create their own views > is not very user friendly. > > I have tried and modestly succeeded to steer the newview project to > answer people's questions. This has also been the point of the > system catalog views I have published on General Bits. These have > been views I've written for my own toolset. > > What are my constraints? > What functions operate on a particular data type? > What are the functions underlying this aggregate? > What foreign keys link to table x? > > These are just small samples which may or may not be answered > by our set of views so far. There are lots of questions like > this that are difficult for most people to get the answers to, > yet the answers are crucial to managing the design of their > database. > > The Information Schema is very good. But it is a set of views > For All Databases and does not answer PostgreSQL specific questions. > A set of views specifically for PostgreSQL, without the restraint of > highly funded committees, is what is needed. Still we should, as > Peter suggested, borrow terminology and techniques where ever possible > and maintain some kind of consistency. > > There is no question in my mind that a simple SQL interface to > answering the most pressing questions regarding the database > is necessary. They may have to be updated with the system > catalogs, but as Tom said, no one changes the catalogs unless it > is absolutely necessary. > > Usability is a feature we don't put enough emphasis on, ever. > New system views would help people be more productive with > PostgreSQL, enable new interfaces to have better packaged information > and help all of the people required to support a PostgreSQL database. > > Elein > > ============================================================= > [EMAIL PROTECTED] Varlena, LLC www.varlena.com > (510)655-2584(o) (510)543-6079(c) > PostgreSQL Consulting, Support & Training > > PostgreSQL General Bits http://www.varlena.com/GeneralBits/ > ============================================================== > I have always depended on the [QA] of strangers. > > > ---------------------------(end of broadcast)--------------------------- > TIP 6: Have you searched our list archives? > > http://archives.postgresql.org ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster