Re: Get table catalog from pg_indexes
От | Adrian Klaver |
---|---|
Тема | Re: Get table catalog from pg_indexes |
Дата | |
Msg-id | 0dc3be11-c702-f13e-b4a8-769a2a297d37@aklaver.com обсуждение исходный текст |
Ответ на | Re: Get table catalog from pg_indexes (Igor Korot <ikorot01@gmail.com>) |
Список | pgsql-general |
On 11/27/22 10:42, Igor Korot wrote: > Hi, Erik, > > On Sun, Nov 27, 2022 at 11:59 AM Erik Wienhold <ewie@ewie.name> wrote: >> >>> On 27/11/2022 18:22 CET Igor Korot <ikorot01@gmail.com> wrote: >>> >>> 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 >> >> Use SELECT current_database() if you need to know the catalog. >> pg_indexes only covers the current database[1]. > >>From the lin yo referenced: > > [quote] > The view pg_indexes provides access to useful information about each > index in the database. > [/quote] > > It doesn't say anything about "current" DB - only the DB. https://www.postgresql.org/docs/current/catalogs-overview.html "Most system catalogs are copied from the template database during database creation and are thereafter database-specific. A few catalogs are physically shared across all databases in a cluster; these are noted in the descriptions of the individual catalogs." As in: https://www.postgresql.org/docs/current/catalog-pg-database.html "Unlike most system catalogs, pg_database is shared across all databases of a cluster: there is only one copy of pg_database per cluster, not one per database." > > However, I think I can try "SELECT 1 FROM <catalog>.pg_indexes...". > Will this work? > > Thank you. > >> >> [1] https://www.postgresql.org/docs/current/view-pg-indexes.html >> >> -- >> Erik > > -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: