PostgreSQL overall design

Started by Gnanavel Sover 20 years ago10 messages
#1Gnanavel S
s.gnanavel@gmail.com

Hi All,

Can anyone please tell/point me where I can get the postgresql system layout
(I've an interest to contribute). I would also like to know the files
involved for performing each task ( for eg when doing a select operation
what is exactly happening in postgres along with the files).

I was wandering inside the source for a while and I couldn't get a start
point to go with.

Need a clarification in copydir.c file of src/port directory, In the
following snippet the destination directory is created first then the source
directory is read. Suppose if I don't have permission to read the source,
even then the destination directory would be created.
I just want to know whether there is any reason for doing so?

if (mkdir(todir, S_IRUSR | S_IWUSR | S_IXUSR) != 0)
ereport(ERROR,
(errcode_for_file_access(),
errmsg("could not create directory \"%s\": %m", todir)));

xldir = AllocateDir(fromdir);
if (xldir == NULL)
ereport(ERROR,
(errcode_for_file_access(),
errmsg("could not open directory \"%s\": %m", fromdir)));

--
with thanks & regards,
S.Gnanavel
Satyam Computer Services Ltd.

#2Abhijit Menon-Sen
ams@toroid.org
In reply to: Gnanavel S (#1)
Re: PostgreSQL overall design

At 2005-09-27 15:20:05 +0530, s.gnanavel@gmail.com wrote:

Can anyone please tell/point me where I can get the postgresql system
layout (I've an interest to contribute).

http://www.postgresql.org/developer/coding

And, in particular:

http://www.postgresql.org/docs/faqs.FAQ_DEV.html

-- ams

#3Gnanavel S
s.gnanavel@gmail.com
In reply to: Abhijit Menon-Sen (#2)
Re: PostgreSQL overall design

On 9/27/05, Abhijit Menon-Sen <ams@toroid.org> wrote:

At 2005-09-27 15:20:05 +0530, s.gnanavel@gmail.com wrote:

Can anyone please tell/point me where I can get the postgresql system
layout (I've an interest to contribute).

http://www.postgresql.org/developer/coding

And, in particular:

http://www.postgresql.org/docs/faqs.FAQ_DEV.html

-- ams

Thanks. I'll go thru' the documentation.

--
with regards,
S.Gnanavel

#4Jonah H. Harris
jonah.harris@gmail.com
In reply to: Abhijit Menon-Sen (#2)
Re: PostgreSQL overall design

Were you looking for a call graph?

On 9/27/05, Abhijit Menon-Sen <ams@toroid.org> wrote:

At 2005-09-27 15:20:05 +0530, s.gnanavel@gmail.com wrote:

Can anyone please tell/point me where I can get the postgresql system
layout (I've an interest to contribute).

http://www.postgresql.org/developer/coding

And, in particular:

http://www.postgresql.org/docs/faqs.FAQ_DEV.html

-- ams

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly

--
Respectfully,

Jonah H. Harris, Database Internals Architect
EnterpriseDB Corporation
http://www.enterprisedb.com/

#5Andrew Dunstan
andrew@dunslane.net
In reply to: Gnanavel S (#1)
Re: PostgreSQL overall design

[ -performance removed ]

Gnanavel S wrote:

Need a clarification in copydir.c file of src/port directory, In the
following snippet the destination directory is created first then the
source directory is read. Suppose if I don't have permission to read
the source, even then the destination directory would be created.
I just want to know whether there is any reason for doing so?

Under what circumstances do you imagine this will happen, since the
postmaster user owns all the files and directories?

cheers

andrew

#6Gnanavel S
s.gnanavel@gmail.com
In reply to: Jonah H. Harris (#4)
Re: PostgreSQL overall design

On 9/27/05, Jonah H. Harris <jonah.harris@gmail.com> wrote:

Were you looking for a call graph?

Yes. I want to know the list and sequence of files involved during a call.

On 9/27/05, Abhijit Menon-Sen <ams@toroid.org> wrote:

At 2005-09-27 15:20:05 +0530, s.gnanavel@gmail.com wrote:

Can anyone please tell/point me where I can get the postgresql system
layout (I've an interest to contribute).

http://www.postgresql.org/developer/coding

And, in particular:

http://www.postgresql.org/docs/faqs.FAQ_DEV.html

-- ams

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly

--
Respectfully,

Jonah H. Harris, Database Internals Architect
EnterpriseDB Corporation
http://www.enterprisedb.com/

--
with regards,
S.Gnanavel
Satyam Computer Services Ltd.

#7Gnanavel S
s.gnanavel@gmail.com
In reply to: Andrew Dunstan (#5)
Re: PostgreSQL overall design

On 9/27/05, Andrew Dunstan <andrew@dunslane.net> wrote:

[ -performance removed ]

Gnanavel S wrote:

Need a clarification in copydir.c file of src/port directory, In the
following snippet the destination directory is created first then the
source directory is read. Suppose if I don't have permission to read
the source, even then the destination directory would be created.
I just want to know whether there is any reason for doing so?

Under what circumstances do you imagine this will happen, since the
postmaster user owns all the files and directories?

Understood. But can you explain why it is done in that way as what I said
seems to be standard way of doing it (correct me if I'm wrong).

--
with regards,
S.Gnanavel

#8Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Gnanavel S (#1)
Re: [PERFORM] PostgreSQL overall design

Have you read the developers FAQ?

---------------------------------------------------------------------------

Gnanavel S wrote:

Hi All,

Can anyone please tell/point me where I can get the postgresql system layout
(I've an interest to contribute). I would also like to know the files
involved for performing each task ( for eg when doing a select operation
what is exactly happening in postgres along with the files).

I was wandering inside the source for a while and I couldn't get a start
point to go with.

Need a clarification in copydir.c file of src/port directory, In the
following snippet the destination directory is created first then the source
directory is read. Suppose if I don't have permission to read the source,
even then the destination directory would be created.
I just want to know whether there is any reason for doing so?

if (mkdir(todir, S_IRUSR | S_IWUSR | S_IXUSR) != 0)
ereport(ERROR,
(errcode_for_file_access(),
errmsg("could not create directory \"%s\": %m", todir)));

xldir = AllocateDir(fromdir);
if (xldir == NULL)
ereport(ERROR,
(errcode_for_file_access(),
errmsg("could not open directory \"%s\": %m", fromdir)));

--
with thanks & regards,
S.Gnanavel
Satyam Computer Services Ltd.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
#9Gnanavel S
s.gnanavel@gmail.com
In reply to: Bruce Momjian (#8)
Re: [PERFORM] PostgreSQL overall design

On 9/27/05, Bruce Momjian <pgman@candle.pha.pa.us> wrote:

Have you read the developers FAQ?

Thanks Bruce. I'm going through that.

---------------------------------------------------------------------------

Gnanavel S wrote:

Hi All,

Can anyone please tell/point me where I can get the postgresql system

layout

(I've an interest to contribute). I would also like to know the files
involved for performing each task ( for eg when doing a select operation
what is exactly happening in postgres along with the files).

I was wandering inside the source for a while and I couldn't get a start
point to go with.

Need a clarification in copydir.c file of src/port directory, In the
following snippet the destination directory is created first then the

source

directory is read. Suppose if I don't have permission to read the

source,

even then the destination directory would be created.
I just want to know whether there is any reason for doing so?

if (mkdir(todir, S_IRUSR | S_IWUSR | S_IXUSR) != 0)
ereport(ERROR,
(errcode_for_file_access(),
errmsg("could not create directory \"%s\": %m", todir)));

xldir = AllocateDir(fromdir);
if (xldir == NULL)
ereport(ERROR,
(errcode_for_file_access(),
errmsg("could not open directory \"%s\": %m", fromdir)));

--
with thanks & regards,
S.Gnanavel
Satyam Computer Services Ltd.

--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

--
with regards,
S.Gnanavel

#10Jim C. Nasby
jnasby@pervasive.com
In reply to: Gnanavel S (#6)
Re: PostgreSQL overall design

On Tue, Sep 27, 2005 at 07:00:14PM +0530, Gnanavel S wrote:

On 9/27/05, Jonah H. Harris <jonah.harris@gmail.com> wrote:

Were you looking for a call graph?

Yes. I want to know the list and sequence of files involved during a call.

Total non-coder question, but is there an open-source utility that's
capable of generating that? Seems like a useful piece of documentation
to have. Also seems like it'd be completely impractical to maintain by
hand.
--
Jim C. Nasby, Sr. Engineering Consultant jnasby@pervasive.com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461