A general Q about index

Started by Soroosh Sardariover 12 years ago6 messages
#1Soroosh Sardari
soroosh.sardari@gmail.com

Hi

I want to know how an index is created and used.
actually if you can show to me a simple start point, it would be great.

Regards,
Soroosh Sardari

#2David Johnston
polobo@yahoo.com
In reply to: Soroosh Sardari (#1)
Re: A general Q about index

soroosh sardari wrote

Hi

I want to know how an index is created and used.
actually if you can show to me a simple start point, it would be great.

Regards,
Soroosh Sardari

In the documentation there is a table of contents and listed on that table
is a section named "Indexes".

David J.

--
View this message in context: http://postgresql.1045698.n5.nabble.com/A-general-Q-about-index-tp5763912p5763926.html
Sent from the PostgreSQL - hackers mailing list archive at Nabble.com.

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#3David Johnston
polobo@yahoo.com
In reply to: David Johnston (#2)
Re: A general Q about index

David Johnston wrote

soroosh sardari wrote

Hi

I want to know how an index is created and used.
actually if you can show to me a simple start point, it would be great.

Regards,
Soroosh Sardari

In the documentation there is a table of contents and listed on that table
is a section named "Indexes".

David J.

Since you posted this to hacker you may mean you wish to know how to program
them as oppose to use them in SQL. I have no clue to this regard. If you
did mean "use in SQL" then the documentation is your friend and you also
should not have posted this question to -hackers but to -general instead;
probably should have posted there anyway to begin with and been more clear
as to what you mean by "created and used".

David J.

--
View this message in context: http://postgresql.1045698.n5.nabble.com/A-general-Q-about-index-tp5763912p5763928.html
Sent from the PostgreSQL - hackers mailing list archive at Nabble.com.

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#4soroosh sardari
soroosh.sardari@aut.ac.ir
In reply to: David Johnston (#3)
Re: A general Q about index

On Tue, Jul 16, 2013 at 7:00 PM, David Johnston <polobo@yahoo.com> wrote:

David Johnston wrote

soroosh sardari wrote

Hi

I want to know how an index is created and used.
actually if you can show to me a simple start point, it would be great.

Regards,
Soroosh Sardari

In the documentation there is a table of contents and listed on that

table

is a section named "Indexes".

David J.

Since you posted this to hacker you may mean you wish to know how to
program
them as oppose to use them in SQL. I have no clue to this regard. If you
did mean "use in SQL" then the documentation is your friend and you also
should not have posted this question to -hackers but to -general instead;
probably should have posted there anyway to begin with and been more clear
as to what you mean by "created and used".

David J.

--
View this message in context:
http://postgresql.1045698.n5.nabble.com/A-general-Q-about-index-tp5763912p5763928.html
Sent from the PostgreSQL - hackers mailing list archive at Nabble.com.

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Actually I mean the index in the source code, I want to know how index is
used in the backend for
execution of some query.
sorry my question is a bit ambiguous,
I start to read "src/backend/access/index/genam.c", and I think maybe this
file is not good way to start.
let me write a bunch of question to illustrate my point,
-How create an index for a table with specified field
-How index is stored in a page
-what module is responsible to fetch and swap out index pages
-Is there a kind of abstract class for all variant of index?

#5Soroosh Sardari
soroosh.sardari@gmail.com
In reply to: David Johnston (#3)
Re: A general Q about index

On Tue, Jul 16, 2013 at 7:00 PM, David Johnston <polobo@yahoo.com> wrote:

David Johnston wrote

soroosh sardari wrote

Hi

I want to know how an index is created and used.
actually if you can show to me a simple start point, it would be great.

Regards,
Soroosh Sardari

In the documentation there is a table of contents and listed on that

table

is a section named "Indexes".

David J.

Since you posted this to hacker you may mean you wish to know how to
program
them as oppose to use them in SQL. I have no clue to this regard. If you
did mean "use in SQL" then the documentation is your friend and you also
should not have posted this question to -hackers but to -general instead;
probably should have posted there anyway to begin with and been more clear
as to what you mean by "created and used".

David J.

--
View this message in context:
http://postgresql.1045698.n5.nabble.com/A-general-Q-about-index-tp5763912p5763928.html
Sent from the PostgreSQL - hackers mailing list archive at Nabble.com.

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Actually I mean the index in the source code, I want to know how index is
used in the backend for
execution of some query.
sorry my question is a bit ambiguous,
I start to read "src/backend/access/index/genam.c", and I think maybe this
file is not good way to start.
let me write a bunch of question to illustrate my point,
-How create an index for a table with specified field
-How index is stored in a page
-what module is responsible to fetch and swap out index pages
-Is there a kind of abstract class for all variant of index?

#6Craig Ringer
craig@2ndquadrant.com
In reply to: soroosh sardari (#4)
Re: A general Q about index

On 07/16/2013 11:09 PM, soroosh sardari wrote:

Actually I mean the index in the source code, I want to know how index
is used in the backend for
execution of some query.
sorry my question is a bit ambiguous,
I start to read "src/backend/access/index/genam.c", and I think maybe
this file is not good way to start.
let me write a bunch of question to illustrate my point,
-How create an index for a table with specified field
-How index is stored in a page
-what module is responsible to fetch and swap out index pages
-Is there a kind of abstract class for all variant of index?

Start with the documentation:

http://www.postgresql.org/docs/current/static/internals.html

particularly:

http://www.postgresql.org/docs/current/static/indexam.html
http://www.postgresql.org/docs/current/static/gist.html
http://www.postgresql.org/docs/current/static/catalog-pg-index.html
http://www.postgresql.org/docs/current/static/catalog-pg-am.html

That should give you the ground work to understand the source code a bit
better. Then feel free to return with specific questions you don't feel
are explained by the documentation or code comments and aren't obvious
from the code.
--
Craig Ringer http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers