Thread: \di+ cannot show the same name indexes
Hi,
After I create the same name index on the heap table and the temporary table, I can only get the temporary table's index by \di+.create table t1(c1 int);
create temp table t2(c1 int);
create index idx1 on t1(c1);
\di+ List of relations Schema | Name | Type | Owner | Table | Size | Description
--------+------+-------+-------+-------+--------+------------- public | idx1 | index | zhrt | t1 | 128 kB |
(1 row)
create index idx1 on t2(c1);
\di+ List of relations Schema | Name | Type | Owner | Table | Size | Description
-------------+------+-------+-------+-------+--------+------------- pg_temp_298 | idx1 | index | zhrt | t2 | 128 kB |
(1 row)
Is it the expected bavior?
Hi, On Thu, Jul 13, 2023 at 03:17:17PM +0800, フブキダイスキ wrote: > After I create the same name index on the heap table and the temporary > table, I can only get the temporary table's index by \di+. > > create table t1(c1 int); > create temp table t2(c1 int); > > create index idx1 on t1(c1); > \di+ > List of relations > Schema | Name | Type | Owner | Table | Size | Description > --------+------+-------+-------+-------+--------+------------- > public | idx1 | index | zhrt | t1 | 128 kB | > (1 row) > > create index idx1 on t2(c1); > \di+ > List of relations > Schema | Name | Type | Owner | Table | Size | Description > -------------+------+-------+-------+-------+--------+------------- > pg_temp_298 | idx1 | index | zhrt | t2 | 128 kB | > (1 row) > > Is it the expected bavior? Yes, since the pg_temp schema has higher priority and those command will not show multiple objects for the same non qualified name. You can either change the priority with something like SET search_path TO public, pg_temp; to look at public (or any other schema) first, or explicitly ask for the schema you want, e.g. \di+ public.*