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.kla...@aklaver.com



Reply via email to