Re: Duplicate Index Creation

Поиск
Список
Период
Сортировка
От Raghavendra
Тема Re: Duplicate Index Creation
Дата
Msg-id CA+h6AhhXS30eiX9LCxtqkJ5C=UHkN_HCXumoWR1qh_xx8LK5VA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Duplicate Index Creation  (Samuel Stearns <SStearns@internode.com.au>)
Ответы Re: Duplicate Index Creation  (Samuel Stearns <SStearns@internode.com.au>)
Список pgsql-admin
On Tue, Jul 3, 2012 at 12:48 PM, Samuel Stearns <SStearns@internode.com.au> wrote:

Before and after analyze:

 

select schemaname,relid,indexrelid,relname,indexrelname from

pg_stat_all_indexes where relname='input_transaction_snbs';

 

schemaname |   relid   | indexrelid |        relname         |           indexrelname

------------+-----------+------------+------------------------+----------------------------------

snbs       | 535026046 |  616672654 | input_transaction_snbs | i1

snbs       | 535026046 |  616576519 | input_transaction_snbs | input_transaction_snbs_prod_pkey

(2 rows)

 

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


Seems only one "i1" index here. Because pg_stat_all_indexes view is based on pg_class,pg_index and pg_namespace catalog tables.

SELECT idstat.schemaname AS schema_name,

       idstat.relname AS table_name,

       idstat.indexrelname AS index_name,

       idstat.idx_scan AS times_used,

       idstat.idx_scan AS times_used,

       pg_size_pretty(pg_relation_size(idstat.relid)) AS table_size,

       pg_relation_size(indexrelid) AS index_size,

       n_tup_upd + n_tup_ins + n_tup_del as num_writes

FROM pg_stat_user_indexes AS idstat

JOIN pg_indexes ON indexrelname = indexname

JOIN pg_stat_user_tables AS tabstat ON idstat.relid = tabstat.relid

WHERE idstat.relname = 'input_transaction_snbs'

AND indexdef !~* 'unique'

ORDER BY index_size desc;

 

schema_name |       table_name       | index_name | times_used | table_size | index_size | num_writes

-------------+------------------------+------------+------------+------------+------------+------------

snbs        | input_transaction_snbs | i1         |          0 | 2932 MB    |  304242688 |   10350357

snbs        | input_transaction_snbs | i1         |          0 | 2932 MB    |  304242688 |   10350357

(2 rows)


Ok. A small correction to above query, added schema filter clause in JOIN and indexrelid column. Please try.

SELECT idstat.indexrelid as indexrelid,
       idstat.schemaname AS schema_name,
       idstat.relname AS table_name,
       idstat.indexrelname AS index_name,
       idstat.idx_scan AS times_used,
       idstat.idx_scan AS times_used,
       pg_size_pretty(pg_relation_size(idstat.relid)) AS table_size,
       pg_relation_size(indexrelid) AS index_size,
       n_tup_upd + n_tup_ins + n_tup_del as num_writes
FROM pg_stat_user_indexes AS idstat
JOIN pg_indexes as pi ON indexrelname = indexname and idstat.schemaname = pi.schemaname
JOIN pg_stat_user_tables AS tabstat ON idstat.relid = tabstat.relid
WHERE idstat.relname = 'input_transaction_snbs'
AND indexdef !~* 'unique'
ORDER BY index_size desc;

--Raghav

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

Предыдущее
От: Samuel Stearns
Дата:
Сообщение: Re: Duplicate Index Creation
Следующее
От: Greg Smith
Дата:
Сообщение: Re: replication recovery/startup question