有没有办法在 PostgreSQL 中显示索引的创建语句

Ama*_*rus 22 postgresql index

我需要在 PostgreSQL 中重新创建一个索引膨胀的索引。因为我需要索引在创建时可用,所以我不能使用 REINDEX。我将使用新名称重新创建索引,然后删除旧名称。有什么方法可以查看用于创建索引的 SQL 语句,以便我可以复制它?

Tom*_*omH 35

其实有,只要查询pg_indexes系统目录视图如下:

SELECT indexdef FROM pg_indexes WHERE indexname = '...'
Run Code Online (Sandbox Code Playgroud)

并且您应该取回用于定义它的 SQL 语句。

  • 请注意,索引名称仅*每个架构*是唯一的。您可能想要添加`AND schemaname = 'myschema'`。 (5认同)