pgsql 查询当前索引创建情况
时间: 2024-09-18 16:15:54 浏览: 53
PGSQL常见的问题
在PostgreSQL(pgsql)中,查询当前表的索引信息通常使用系统视图`pg_indexes`或`information_schema.indexes`。以下是查询当前所有索引的基本SQL语句:
```sql
SELECT *
FROM pg_indexes
WHERE schemaname = 'public'; -- 如果在公共模式下
```
如果你想获取特定表的索引信息,可以替换`'public'`为你需要检查的表的schema名(如`your_table_schema`),或者直接指定表名:
```sql
SELECT *
FROM pg_indexes
WHERE tablename = 'your_table_name';
```
在这个查询结果中,你会看到每个索引的相关信息,包括索引名称、表名、列列表、是否唯一等。
如果你只想查看某个列的统计信息,比如B树深度或最近的调整操作,可以查阅`pg_stat_user_index`视图:
```sql
SELECT indexrelid::regclass AS table_name,
indisunique AS is_unique,
indkey,
pg_size_pretty(pg_total_relation_size(indexrelid)) AS index_size,
idx_scan,
idx_tup_read
FROM pg_stat_user_indexes
WHERE tablename = 'your_table_name'
AND attname = 'your_column_name';
```
这里需要将`'your_table_name'`和`'your_column_name'`替换为你关注的实际表名和列名。
阅读全文