postgreSQL 中 GIN 索引的大小
Size of a GIN index in postgreSQL
我已经在 Django 中创建了一个模型。
class MyModel(models.Model):
features = TextField(blank=True, default='')
有几种可能的方法可以将数据存储在 feature
字段中。下面是一些示例。
feature1;feature2
feature1, feature2
feature1,feature2
等等。我使用 migrations.RunSQL()
为该字段创建了一个 GIN 索引(感谢下面的 )。 postgreSQL 命令如下所示
CREATE INDEX features_search_idx ON "mymodel" USING gin (regexp_split_to_array("mymodel"."features", '[,;\s]+'));
现在我需要检查在我的数据库中创建的索引的大小。我尝试使用以下命令来做到这一点
SELECT pg_size_pretty (pg_indexes_size("mymodel"."features_search_idx"));
SELECT pg_size_pretty(pg_indexes_size("features_search_idx")) FROM "mymodel";
后一个失败 ERROR: column "features_search_idx" does not exist
,前一个失败 ERROR: missing FROM-clause entry for table "mymodel"
。
如何查看索引大小?
pg_indexes_size
接受类型为 regclass
的参数,即一个对象 ID,表示为对象名称的字符串。因此,如果您不提供对象 ID,则必须提供 string(单引号),即 table:
的名称
SELECT pg_size_pretty (pg_indexes_size('mymodel.features_search_idx'));
我已经在 Django 中创建了一个模型。
class MyModel(models.Model):
features = TextField(blank=True, default='')
有几种可能的方法可以将数据存储在 feature
字段中。下面是一些示例。
feature1;feature2
feature1, feature2
feature1,feature2
等等。我使用 migrations.RunSQL()
为该字段创建了一个 GIN 索引(感谢下面的
CREATE INDEX features_search_idx ON "mymodel" USING gin (regexp_split_to_array("mymodel"."features", '[,;\s]+'));
现在我需要检查在我的数据库中创建的索引的大小。我尝试使用以下命令来做到这一点
SELECT pg_size_pretty (pg_indexes_size("mymodel"."features_search_idx"));
SELECT pg_size_pretty(pg_indexes_size("features_search_idx")) FROM "mymodel";
后一个失败 ERROR: column "features_search_idx" does not exist
,前一个失败 ERROR: missing FROM-clause entry for table "mymodel"
。
如何查看索引大小?
pg_indexes_size
接受类型为 regclass
的参数,即一个对象 ID,表示为对象名称的字符串。因此,如果您不提供对象 ID,则必须提供 string(单引号),即 table:
SELECT pg_size_pretty (pg_indexes_size('mymodel.features_search_idx'));