Thread: A general Q about index

A general Q about index

From
Soroosh Sardari
Date:
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

Re: A general Q about index

From
David Johnston
Date:
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.



Re: A general Q about index

From
David Johnston
Date:
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.



Re: A general Q about index

From
Soroosh Sardari
Date:



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?

Re: A general Q about index

From
soroosh sardari
Date:



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?

Re: A general Q about index

From
Craig Ringer
Date:
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