Questions about PostgreSQL implementation details

Поиск
Список
Период
Сортировка
От Julien Delplanque
Тема Questions about PostgreSQL implementation details
Дата
Msg-id 19f96cb5-d20e-e80c-cf0e-7a78bf4e8623@inria.fr
обсуждение исходный текст
Ответы Re: Questions about PostgreSQL implementation details  (Mark Dilger <hornschnorter@gmail.com>)
Re: Questions about PostgreSQL implementation details  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Questions about PostgreSQL implementation details  (Heikki Linnakangas <hlinnaka@iki.fi>)
Re: Questions about PostgreSQL implementation details  (Craig Ringer <craig@2ndquadrant.com>)
Список pgsql-hackers
Hello PostgreSQL hackers,

I hope I am posting on the right mailing-list.

I am actually doing a PhD related to relational databases and software engineering.

I use PostgreSQL for my research.

I have a few questions about the internals of PostgreSQL and I think they require experts knowledge.

I could not find documentation about that in the nice PostgreSQL documentation but maybe I missed something? Tell me if
itis the case.
 

My Questions:

Q1. Are PostgreSQL's meta-description tables (such as pg_class) the "reality" concerning the state of the DB or are
theyjust a virtual representation ?
 

What I would like to know with this question is: would it be possible to implement DDL queries (e.g. CREATE TABLE, DROP
TABLE,CREATE VIEW, ALTER TABLE, etc.) as DML queries that modify the meta-data stored in meta-description tables?
 

For example, something like:

INSERT INTO pg_class [...];

To create a new table (instead of the CREATE TABLE DDL query).

Q1.1 If it is possible, is what is done in reality? I have the feeling that it is not the case and that DDL queries are
implementedin C directly.
 

Q1.2 If it is possible and not done, what is the reason?

--

Q2. Are PostgreSQL's "meta-constraints" (i.e. constraints related to database structure such as "a table can only have
asingle primary key") implemented in C code or via data constraints on PostgreSQL's meta-description tables?
 

I guess, again, they are implemented in C code, but I might be wrong.

Q2.1 If they are not implemented via data constraints on meta-description tables, why ?

Q2.2 Is there somewhere in the documentation a list of such "meta-constraints" implemented by PostgreSQL?


Thanks in advance for answering my questions, any help or pointers to existing documentation will be appreciated.

Cheers,

Julien Delplanque




В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [Proposal] Level4 Warnings show many shadow vars
Следующее
От: Jim Finnerty
Дата:
Сообщение: Re: verbose cost estimate