On 11/27/22 13:31, Ron wrote:
> On 11/27/22 11:22, Igor Korot wrote:
>> Hi, ALL,
>> Table pg_indexes does not contain a field for a catalog.
>>
>> So how do I get that?
>>
>> SELECT 1 FROM pg_indexes WHERE indexname = $1 AND tablename = $2 AND
>> schemaname = $3
>
> You did not look hard enough, or Google "postgresql pg_indexes".
>
> test=# \d pg_indexes
> View "pg_catalog.pg_indexes"
> Column | Type | Collation | Nullable | Default
> ------------+------+-----------+----------+---------
> *schemaname* | name | | |
> *tablename* | name | | |
> *indexname* | name | | |
> tablespace | name | | |
> indexdef | text | | |
>
> https://www.postgresql.org/docs/current/view-pg-indexes.html
What the OP was looking for a field in the above that was catalogname or
datname per:
https://www.postgresql.org/docs/current/catalog-pg-database.html
Table "pg_catalog.pg_database"
Column | Type | Collation | Nullable | Default
---------------+-----------+-----------+----------+---------
oid | oid | | not null |
datname | name | | not null |
...
In other words to filter the pg_index results by database/catalog name.
Since pg_index is scoped to the database you are in when you do the
query that is not going to happen.
>
>
>
>
> --
> Angular momentum makes the world go 'round.
--
Adrian Klaver
adrian.klaver@aklaver.com