Обсуждение: Question

Поиск
Список
Период
Сортировка

Question

От
"Mark Steben"
Дата:

I am very new to PostgreSQL.  Is it appropriate to pose questions to this email list?

 

I am trying to come up with a query that will list the names of the database indexes that

Have been chosen as clustering indexes.  I know I can get the INDEXRELID from PG.INDEX

But have yet to figure out how to get the index name from there.  Any help would be appreciated.

And, if this is not an appropriate forum to ask questions please tell me.

 

Thank you,

Mark Steben

 

AutoRevenue

Re: Question

От
Richard Broersma Jr
Дата:
> I am very new to PostgreSQL.  Is it appropriate to pose questions to this
> email list?
> I am trying to come up with a query that will list the names of the database
> indexes that
>
> Have been chosen as clustering indexes.  I know I can get the INDEXRELID
> from PG.INDEX
>
> But have yet to figure out how to get the index name from there.  Any help
> would be appreciated.
>
> And, if this is not an appropriate forum to ask questions please tell me.

I assume this is an appropiate list for this question.  I am sure that pg_general would have
worked also.  With-out knowing the postgresql pg_* schema very well I can be difficult to
determine queries that will give your this sort of information.  In my case I like to cheat.

1) I turn on statement logging.
2) I issue a commands like \d from psql interface
3) Then, I look at the pg_logs to see what sql statement was actually created from "\d"

In your case I would first determine which psql function will give you the information you want
and this use it to give you the query you need.

I hope this helps.

Regards,

Richard Broersma Jr.

Re: Question

От
Jeff Frost
Дата:
On Tue, 7 Nov 2006, Mark Steben wrote:

> I am very new to PostgreSQL.  Is it appropriate to pose questions to this
> email list?

It might be better on pgsql-sql, but I'm not sure.

> I am trying to come up with a query that will list the names of the database
> indexes that
>
> Have been chosen as clustering indexes.  I know I can get the INDEXRELID
> from PG.INDEX
>
> But have yet to figure out how to get the index name from there.  Any help
> would be appreciated.
>
> And, if this is not an appropriate forum to ask questions please tell me.

You want to join on pg_class.oid.  You can see the info on pg_index here in
the docs: http://www.postgresql.org/docs/8.1/static/catalog-pg-index.html

select i.indexrelid,c.relname from pg_index i, pg_class c where i.indexrelid =
c.oid;

will likely give you what you're after.

--
Jeff Frost, Owner     <jeff@frostconsultingllc.com>
Frost Consulting, LLC     http://www.frostconsultingllc.com/
Phone: 650-780-7908    FAX: 650-649-1954

Re: Question

От
Scott Marlowe
Дата:
On Tue, 2006-11-07 at 14:27, Richard Broersma Jr wrote:
> > I am very new to PostgreSQL.  Is it appropriate to pose questions to this
> > email list?
> > I am trying to come up with a query that will list the names of the database
> > indexes that
> >
> > Have been chosen as clustering indexes.  I know I can get the INDEXRELID
> > from PG.INDEX
> >
> > But have yet to figure out how to get the index name from there.  Any help
> > would be appreciated.
> >
> > And, if this is not an appropriate forum to ask questions please tell me.
>
> I assume this is an appropiate list for this question.  I am sure that pg_general would have
> worked also.  With-out knowing the postgresql pg_* schema very well I can be difficult to
> determine queries that will give your this sort of information.  In my case I like to cheat.
>
> 1) I turn on statement logging.
> 2) I issue a commands like \d from psql interface
> 3) Then, I look at the pg_logs to see what sql statement was actually created from "\d"

Easier way to cheat:

psql -E dbname

then all the \d commands and what not will spill their secrets right on
the screen.  :)

Re: Question

От
Richard Broersma Jr
Дата:
---> Easier way to cheat:
>
> psql -E dbname
>
> then all the \d commands and what not will spill their secrets right on
> the screen.  :)

Cool,  thanks for the tip.


Re: Question

От
"Mark Steben"
Дата:
Thank you, Jeff.  That worked like a champ.  My initial problem
Had to do with not understanding the concept of OID datatypes.
My next learning task is to read up on OID.

Thanks again, Mark

-----Original Message-----
From: jeff@frostconsultingllc.com [mailto:jeff@frostconsultingllc.com]
Sent: Tuesday, November 07, 2006 3:29 PM
To: Mark Steben
Cc: pgsql-admin@postgresql.org
Subject: Re: [ADMIN] Question

On Tue, 7 Nov 2006, Mark Steben wrote:

> I am very new to PostgreSQL.  Is it appropriate to pose questions to this
> email list?

It might be better on pgsql-sql, but I'm not sure.

> I am trying to come up with a query that will list the names of the
database
> indexes that
>
> Have been chosen as clustering indexes.  I know I can get the INDEXRELID
> from PG.INDEX
>
> But have yet to figure out how to get the index name from there.  Any help
> would be appreciated.
>
> And, if this is not an appropriate forum to ask questions please tell me.

You want to join on pg_class.oid.  You can see the info on pg_index here in
the docs: http://www.postgresql.org/docs/8.1/static/catalog-pg-index.html

select i.indexrelid,c.relname from pg_index i, pg_class c where i.indexrelid
=
c.oid;

will likely give you what you're after.

--
Jeff Frost, Owner     <jeff@frostconsultingllc.com>
Frost Consulting, LLC     http://www.frostconsultingllc.com/
Phone: 650-780-7908    FAX: 650-649-1954


Re: Question

От
adey
Дата:
I think the following query should list clustered indexes for you:-
 
select * from pg_index
where indisclustered = 't'

 
On 11/8/06, Mark Steben <msteben@autorevenue.com> wrote:
Thank you, Jeff.  That worked like a champ.  My initial problem
Had to do with not understanding the concept of OID datatypes.
My next learning task is to read up on OID.

Thanks again, Mark

-----Original Message-----
From: jeff@frostconsultingllc.com [mailto: jeff@frostconsultingllc.com]
Sent: Tuesday, November 07, 2006 3:29 PM
To: Mark Steben
Cc: pgsql-admin@postgresql.org
Subject: Re: [ADMIN] Question

On Tue, 7 Nov 2006, Mark Steben wrote:

> I am very new to PostgreSQL.  Is it appropriate to pose questions to this
> email list?

It might be better on pgsql-sql, but I'm not sure.

> I am trying to come up with a query that will list the names of the
database
> indexes that
>
> Have been chosen as clustering indexes.  I know I can get the INDEXRELID
> from PG.INDEX
>
> But have yet to figure out how to get the index name from there.  Any help
> would be appreciated.
>
> And, if this is not an appropriate forum to ask questions please tell me.

You want to join on pg_class.oid.  You can see the info on pg_index here in
the docs: http://www.postgresql.org/docs/8.1/static/catalog-pg-index.html

select i.indexrelid,c.relname from pg_index i, pg_class c where i.indexrelid
=
c.oid;

will likely give you what you're after.

--
Jeff Frost, Owner       <jeff@frostconsultingllc.com>
Frost Consulting, LLC   http://www.frostconsultingllc.com/
Phone: 650-780-7908     FAX: 650-649-1954


---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings