If you are logged in as a user whose search_path includes a schema the user has USAGE privilege on, use:
SELECT * FROM pg_indexes WHERE schemaname = current_schema();
For indexes on a specific table, in a specific schema, log onto the correct database as a privileged user:
[postgres@server1 ~]$ psql db01 db01=# \conninfo You are connected to database "db01" as user "postgres" via socket in "/run/postgresql" at port "5432".Execute the following SQL:
SELECT
tablename,
indexname,
indexdef
FROM
pg_indexes
WHERE
schemaname = 'myuser'
and tablename='mytable'
ORDER BY
tablename,
indexname;
| tablename | indexname | indexdef |
|---|---|---|
| mytable | idx1 | CREATE INDEX idx1 ON myschema.mytableUSING btree (col1, col2) |
| mytable | idx2 | CREATE INDEX idx2 ON myschema.mytable USING btree (col3) |
Or use the psql command \d mytable, which lists the indexes after the description of the table columns
\d mytable
Indexes:
"pk_mytable" PRIMARY KEY, btree (col1)
"idx1" btree (col1, col2)
"idx2" btree (col3)
"idx3" btree (col3, col4)
No comments:
Post a Comment