Postgres nie obsługuje indeksów klastrowych w takim sensie, jak w MySql. Może istnieć indeks, który został użyty do zgrupowania tabeli. Możesz to sprawdzić, wysyłając zapytanie do kolumny indisclustered
w katalogu systemowym pg_index.
Przykład:
create table my_table(id serial primary key, str text unique);
select relname, indisclustered
from pg_index i
join pg_class c on c.oid = indexrelid
where indrelid = 'public.my_table'::regclass
relname | indisclustered
------------------+----------------
my_table_str_key | f
my_table_pkey | f
(2 rows)
cluster my_table using my_table_str_key;
select relname, indisclustered
from pg_index i
join pg_class c on c.oid = indexrelid
where indrelid = 'public.my_table'::regclass
relname | indisclustered
------------------+----------------
my_table_str_key | t
my_table_pkey | f
(2 rows)
Przeczytaj w dokumentacji na temat KLASTRA: